changeset 150:f2e04420fd6c

reworked overrides and superclass aliases
author Frank Benoit <benoit@tionex.de>
date Thu, 31 Jan 2008 19:04:56 +0100
parents 2eb6d07425c9
children 29cb72deba3d
files dwt/accessibility/AccessibleControlEvent.d dwt/accessibility/AccessibleTextEvent.d dwt/custom/AnimatedProgress.d dwt/custom/CBanner.d dwt/custom/CCombo.d dwt/custom/CLabel.d dwt/custom/CTabFolder.d dwt/custom/CTabFolderEvent.d dwt/custom/CTabItem.d dwt/custom/SashForm.d dwt/custom/SashFormData.d dwt/custom/ScrolledComposite.d dwt/custom/StackLayout.d dwt/custom/StyledText.d dwt/custom/StyledTextDropTargetEffect.d dwt/custom/StyledTextListener.d dwt/custom/TableCursor.d dwt/custom/TableEditor.d dwt/custom/TableTree.d dwt/custom/TableTreeEditor.d dwt/custom/TableTreeItem.d dwt/custom/TreeEditor.d dwt/custom/ViewForm.d dwt/dnd/ByteArrayTransfer.d dwt/dnd/DNDListener.d dwt/dnd/TableDragSourceEffect.d dwt/dnd/TableDropTargetEffect.d dwt/dnd/TreeDragSourceEffect.d dwt/dnd/TreeDropTargetEffect.d dwt/dwthelper/System.d dwt/events/KeyEvent.d dwt/events/MenuDetectEvent.d dwt/events/MouseEvent.d dwt/events/PaintEvent.d dwt/events/SelectionEvent.d dwt/events/ShellEvent.d dwt/events/TraverseEvent.d dwt/events/TypedEvent.d dwt/events/VerifyEvent.d dwt/graphics/Color.d dwt/graphics/Cursor.d dwt/graphics/Font.d dwt/graphics/FontData.d dwt/graphics/FontMetrics.d dwt/graphics/GC.d dwt/graphics/Image.d dwt/graphics/ImageLoaderEvent.d dwt/graphics/Path.d dwt/graphics/Pattern.d dwt/graphics/Point.d dwt/graphics/RGB.d dwt/graphics/Region.d dwt/graphics/TextLayout.d dwt/graphics/TextStyle.d dwt/graphics/Transform.d dwt/internal/LONG.d dwt/internal/image/JPEGAppn.d dwt/internal/image/JPEGArithmeticConditioningTable.d dwt/internal/image/JPEGComment.d dwt/internal/image/JPEGEndOfImage.d dwt/internal/image/JPEGFixedSizeSegment.d dwt/internal/image/JPEGFrameHeader.d dwt/internal/image/JPEGHuffmanTable.d dwt/internal/image/JPEGQuantizationTable.d dwt/internal/image/JPEGRestartInterval.d dwt/internal/image/JPEGScanHeader.d dwt/internal/image/JPEGStartOfImage.d dwt/internal/image/LEDataInputStream.d dwt/internal/image/LEDataOutputStream.d dwt/internal/image/PngChunk.d dwt/internal/image/PngDecodingDataStream.d dwt/internal/image/PngInputStream.d dwt/internal/image/PngTrnsChunk.d dwt/layout/FillLayout.d dwt/layout/FormAttachment.d dwt/layout/FormData.d dwt/layout/FormLayout.d dwt/layout/GridData.d dwt/layout/GridLayout.d dwt/layout/RowData.d dwt/layout/RowLayout.d dwt/printing/Printer.d dwt/printing/PrinterData.d dwt/widgets/Button.d dwt/widgets/Canvas.d dwt/widgets/Combo.d dwt/widgets/Composite.d dwt/widgets/Control.d dwt/widgets/CoolBar.d dwt/widgets/CoolItem.d dwt/widgets/Decorations.d dwt/widgets/Display.d dwt/widgets/Event.d dwt/widgets/ExpandBar.d dwt/widgets/ExpandItem.d dwt/widgets/Group.d dwt/widgets/Label.d dwt/widgets/Link.d dwt/widgets/List.d dwt/widgets/MenuItem.d dwt/widgets/Sash.d dwt/widgets/Scale.d dwt/widgets/Scrollable.d dwt/widgets/Shell.d dwt/widgets/Slider.d dwt/widgets/Spinner.d dwt/widgets/TabFolder.d dwt/widgets/TabItem.d dwt/widgets/Table.d dwt/widgets/TableColumn.d dwt/widgets/TableItem.d dwt/widgets/Text.d dwt/widgets/ToolBar.d dwt/widgets/ToolItem.d dwt/widgets/TrayItem.d dwt/widgets/Tree.d dwt/widgets/TreeColumn.d dwt/widgets/TreeItem.d dwt/widgets/Widget.d
diffstat 119 files changed, 500 insertions(+), 374 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/accessibility/AccessibleControlEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/accessibility/AccessibleControlEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -59,7 +59,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+public override char[] toString () {
     return Format( "AccessibleControlEvent {childID={} accessible={} x={} y={} width={} heigth={} detail={} result={}",
         childID, accessible, x, y, width, height, detail, result);
 }
--- a/dwt/accessibility/AccessibleTextEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/accessibility/AccessibleTextEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -53,7 +53,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+public override char[] toString () {
     return Format( "AccessibleTextEvent {{childID={} offset={} length={}}",
         childID,
         offset,
--- a/dwt/custom/AnimatedProgress.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/AnimatedProgress.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2004 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -41,6 +41,8 @@
  */
 public class AnimatedProgress : Canvas {
 
+    alias Canvas.computeSize computeSize;
+
     static const int SLEEP = 70;
     static const int DEFAULT_WIDTH = 160;
     static const int DEFAULT_HEIGHT = 18;
@@ -121,7 +123,7 @@
     showStripes = false;
     redraw();
 }
-public Point computeSize(int wHint, int hHint, bool changed) {
+public override Point computeSize(int wHint, int hHint, bool changed) {
     checkWidget();
     Point size = null;
     if (orientation is DWT.HORIZONTAL) {
--- a/dwt/custom/CBanner.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CBanner.d	Thu Jan 31 19:04:56 2008 +0100
@@ -184,7 +184,7 @@
     checkWidget();
     return bottom;
 }
-public Rectangle getClientArea() {
+public override Rectangle getClientArea() {
     return new Rectangle(0, 0, 0, 0);
 }
 
@@ -418,7 +418,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget();
     return;
 }
--- a/dwt/custom/CCombo.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CCombo.d	Thu Jan 31 19:04:56 2008 +0100
@@ -77,6 +77,8 @@
  */
 public final class CCombo : Composite {
 
+    alias Composite.computeSize computeSize;
+
     Text text;
     List list;
     int visibleItemCount = 5;
@@ -370,7 +372,7 @@
     }
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     int width = 0, height = 0;
     char[][] items = list.getItems ();
@@ -563,7 +565,7 @@
     }
     return null;
 }
-public Control [] getChildren () {
+public override Control [] getChildren () {
     checkWidget();
     return new Control [0];
 }
@@ -652,7 +654,7 @@
     checkWidget ();
     return list.getItems ();
 }
-public Menu getMenu() {
+public override Menu getMenu() {
     return text.getMenu();
 }
 /**
@@ -688,7 +690,7 @@
     checkWidget ();
     return list.getSelectionIndex ();
 }
-public int getStyle () {
+public override int getStyle () {
     int style = super.getStyle ();
     style &= ~DWT.READ_ONLY;
     if (!text.getEditable()) style |= DWT.READ_ONLY;
@@ -941,7 +943,7 @@
 bool isDropped () {
     return popup.getVisible ();
 }
-public bool isFocusControl () {
+public override bool isFocusControl () {
     checkWidget();
     if (text.isFocusControl () || arrow.isFocusControl () || list.isFocusControl () || popup.isFocusControl ()) {
         return true;
@@ -1089,13 +1091,13 @@
         default:
     }
 }
-public void redraw () {
+public override void redraw () {
     super.redraw();
     text.redraw();
     arrow.redraw();
     if (popup.isVisible()) list.redraw();
 }
-public void redraw (int x, int y, int width, int height, bool all) {
+public override void redraw (int x, int y, int width, int height, bool all) {
     super.redraw(x, y, width, height, true);
 }
 
@@ -1269,7 +1271,7 @@
         }
     }
 }
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     super.setBackground(color);
     background = color;
     if (text !is null) text.setBackground(color);
@@ -1292,25 +1294,25 @@
     checkWidget ();
     text.setEditable(editable);
 }
-public void setEnabled (bool enabled) {
+public override void setEnabled (bool enabled) {
     super.setEnabled(enabled);
     if (popup !is null) popup.setVisible (false);
     if (text !is null) text.setEnabled(enabled);
     if (arrow !is null) arrow.setEnabled(enabled);
 }
-public bool setFocus () {
+public override bool setFocus () {
     checkWidget();
     if (isFocusControl ()) return true;
     return text.setFocus ();
 }
-public void setFont (Font font) {
+public override void setFont (Font font) {
     super.setFont (font);
     this.font = font;
     text.setFont (font);
     list.setFont (font);
     internalLayout (true);
 }
-public void setForeground (Color color) {
+public override void setForeground (Color color) {
     super.setForeground(color);
     foreground = color;
     if (text !is null) text.setForeground(color);
@@ -1373,11 +1375,11 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget ();
     return;
 }
-public void setMenu(Menu menu) {
+public override void setMenu(Menu menu) {
     text.setMenu(menu);
 }
 /**
@@ -1456,14 +1458,14 @@
     text.setTextLimit (limit);
 }
 
-public void setToolTipText (char[] string) {
+public override void setToolTipText (char[] string) {
     checkWidget();
     super.setToolTipText(string);
     arrow.setToolTipText (string);
     text.setToolTipText (string);
 }
 
-public void setVisible (bool visible) {
+public override void setVisible (bool visible) {
     super.setVisible(visible);
     /*
      * At this point the widget may have been disposed in a FocusOut event.
--- a/dwt/custom/CLabel.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CLabel.d	Thu Jan 31 19:04:56 2008 +0100
@@ -66,6 +66,8 @@
  */
 public class CLabel : Canvas {
 
+    alias Canvas.computeSize computeSize;
+
     /** Gap between icon and text */
     private static const int GAP = 5;
     /** Left and right margins */
@@ -174,7 +176,7 @@
 //  }
 //}
 
-public Point computeSize(int wHint, int hHint, bool changed) {
+public override Point computeSize(int wHint, int hHint, bool changed) {
     checkWidget();
     Point e = getTotalSize(image, text);
     if (wHint is DWT.DEFAULT){
@@ -267,7 +269,7 @@
 
     return size;
 }
-public int getStyle () {
+public override int getStyle () {
     int style = super.getStyle();
     switch (align_) {
         case DWT.RIGHT: style |= DWT.RIGHT; break;
@@ -287,7 +289,7 @@
     //checkWidget();
     return text;
 }
-public char[] getToolTipText () {
+public override char[] getToolTipText () {
     checkWidget();
     return appToolTipText;
 }
@@ -570,7 +572,7 @@
     }
 }
 
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     super.setBackground (color);
     // Are these settings the same as before?
     if (backgroundImage is null &&
@@ -729,7 +731,7 @@
     redraw();
 
 }
-public void setFont(Font font) {
+public override void setFont(Font font) {
     super.setFont(font);
     redraw();
 }
@@ -770,7 +772,7 @@
         redraw();
     }
 }
-public void setToolTipText (char[] string) {
+public override void setToolTipText (char[] string) {
     super.setToolTipText (string);
     appToolTipText = super.getToolTipText();
 }
--- a/dwt/custom/CTabFolder.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CTabFolder.d	Thu Jan 31 19:04:56 2008 +0100
@@ -589,7 +589,7 @@
         color.dispose();
     }
 }
-public Rectangle computeTrim (int x, int y, int width, int height) {
+public override Rectangle computeTrim (int x, int y, int width, int height) {
     checkWidget();
     int trimX = x - marginWidth - highlight_margin - borderLeft;
     int trimWidth = width + borderLeft + borderRight + 2*marginWidth + 2*highlight_margin;
@@ -1209,7 +1209,7 @@
     checkWidget();
     return borderLeft is 1;
 }
-public Rectangle getClientArea() {
+public override Rectangle getClientArea() {
     checkWidget();
     if (minimized) return new Rectangle(xClient, yClient, 0, 0);
     Point size = getSize();
@@ -1532,7 +1532,7 @@
     return single;
 }
 
-public int getStyle() {
+public override int getStyle() {
     int style = super.getStyle();
     style &= ~(DWT.TOP | DWT.BOTTOM);
     style |= onBottom ? DWT.BOTTOM : DWT.TOP;
@@ -2482,7 +2482,7 @@
     removeListener(DWT.Selection, listener);
     removeListener(DWT.DefaultSelection, listener);
 }
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     super.setBackground(color);
     redraw();
 }
@@ -2809,7 +2809,7 @@
         redraw(left, top, right - left, tabHeight, false);
     }
 }
-public void setFont(Font font) {
+public override void setFont(Font font) {
     checkWidget();
     if (font !is null && font==getFont()) return;
     super.setFont(font);
@@ -2819,7 +2819,7 @@
         redraw();
     }
 }
-public void setForeground (Color color) {
+public override void setForeground (Color color) {
     super.setForeground(color);
     redraw();
 }
@@ -3087,7 +3087,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget();
     return;
 }
--- a/dwt/custom/CTabFolderEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CTabFolderEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -81,7 +81,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     char[] string = super.toString ();
     return string[0.. $ - 1] // remove trailing '}'
         ~ " item=" ~ to!(char[])(item)
--- a/dwt/custom/CTabItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/CTabItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -170,7 +170,7 @@
     return text[ 0 .. 1 ];
 }
 
-public void dispose() {
+public override void dispose() {
     if (isDisposed ()) return;
     //if (!isValidThread ()) error (DWT.ERROR_THREAD_INVALID_ACCESS);
     parent.destroyItem(this);
@@ -952,7 +952,7 @@
         parent.redrawTabs();
     }
 }
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget();
     if (image !is null && image.isDisposed ()) {
         DWT.error(DWT.ERROR_INVALID_ARGUMENT);
@@ -996,7 +996,7 @@
         parent.redrawTabs();
     }
 }
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget();
     if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT);
     if (string==getText()) return;
--- a/dwt/custom/SashForm.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/SashForm.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -110,7 +110,7 @@
     //checkWidget();
     return (sashStyle & DWT.VERTICAL) !is 0 ? DWT.HORIZONTAL : DWT.VERTICAL;
 }
-public int getStyle() {
+public override int getStyle() {
     int style = super.getStyle();
     style |= getOrientation() is DWT.VERTICAL ? DWT.VERTICAL : DWT.HORIZONTAL;
     if ((sashStyle & DWT.SMOOTH) !is 0) style |= DWT.SMOOTH;
@@ -291,14 +291,14 @@
     }
     layout(false);
 }
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     super.setBackground(color);
     background = color;
     for (int i = 0; i < sashes.length; i++) {
         sashes[i].setBackground(background);
     }
 }
-public void setForeground (Color color) {
+public override void setForeground (Color color) {
     super.setForeground(color);
     foreground = color;
     for (int i = 0; i < sashes.length; i++) {
@@ -320,7 +320,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget();
     return;
 }
--- a/dwt/custom/SashFormData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/SashFormData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -32,7 +32,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+public override char[] toString () {
     return getName()~" {weight="~to!(char[])(weight)~"}"; //$NON-NLS-2$
 }
 }
--- a/dwt/custom/ScrolledComposite.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/ScrolledComposite.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -511,7 +511,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget();
     return;
 }
--- a/dwt/custom/StackLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/StackLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -141,7 +141,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName ()~" {";
     if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" ";
     if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" ";
--- a/dwt/custom/StyledText.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/StyledText.d	Thu Jan 31 19:04:56 2008 +0100
@@ -143,6 +143,9 @@
  * </p>
  */
 public class StyledText : Canvas {
+
+    alias Canvas.computeSize computeSize;
+
     static const char TAB = '\t';
     static const char[] PlatformLineDelimiter = tango.io.FileConst.FileConst.NewlineString;
     static const int BIDI_CARET_WIDTH = 3;
@@ -713,6 +716,9 @@
      * </p>
      */
     class RTFWriter : TextWriter {
+
+        alias TextWriter.write write;
+
         static const int DEFAULT_FOREGROUND = 0;
         static const int DEFAULT_BACKGROUND = 1;
         Color[] colorTable;
@@ -740,7 +746,7 @@
      * <b>NOTE:</b>  <code>toString()</code> does not return a valid RTF string until
      * <code>close()</code> has been called.
      */
-    public void close() {
+    public override void close() {
         if (!isClosed()) {
             writeHeader();
             write("\n}}\0");
@@ -832,7 +838,6 @@
      * @param start start offset of segment. 0 based.
      * @param end end offset of segment
      */
-    alias TextWriter.write write;
     void write(char[] string, int start, int end) {
         wchar[] wstring = tango.text.convert.Utf.toString16( string[ start .. end ] );
         start = 0;
@@ -928,7 +933,7 @@
      *   <li>ERROR_IO when the writer is closed.</li>
      * </ul>
      */
-    public void writeLine(char[] line, int lineOffset) {
+    public override void writeLine(char[] line, int lineOffset) {
         if (isClosed()) {
             DWT.error(DWT.ERROR_IO);
         }
@@ -965,7 +970,7 @@
      *   <li>ERROR_IO when the writer is closed.</li>
      * </ul>
      */
-    public void writeLineDelimiter(char[] lineDelimiter) {
+    public override void writeLineDelimiter(char[] lineDelimiter) {
         if (isClosed()) {
             DWT.error(DWT.ERROR_IO);
         }
@@ -1168,7 +1173,7 @@
      *
      * @return the string
      */
-    public char[] toString() {
+    public override char[] toString() {
         return buffer.toString();
     }
     /**
@@ -1735,7 +1740,7 @@
         }
     }
 }
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget();
     int lineCount = (getStyle() & DWT.SINGLE) !is 0 ? 1 : content.getLineCount();
     int width = 0;
@@ -3131,7 +3136,7 @@
 void endAutoScroll() {
     autoScrollDirection = DWT.NULL;
 }
-public Color getBackground() {
+public override Color getBackground() {
     checkWidget();
     if (background is null) {
         return getDisplay().getSystemColor(DWT.COLOR_LIST_BACKGROUND);
@@ -3315,7 +3320,7 @@
     checkWidget();
     return content;
 }
-public bool getDragDetect () {
+public override bool getDragDetect () {
     checkWidget ();
     return dragDetect_;
 }
@@ -3346,7 +3351,7 @@
     checkWidget();
     return editable;
 }
-public Color getForeground() {
+public override Color getForeground() {
     checkWidget();
     if (foreground is null) {
         return getDisplay().getSystemColor(DWT.COLOR_LIST_FOREGROUND);
@@ -4213,7 +4218,7 @@
     checkWidget();
     return content.getTextRange(selection.x, selection.y - selection.x);
 }
-public int getStyle() {
+public override int getStyle() {
     int style = super.getStyle();
     style &= ~(DWT.LEFT_TO_RIGHT | DWT.RIGHT_TO_LEFT | DWT.MIRRORED);
     if (isMirrored()) {
@@ -6010,7 +6015,7 @@
  *
  * @see Control#update()
  */
-public void redraw() {
+public override void redraw() {
     super.redraw();
     int itemCount = getPartialBottomIndex() - topIndex + 1;
     renderer.reset(topIndex, itemCount);
@@ -6047,7 +6052,7 @@
  *
  * @see Control#update()
  */
-public void redraw(int x, int y, int width, int height, bool all) {
+public override void redraw(int x, int y, int width, int height, bool all) {
     super.redraw(x, y, width, height, all);
     if (height > 0) {
         int firstLine = getLineIndex(y);
@@ -6451,7 +6456,7 @@
     selectionAnchor = -1;
 }
 
-public void scroll(int destX, int destY, int x, int y, int width, int height, bool all) {
+public override void scroll(int destX, int destY, int x, int y, int width, int height, bool all) {
     super.scroll(destX, destY, x, y, width, height, false);
     if (all) {
         int deltaX = destX - x, deltaY = destY - y;
@@ -6721,7 +6726,7 @@
 /**
  * @see Control#setBackground(Color)
  */
-public void setBackground(Color color) {
+public override void setBackground(Color color) {
     checkWidget();
     background = color;
     super.redraw();
@@ -6737,7 +6742,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setCaret(Caret caret) {
+public override void setCaret(Caret caret) {
     checkWidget ();
     super.setCaret(caret);
     caretDirection = DWT.NULL;
@@ -6913,7 +6918,7 @@
  *
  * @see Control#setCursor(Cursor)
  */
-public void setCursor (Cursor cursor) {
+public override void setCursor (Cursor cursor) {
     if (cursor is null) {
         Display display = getDisplay();
         super.setCursor(display.getSystemCursor(DWT.CURSOR_IBEAM));
@@ -6936,7 +6941,7 @@
     checkWidget();
     doubleClickEnabled = enable;
 }
-public void setDragDetect (bool dragDetect_) {
+public override void setDragDetect (bool dragDetect_) {
     checkWidget ();
     this.dragDetect_ = dragDetect_;
 }
@@ -6968,7 +6973,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setFont(Font font) {
+public override void setFont(Font font) {
     checkWidget();
     int oldLineHeight = renderer.getLineHeight();
     super.setFont(font);
@@ -6992,7 +6997,7 @@
 /**
  * @see dwt.widgets.Control#setForeground
  */
-public void setForeground(Color color) {
+public override void setForeground(Color color) {
     checkWidget();
     foreground = color;
     super.setForeground(getForeground());
--- a/dwt/custom/StyledTextDropTargetEffect.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/StyledTextDropTargetEffect.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -103,7 +103,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragEnter(DropTargetEvent event) {
+    public override void dragEnter(DropTargetEvent event) {
         currentOffset = -1;
         scrollBeginTime = 0;
         scrollX = -1;
@@ -126,7 +126,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragLeave(DropTargetEvent event) {
+    public override void dragLeave(DropTargetEvent event) {
         StyledText text = cast(StyledText) getControl();
         if (currentOffset !is -1) {
             refreshCaret(text, currentOffset, -1);
@@ -153,7 +153,7 @@
      * @see DND#FEEDBACK_SELECT
      * @see DND#FEEDBACK_SCROLL
      */
-    public void dragOver(DropTargetEvent event) {
+    public override void dragOver(DropTargetEvent event) {
         int effect = event.feedback;
         StyledText text = cast(StyledText) getControl();
 
@@ -297,7 +297,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dropAccept(DropTargetEvent event) {
+    public override void dropAccept(DropTargetEvent event) {
         if (currentOffset !is -1) {
             StyledText text = cast(StyledText) getControl();
             text.setSelection(currentOffset);
--- a/dwt/custom/StyledTextListener.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/StyledTextListener.d	Thu Jan 31 19:04:56 2008 +0100
@@ -47,7 +47,7 @@
 /**
  * Process StyledText events by invoking the event's handler.
  */
-public void handleEvent(Event e) {
+public override void handleEvent(Event e) {
 
     switch (e.type) {
         case StyledText.ExtendedModify:
--- a/dwt/custom/TableCursor.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TableCursor.d	Thu Jan 31 19:04:56 2008 +0100
@@ -151,6 +151,9 @@
  *
  */
 public class TableCursor : Canvas {
+
+    alias Canvas.dispose dispose;
+
     Table table;
     TableItem row = null;
     TableColumn column = null;
@@ -577,7 +580,7 @@
     }
 }
 
-public void setVisible(bool visible) {
+public override void setVisible(bool visible) {
     checkWidget();
     if (visible) _resize();
     super.setVisible(visible);
@@ -647,12 +650,12 @@
     checkWidget();
     return row;
 }
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     if (color is null) color = getDisplay().getSystemColor(BACKGROUND);
     super.setBackground(color);
     redraw();
 }
-public void setForeground (Color color) {
+public override void setForeground (Color color) {
     if (color is null) color = getDisplay().getSystemColor(FOREGROUND);
     super.setForeground(color);
     redraw();
--- a/dwt/custom/TableEditor.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TableEditor.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -157,7 +157,7 @@
  * Removes all associations between the TableEditor and the cell in the table.  The
  * Table and the editor Control are <b>not</b> disposed.
  */
-public void dispose () {
+public override void dispose () {
     if (table !is null && !table.isDisposed()) {
         if (this.column > -1 && this.column < table.getColumnCount()){
             TableColumn tableColumn = table.getColumn(this.column);
@@ -232,7 +232,7 @@
     this.item = item;
     resize();
 }
-public void setEditor (Control editor) {
+public override void setEditor (Control editor) {
     super.setEditor(editor);
     resize();
 }
@@ -251,7 +251,7 @@
     setColumn(column);
     setEditor(editor);
 }
-public void layout () {
+public override void layout () {
     if (table is null || table.isDisposed()) return;
     if (item is null || item.isDisposed()) return;
     int columnCount = table.getColumnCount();
--- a/dwt/custom/TableTree.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TableTree.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -61,6 +61,9 @@
  * @deprecated As of 3.1 use Tree, TreeItem and TreeColumn
  */
 public class TableTree : Composite {
+
+    alias Composite.computeSize computeSize;
+
     Table table;
     TableTreeItem[] items;
     Image plusImage, minusImage, sizeImage;
@@ -235,11 +238,11 @@
     style = style & mask;
     return style;
 }
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget();
     return table.computeSize (wHint, hHint, changed);
 }
-public Rectangle computeTrim (int x, int y, int width, int height) {
+public override Rectangle computeTrim (int x, int y, int width, int height) {
     checkWidget();
     return table.computeTrim(x, y, width, height);
 }
@@ -272,7 +275,7 @@
         notifyListeners(DWT.Expand, event);
     }
 }
-public Color getBackground () {
+public override Color getBackground () {
     // This method must be overridden otherwise, in a TableTree in which the first
     // item has no sub items, a grey (Widget background colour) square will appear in
     // the first column of the first item.
@@ -281,13 +284,13 @@
     // the TableTree adapting to changes in the System color settings.
     return table.getBackground();
 }
-public Rectangle getClientArea () {
+public override Rectangle getClientArea () {
     return table.getClientArea();
 }
-public Color getForeground () {
+public override Color getForeground () {
     return table.getForeground();
 }
-public Font getFont () {
+public override Font getFont () {
     return table.getFont();
 }
 /**
@@ -371,7 +374,7 @@
     return table.getSelectionCount();
 }
 
-public int getStyle () {
+public override int getStyle () {
     checkWidget();
     return table.getStyle();
 }
@@ -721,7 +724,7 @@
     checkWidget();
     table.selectAll();
 }
-public void setBackground (Color color) {
+public override void setBackground (Color color) {
     super.setBackground(color);
     table.setBackground(color);
     if (sizeImage !is null) {
@@ -732,19 +735,19 @@
         gc.dispose();
     }
 }
-public void setEnabled (bool enabled) {
+public override void setEnabled (bool enabled) {
     super.setEnabled(enabled);
     table.setEnabled(enabled);
 }
-public void setFont (Font font) {
+public override void setFont (Font font) {
     super.setFont(font);
     table.setFont(font);
 }
-public void setForeground (Color color) {
+public override void setForeground (Color color) {
     super.setForeground(color);
     table.setForeground(color);
 }
-public void setMenu (Menu menu) {
+public override void setMenu (Menu menu) {
     super.setMenu(menu);
     table.setMenu(menu);
 }
@@ -786,7 +789,7 @@
     }
     table.setSelection(tableItems);
 }
-public void setToolTipText (char[] string) {
+public override void setToolTipText (char[] string) {
     super.setToolTipText(string);
     table.setToolTipText(string);
 }
--- a/dwt/custom/TableTreeEditor.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TableTreeEditor.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -94,6 +94,9 @@
 * @deprecated As of 3.1 use TreeEditor with Tree, TreeItem and TreeColumn
 */
 public class TableTreeEditor : ControlEditor {
+
+    alias ControlEditor.setEditor setEditor;
+
     TableTree tableTree;
     TableTreeItem item;
     int column = -1;
@@ -187,7 +190,7 @@
  * Removes all associations between the TableTreeEditor and the cell in the table tree.  The
  * TableTree and the editor Control are <b>not</b> disposed.
  */
-public void dispose () {
+public override void dispose () {
     if (tableTree !is null && !tableTree.isDisposed()) {
         Table table = tableTree.getTable();
         if (table !is null && !table.isDisposed()) {
@@ -265,7 +268,7 @@
     setColumn(column);
     setEditor(editor);
 }
-public void layout () {
+public override void layout () {
     if (tableTree is null || tableTree.isDisposed()) return;
     if (item is null || item.isDisposed()) return;
     Table table = tableTree.getTable();
--- a/dwt/custom/TableTreeItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TableTreeItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -376,7 +376,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public Image getImage () {
+public override Image getImage () {
     checkWidget();
     return getImage(0);
 }
@@ -487,7 +487,7 @@
     //checkWidget();
     return parentItem;
 }
-public char[] getText () {
+public override char[] getText () {
     checkWidget();
     return getText(0);
 }
@@ -568,7 +568,7 @@
     return count;
 }
 
-public void dispose () {
+public override void dispose () {
     if (isDisposed()) return;
     for (int i = items.length - 1; i >= 0; i--) {
         items[i].dispose();
@@ -803,7 +803,7 @@
  *      <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
  *  </ul>
  */
-public void setImage (Image image) {
+public override void setImage (Image image) {
     setImage(0, image);
 }
 
@@ -839,7 +839,7 @@
     texts[index] = text;
     if (tableItem !is null) tableItem.setText(index, text);
 }
-public void setText (char[] string) {
+public override void setText (char[] string) {
     setText(0, string);
 }
 
--- a/dwt/custom/TreeEditor.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/TreeEditor.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -193,7 +193,7 @@
  * Removes all associations between the TreeEditor and the row in the tree.  The
  * tree and the editor Control are <b>not</b> disposed.
  */
-public void dispose () {
+public override void dispose () {
     if (tree !is null && !tree.isDisposed()) {
         if (this.column > -1 && this.column < tree.getColumnCount()){
             TreeColumn treeColumn = tree.getColumn(this.column);
@@ -297,7 +297,7 @@
     setColumn(column);
     setEditor(editor);
 }
-public void setEditor (Control editor) {
+public override void setEditor (Control editor) {
     super.setEditor(editor);
     resize();
 }
@@ -316,7 +316,7 @@
     setEditor(editor);
 }
 
-public void layout () {
+public override void layout () {
     if (tree is null || tree.isDisposed()) return;
     if (item is null || item.isDisposed()) return;
     int columnCount = tree.getColumnCount();
--- a/dwt/custom/ViewForm.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/custom/ViewForm.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -202,7 +202,7 @@
 //  }
 //}
 
-public Rectangle computeTrim (int x, int y, int width, int height) {
+public override Rectangle computeTrim (int x, int y, int width, int height) {
     checkWidget ();
     int trimX = x - borderLeft - highlight;
     int trimY = y - borderTop - highlight;
@@ -210,7 +210,7 @@
     int trimHeight = height + borderTop + borderBottom + 2*highlight;
     return new Rectangle(trimX, trimY, trimWidth, trimHeight);
 }
-public Rectangle getClientArea() {
+public override Rectangle getClientArea() {
     checkWidget();
     Rectangle clientArea = super.getClientArea();
     clientArea.x += borderLeft;
@@ -355,7 +355,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setLayout (Layout layout) {
+public override void setLayout (Layout layout) {
     checkWidget();
     return;
 }
--- a/dwt/dnd/ByteArrayTransfer.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/ByteArrayTransfer.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -124,7 +124,7 @@
  */
 public abstract class ByteArrayTransfer : Transfer {
 
-public TransferData[] getSupportedTypes() {
+public override TransferData[] getSupportedTypes() {
     int[] types = getTypeIds();
     TransferData[] data = new TransferData[types.length];
     for (int i = 0; i < types.length; i++) {
@@ -134,7 +134,7 @@
     return data;
 }
 
-public bool isSupportedType(TransferData transferData){
+public override bool isSupportedType(TransferData transferData){
     if (transferData is null) return false;
     int[] types = getTypeIds();
     for (int i = 0; i < types.length; i++) {
--- a/dwt/dnd/DNDListener.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/DNDListener.d	Thu Jan 31 19:04:56 2008 +0100
@@ -38,7 +38,7 @@
 this(DWTEventListener listener) {
     super(listener);
 }
-public void handleEvent (Event e) {
+public override void handleEvent (Event e) {
     switch (e.type) {
         case DND.DragStart: {
             DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e);
--- a/dwt/dnd/TableDragSourceEffect.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/TableDragSourceEffect.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -62,7 +62,7 @@
      *
      * @param event the information associated with the drag finished event
      */
-    public void dragFinished(DragSourceEvent event) {
+    public override void dragFinished(DragSourceEvent event) {
         if (dragSourceImage !is null) dragSourceImage.dispose();
         dragSourceImage = null;
     }
@@ -78,7 +78,7 @@
      *
      * @param event the information associated with the drag start event
      */
-    public void dragStart(DragSourceEvent event) {
+    public override void dragStart(DragSourceEvent event) {
         event.image = getDragSourceImage(event);
     }
 
--- a/dwt/dnd/TableDropTargetEffect.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/TableDropTargetEffect.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -88,7 +88,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragEnter(DropTargetEvent event) {
+    public override void dragEnter(DropTargetEvent event) {
         scrollBeginTime = 0;
         scrollIndex = -1;
     }
@@ -107,7 +107,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragLeave(DropTargetEvent event) {
+    public override void dragLeave(DropTargetEvent event) {
         Table table = cast(Table) control;
         auto handle = table.handle;
         OS.gtk_tree_view_unset_rows_drag_dest(handle);
@@ -133,7 +133,7 @@
      * @see DND#FEEDBACK_SELECT
      * @see DND#FEEDBACK_SCROLL
      */
-    public void dragOver(DropTargetEvent event) {
+    public override void dragOver(DropTargetEvent event) {
         Table table = cast(Table) control;
         auto handle = table.handle;
         int effect = checkEffect(event.feedback);
--- a/dwt/dnd/TreeDragSourceEffect.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/TreeDragSourceEffect.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -61,7 +61,7 @@
      *
      * @param event the information associated with the drag finished event
      */
-    public void dragFinished(DragSourceEvent event) {
+    public override void dragFinished(DragSourceEvent event) {
         if (dragSourceImage !is null) dragSourceImage.dispose();
         dragSourceImage = null;
     }
@@ -77,7 +77,7 @@
      *
      * @param event the information associated with the drag start event
      */
-    public void dragStart(DragSourceEvent event) {
+    public override void dragStart(DragSourceEvent event) {
         event.image = getDragSourceImage(event);
     }
 
--- a/dwt/dnd/TreeDropTargetEffect.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dnd/TreeDropTargetEffect.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -94,7 +94,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragEnter(DropTargetEvent event) {
+    public override void dragEnter(DropTargetEvent event) {
         expandBeginTime = 0;
         expandIndex = -1;
         scrollBeginTime = 0;
@@ -115,7 +115,7 @@
      * @see DropTargetAdapter
      * @see DropTargetEvent
      */
-    public void dragLeave(DropTargetEvent event) {
+    public override void dragLeave(DropTargetEvent event) {
         Tree tree = cast(Tree) control;
         auto handle = tree.handle;
         OS.gtk_tree_view_unset_rows_drag_dest(handle);
@@ -144,7 +144,7 @@
      * @see DND#FEEDBACK_INSERT_AFTER
      * @see DND#FEEDBACK_SCROLL
      */
-    public void dragOver(DropTargetEvent event) {
+    public override void dragOver(DropTargetEvent event) {
         Tree tree = cast(Tree) control;
         int effect = checkEffect(event.feedback);
 
--- a/dwt/dwthelper/System.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/dwthelper/System.d	Thu Jan 31 19:04:56 2008 +0100
@@ -4,6 +4,7 @@
 module dwt.dwthelper.System;
 
 import tango.core.Exception;
+import tango.time.Clock;
 
 template SimpleType(T) {
     debug{
@@ -120,8 +121,7 @@
     alias SimpleType!(void*[]).arraycopy arraycopy;
 
     static long currentTimeMillis(){
-        //PORTING_FIXMe
-        return 0;
+        return Clock.now().ticks() / 10000;
     }
 
 }
--- a/dwt/events/KeyEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/KeyEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -98,7 +98,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} character={} keyCode={} stateMask={} doit={}}",
         super.toString[ 0 .. $-2 ],
         character, keyCode, stateMask, doit );
--- a/dwt/events/MenuDetectEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/MenuDetectEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -67,7 +67,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} x={} y={} doit={}}", super.toString[ 0 .. $-2 ], x, y, doit );
 }
 }
--- a/dwt/events/MouseEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/MouseEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -93,7 +93,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} button={} stateMask={} x={} y={} count={}}",
         super.toString[ 0 .. $-1 ],
         button, stateMask, x, y, count );
--- a/dwt/events/PaintEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/PaintEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -92,7 +92,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} gc={} x={} y={} width={} height={} count={}}",
         super.toString[ 0 .. $-1 ],
         gc is null ? "null" : gc.toString,
--- a/dwt/events/SelectionEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/SelectionEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -128,7 +128,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} item={} detail={} x={} y={} width={} height={} stateMask={} text={} doit={}}",
         super.toString[ 0 .. $-2 ],
         item,
--- a/dwt/events/ShellEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/ShellEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -52,7 +52,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} doit={}}", super.toString[ 0 .. $-2 ], doit );
 }
 }
--- a/dwt/events/TraverseEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/TraverseEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -131,7 +131,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} detail={}}", super.toString[ 0 .. $-2 ], detail );
 }
 }
--- a/dwt/events/TypedEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/TypedEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -98,7 +98,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     char[] str_widget = widget is null ? "null" : widget.toString;
     char[] str_data   = data is null ? "null" : data.toString;
     return Format( "{}{{time={} data={}}", str_widget, time, str_data );
--- a/dwt/events/VerifyEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/events/VerifyEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -60,7 +60,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "{} start={} end={} text={}}", super.toString[ 0 .. $-2 ], start, end, text );
 }
 }
--- a/dwt/graphics/Color.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Color.d	Thu Jan 31 19:04:56 2008 +0100
@@ -118,7 +118,7 @@
  * the color. Applications must dispose of all colors which
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     int pixel = handle.pixel;
@@ -290,7 +290,7 @@
  *
  * @return <code>true</code> when the color is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
--- a/dwt/graphics/Cursor.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Cursor.d	Thu Jan 31 19:04:56 2008 +0100
@@ -460,7 +460,7 @@
  * the cursor. Applications must dispose of all cursors which
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     OS.gdk_cursor_destroy(handle);
@@ -534,7 +534,7 @@
  *
  * @return <code>true</code> when the cursor is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
--- a/dwt/graphics/Font.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Font.d	Thu Jan 31 19:04:56 2008 +0100
@@ -155,7 +155,7 @@
  * the font. Applications must dispose of all fonts which
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null ) return;
     if (device.isDisposed()) return;
     OS.pango_font_description_free(handle);
@@ -174,7 +174,7 @@
  *
  * @see #hashCode
  */
-public int opEquals(Object object) {
+public override int opEquals(Object object) {
     if (object is this) return true;
     if ( auto font = cast(Font)object ){
        return handle is font.handle;
@@ -248,7 +248,7 @@
  *
  * @see #equals
  */
-public hash_t toHash() {
+public override hash_t toHash() {
     return cast(hash_t)/*64*/handle;
 }
 
@@ -286,7 +286,7 @@
  *
  * @return <code>true</code> when the font is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
--- a/dwt/graphics/FontData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/FontData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -313,7 +313,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+public override hash_t toHash () {
     return typeid(char[]).getHash(&name) ^ getHeight() ^ style;
 }
 
@@ -434,7 +434,7 @@
  *
  * @see FontData
  */
-public char[] toString() {
+public override char[] toString() {
     return Format( "1|{}|{}|{}|GTK|1|", getName, getHeightF, getStyle );
 }
 
--- a/dwt/graphics/FontMetrics.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/FontMetrics.d	Thu Jan 31 19:04:56 2008 +0100
@@ -38,7 +38,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+public override int opEquals (Object object) {
     if (object is this) return true;
     if( auto metrics = cast(FontMetrics)object ){
         return ascent == metrics.ascent && descent == metrics.descent &&
@@ -128,7 +128,7 @@
  *
  * @see #equals
  */
-public hash_t toHash() {
+public override hash_t toHash() {
     return ascent ^ descent ^ averageCharWidth ^ leading ^ height;
 }
 
--- a/dwt/graphics/GC.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/GC.d	Thu Jan 31 19:04:56 2008 +0100
@@ -47,41 +47,6 @@
 import tango.stdc.stringz;
 
 
-/+
-class GC{
-    void drawImage(Image, int, int, int, int, int, int, int, int ){}
-    void dispose(){}
-    bool isDisposed(){ return false; }
-    static void setCairoPatternColor(cairo_pattern_t * pattern, int offset, Color c, int alpha) {}
-    static void addCairoString(cairo_t* cairo, char[] str, float x, float y, Font font) {}
-    void initCairo() {}
-    void checkGC (int mask) {}
-        const static int FOREGROUND = 1 << 0;
-    const static int BACKGROUND = 1 << 1;
-    const static int FONT = 1 << 2;
-    const static int LINE_STYLE = 1 << 3;
-    const static int LINE_CAP = 1 << 4;
-    const static int LINE_JOIN = 1 << 5;
-    const static int LINE_WIDTH = 1 << 6;
-    const static int LINE_MITERLIMIT = 1 << 7;
-    const static int BACKGROUND_BG = 1 << 8;
-    const static int DRAW_OFFSET = 1 << 9;
-    const static int DRAW = FOREGROUND | LINE_WIDTH | LINE_STYLE  | LINE_CAP  | LINE_JOIN | LINE_MITERLIMIT | DRAW_OFFSET;
-    const static int FILL = BACKGROUND;
-
-    public GdkGC* handle;
-
-    GCData data;
-    public Rectangle getClipping() { return null; }
-    public void getClipping(Region) { }
-    void setClipping(GdkRegion* clipRgn) {}
-    //void setClipping(Path clipRgn) {}
-    void setClipping(Region clipRgn) {}
-    void setClipping(Rectangle clipRgn) {}
-}
-
-+/
-
 /**
  * Class <code>GC</code> is where all of the drawing capabilities that are
  * supported by DWT are located. Instances are used to draw on either an
@@ -602,7 +567,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS if not called from the thread that created the drawable</li>
  * </ul>
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (data.device.isDisposed()) return;
 
@@ -2795,8 +2760,8 @@
  *
  * @see #equals
  */
-public int hashCode() {
-    return cast(int)/*64*/handle;
+public override hash_t toHash() {
+    return cast(hash_t)/*64*/handle;
 }
 
 void init(Drawable drawable, GCData data, GdkGC* gdkGC) {
@@ -2882,7 +2847,7 @@
  *
  * @return <code>true</code> when the GC is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
@@ -3986,7 +3951,7 @@
  *
  * @return a str representation of the receiver
  */
-public char[] toString () {
+public override char[] toString () {
     if (isDisposed()) return "GC {*DISPOSED*}";
     return Format( "GC {{{}}", handle );
 }
--- a/dwt/graphics/Image.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Image.d	Thu Jan 31 19:04:56 2008 +0100
@@ -28,14 +28,6 @@
 import dwt.graphics.Rectangle;
 import dwt.graphics.Resource;
 
-//version=STUB;
-version(STUB){
-class Image{
-    public this(Device,ImageData){}
-    public void dispose(){}
-}
-} else {
-
 import dwt.dwthelper.InputStream;
 
 import tango.text.convert.Format;
@@ -779,7 +771,7 @@
  * the image. Applications must dispose of all images which
  * they allocate.
  */
-public void dispose () {
+public override void dispose () {
     if (pixmap is null) return;
     if (device.isDisposed()) return;
     if (memGC !is null) memGC.dispose();
@@ -806,7 +798,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+public override int opEquals (Object object) {
     if (object is this) return true;
     if ( auto image = cast(Image)object ){
         return device is image.device && pixmap is image.pixmap;
@@ -970,7 +962,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+public override hash_t toHash () {
     return cast(hash_t)/*64*/pixmap;
 }
 
@@ -1146,7 +1138,7 @@
  *
  * @return <code>true</code> when the image is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return pixmap is null;
 }
 
@@ -1198,10 +1190,10 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+public override char[] toString () {
     if (isDisposed()) return "Image {*DISPOSED*}";
     return Format( "Image {{{}}", pixmap);
 }
 
 }
-}
+
--- a/dwt/graphics/ImageLoaderEvent.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/ImageLoaderEvent.d	Thu Jan 31 19:04:56 2008 +0100
@@ -85,7 +85,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+public override char[] toString () {
     return Format( "ImageLoaderEvent {source={} imageData={} incrementCount={} endOfImage={}}", source, imageData, incrementCount, endOfImage); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
 }
 
--- a/dwt/graphics/Path.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Path.d	Thu Jan 31 19:04:56 2008 +0100
@@ -556,7 +556,7 @@
  * the Path. Applications must dispose of all Paths that
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     Cairo.cairo_destroy(handle);
     handle = null;
@@ -574,7 +574,7 @@
  *
  * @return <code>true</code> when the Path is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
@@ -584,7 +584,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+public override char[] toString() {
     if (isDisposed()) return "Path {*DISPOSED*}";
     return Format( "Path {{{}}", handle );
 }
--- a/dwt/graphics/Pattern.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Pattern.d	Thu Jan 31 19:04:56 2008 +0100
@@ -184,7 +184,7 @@
  * the Pattern. Applications must dispose of all Patterns that
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     Cairo.cairo_pattern_destroy(handle);
@@ -203,7 +203,7 @@
  *
  * @return <code>true</code> when the Pattern is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
@@ -213,7 +213,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+public override char[] toString() {
     if (isDisposed()) return "Pattern {*DISPOSED*}";
     return Format( "Pattern {{{}}", handle );
 }
--- a/dwt/graphics/Point.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Point.d	Thu Jan 31 19:04:56 2008 +0100
@@ -94,7 +94,7 @@
  *
  * @see #equals(Object)
  */
-public hash_t toHash () {
+public override hash_t toHash () {
     return x ^ y;
 }
 
@@ -104,7 +104,7 @@
  *
  * @return a string representation of the point
  */
-public char[] toString () {
+public override char[] toString () {
     return Format( "Point {}, {}}", x, y );; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 }
 
--- a/dwt/graphics/RGB.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/RGB.d	Thu Jan 31 19:04:56 2008 +0100
@@ -213,7 +213,7 @@
  *
  * @see #equals(Object)
  */
-public hash_t toHash() {
+public override hash_t toHash() {
     return (blue << 16) | (green << 8) | red;
 }
 
--- a/dwt/graphics/Region.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Region.d	Thu Jan 31 19:04:56 2008 +0100
@@ -228,7 +228,7 @@
  * the region. Applications must dispose of all regions which
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     OS.gdk_region_destroy(handle);
@@ -247,7 +247,7 @@
  *
  * @see #hashCode
  */
-public int opEquals(Object object) {
+public override int opEquals(Object object) {
     if (this is object) return true;
     if ( auto region = cast(Region)object ){
         return handle is region.handle;
@@ -428,7 +428,7 @@
  *
  * @return <code>true</code> when the region is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
--- a/dwt/graphics/TextLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/TextLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -56,7 +56,7 @@
         TextStyle style;
         int start;
 
-        public char[] toString () {
+        public override char[] toString () {
             return Format( "StyleItem {{{}, {}}", start, style );
         }
     }
@@ -253,7 +253,7 @@
  * Disposes of the operating system resources associated with
  * the text layout. Applications must dispose of all allocated text layouts.
  */
-public void dispose() {
+public override void dispose() {
     if (layout is null) return;
     font = null;
     text = null;
@@ -1314,7 +1314,7 @@
  *
  * @return <code>true</code> when the text layout is disposed and <code>false</code> otherwise
  */
-public bool isDisposed () {
+public override bool isDisposed () {
     return layout is null;
 }
 
@@ -1754,7 +1754,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+public override char[] toString () {
     if (isDisposed()) return "TextLayout {*DISPOSED*}";
     return Format( "TextLayout {{{}}", layout );
 }
--- a/dwt/graphics/TextStyle.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/TextStyle.d	Thu Jan 31 19:04:56 2008 +0100
@@ -160,7 +160,7 @@
  *
  * @return a string representation of the <code>TextStyle</code>
  */
-public char[] toString () {
+public override char[] toString () {
     char[] buffer = "TextStyle {";
     int startLength = buffer.length;
     if (font != null) {
--- a/dwt/graphics/Transform.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/graphics/Transform.d	Thu Jan 31 19:04:56 2008 +0100
@@ -154,7 +154,7 @@
  * the Transform. Applications must dispose of all Transforms that
  * they allocate.
  */
-public void dispose() {
+public override void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     handle = null;
@@ -214,7 +214,7 @@
  *
  * @return <code>true</code> when the Transform is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+public override bool isDisposed() {
     return handle is null;
 }
 
@@ -357,7 +357,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+public override char[] toString() {
     if (isDisposed()) return "Transform {*DISPOSED*}";
     float[] elements = new float[6];
     getElements(elements);
--- a/dwt/internal/LONG.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/LONG.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -19,7 +19,7 @@
         this.value = value;
     }
 
-    public int opEquals (Object object) {
+    public override int opEquals (Object object) {
         if (object is this){
             return true;
         }
@@ -29,7 +29,7 @@
         return false;
     }
 
-    public int hashCode () {
+    public override hash_t toHash () {
         return /*64*/value;
     }
 }
--- a/dwt/internal/image/JPEGAppn.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGAppn.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -26,7 +26,7 @@
         super(byteStream);
     }
 
-    public bool verify() {
+    public override bool verify() {
         int marker = getSegmentMarker();
         return marker >= JPEGFileFormat.APP0 && marker <= JPEGFileFormat.APP15;
     }
--- a/dwt/internal/image/JPEGArithmeticConditioningTable.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGArithmeticConditioningTable.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,7 +22,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    public override int signature() {
         return JPEGFileFormat.DAC;
     }
 }
--- a/dwt/internal/image/JPEGComment.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGComment.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -26,7 +26,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    public override int signature() {
         return JPEGFileFormat.COM;
     }
 }
--- a/dwt/internal/image/JPEGEndOfImage.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGEndOfImage.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -26,11 +26,11 @@
         super(reference);
     }
 
-    public int signature() {
+    public override int signature() {
         return JPEGFileFormat.EOI;
     }
 
-    public int fixedSize() {
+    public override int fixedSize() {
         return 2;
     }
 }
--- a/dwt/internal/image/JPEGFixedSizeSegment.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGFixedSizeSegment.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -42,10 +42,10 @@
 
     abstract public int fixedSize();
 
-    public int getSegmentLength() {
+    public override int getSegmentLength() {
         return fixedSize() - 2;
     }
 
-    public void setSegmentLength(int length) {
+    public override void setSegmentLength(int length) {
     }
 }
--- a/dwt/internal/image/JPEGFrameHeader.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGFrameHeader.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -197,7 +197,7 @@
      *  SOF_14 - Differential progressive, arithmetic coding
      *  SOF_15 - Differential lossless, arithmetic coding
      */
-    public bool verify() {
+    public override bool verify() {
         int marker = getSegmentMarker();
         return (marker >= JPEGFileFormat.SOF0 && marker <= JPEGFileFormat.SOF3) ||
             (marker >= JPEGFileFormat.SOF5 && marker <= JPEGFileFormat.SOF7) ||
--- a/dwt/internal/image/JPEGHuffmanTable.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGHuffmanTable.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -264,7 +264,7 @@
     System.arraycopy(huffTables, 0, allTables, 0, huffTableCount);
 }
 
-public int signature() {
+public override int signature() {
     return JPEGFileFormat.DHT;
 }
 }
--- a/dwt/internal/image/JPEGQuantizationTable.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGQuantizationTable.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -166,7 +166,7 @@
     }
 }
 
-public int signature() {
+public override int signature() {
     return JPEGFileFormat.DQT;
 }
 }
--- a/dwt/internal/image/JPEGRestartInterval.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGRestartInterval.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,7 +22,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    public override int signature() {
         return JPEGFileFormat.DRI;
     }
 
@@ -30,7 +30,7 @@
         return ((reference[4] & 0xFF) << 8 | (reference[5] & 0xFF));
     }
 
-    public int fixedSize() {
+    public override int fixedSize() {
         return 6;
     }
 }
--- a/dwt/internal/image/JPEGScanHeader.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGScanHeader.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -94,7 +94,7 @@
     reference[(2 * getNumberOfImageComponents()) + 5] = cast(byte)anInteger;
 }
 
-public int signature() {
+public override int signature() {
     return JPEGFileFormat.SOS;
 }
 
--- a/dwt/internal/image/JPEGStartOfImage.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/JPEGStartOfImage.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -30,11 +30,11 @@
         super(byteStream);
     }
 
-    public int signature() {
+    public override int signature() {
         return JPEGFileFormat.SOI;
     }
 
-    public int fixedSize() {
+    public override int fixedSize() {
         return 2;
     }
 }
--- a/dwt/internal/image/LEDataInputStream.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/LEDataInputStream.d	Thu Jan 31 19:04:56 2008 +0100
@@ -69,7 +69,7 @@
     /**
      * Answers how many bytes are available for reading without blocking
      */
-    public int available() {
+    public override int available() {
         if (buf is null) throw new IOException("buf is null");
         return (buf.length - pos) + host.available();
     }
@@ -77,7 +77,7 @@
     /**
      * Answer the next byte of the input stream.
      */
-    public int read() {
+    public override int read() {
         if (buf is null) throw new IOException("buf is null");
         if (pos < buf.length) {
             position++;
@@ -92,7 +92,7 @@
      * Don't imitate the JDK behaviour of reading a random number
      * of bytes when you can actually read them all.
      */
-    public int read(byte b[], int off, int len) {
+    public override int read(byte b[], int off, int len) {
         int read = 0, count;
         while (read !is len && (count = readData(b, off, len - read)) !is -1) {
             off += count;
--- a/dwt/internal/image/LEDataOutputStream.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/LEDataOutputStream.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -16,8 +16,11 @@
 import dwt.dwthelper.OutputStream;
 
 final class LEDataOutputStream : OutputStream {
+
     alias OutputStream.write write;
+
     OutputStream ostr;
+
 public this(OutputStream output) {
     this.ostr = output;
 }
@@ -25,13 +28,13 @@
  * Write the specified number of bytes of the given byte array,
  * starting at the specified offset, to the output stream.
  */
-public void write(byte b[], int off, int len) {
+public override void write(byte b[], int off, int len) {
     ostr.write(b, off, len);
 }
 /**
  * Write the given byte to the output stream.
  */
-public void write(int b)  {
+public override void write(int b)  {
     ostr.write(b);
 }
 /**
--- a/dwt/internal/image/PngChunk.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/PngChunk.d	Thu Jan 31 19:04:56 2008 +0100
@@ -373,7 +373,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+public override char[] toString() {
     char[] buffer = Format( "{\n\tLength: {}\n\tType: {}{}\n\tCRC: {:X}\n}",
         getLength(),
         cast(char[]) getTypeBytes(),
--- a/dwt/internal/image/PngDecodingDataStream.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/PngDecodingDataStream.d	Thu Jan 31 19:04:56 2008 +0100
@@ -19,7 +19,9 @@
 import dwt.internal.image.PngLzBlockReader;
 
 public class PngDecodingDataStream : InputStream {
+
     alias InputStream.read read;
+
     InputStream stream;
     byte currentByte;
     int nextBitIndex;
@@ -51,7 +53,7 @@
     lzBlockReader.assertCompressedDataAtEnd();
 }
 
-public void close() {
+public override void close() {
     assertImageDataAtEnd();
     checkAdler();
 }
--- a/dwt/internal/image/PngInputStream.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/PngInputStream.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,6 +22,7 @@
 import Math = tango.math.Math;
 
 public class PngInputStream : InputStream {
+
     alias InputStream.read read;
 
     PngChunkReader reader;
--- a/dwt/internal/image/PngTrnsChunk.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/internal/image/PngTrnsChunk.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,6 +22,9 @@
 import dwt.internal.image.PngPlteChunk;
 
 public class PngTrnsChunk : PngChunk {
+
+    alias PngChunk.validate validate;
+
     static const int TRANSPARENCY_TYPE_PIXEL = 0;
     static const int TRANSPARENCY_TYPE_ALPHAS = 1;
     static const int RGB_DATA_LENGTH = 6;
--- a/dwt/layout/FillLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/FillLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -232,7 +232,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName () ~ " {";
     string ~= "type="~((type is DWT.VERTICAL) ? "DWT.VERTICAL" : "DWT.HORIZONTAL")~" ";
     if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" ";
--- a/dwt/layout/FormAttachment.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/FormAttachment.d	Thu Jan 31 19:04:56 2008 +0100
@@ -298,7 +298,7 @@
  *
  * @return a string representation of the FormAttachment
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = control != null ? control.toString () : Format( "{}/{}", numerator, denominator );
     return Format("{{y = ({})x + {}}", string, ( offset >= 0 ? Format(")x + {}", offset ) : Format( ")x - {}", -offset)));
 }
--- a/dwt/layout/FormData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/FormData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -334,7 +334,7 @@
  *
  * @return a string representation of the FormData object
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName()~" {";
     if (width !is DWT.DEFAULT) string ~= "width="~to!(char[])(width)~" ";
     if (height !is DWT.DEFAULT) string ~= "height="~to!(char[])(height)~" ";
--- a/dwt/layout/FormLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/FormLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -379,7 +379,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string =  getName ()~" {";
     if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" ";
     if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" ";
--- a/dwt/layout/GridData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/GridData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -516,7 +516,7 @@
  *
  * @return a string representation of the GridData object
  */
-public char[] toString () {
+public override char[] toString () {
     char[] hAlign = "";
     switch (horizontalAlignment) {
         case DWT.FILL: hAlign = "DWT.FILL"; break;
--- a/dwt/layout/GridLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/GridLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -740,7 +740,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName ()~" {";
     if (numColumns !is 1) string ~= "numColumns="~to!(char[])(numColumns)~" ";
     if (makeColumnsEqualWidth) string ~= "makeColumnsEqualWidth="~to!(char[])(makeColumnsEqualWidth)~" ";
--- a/dwt/layout/RowData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/RowData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -118,7 +118,7 @@
  *
  * @return a string representation of the RowData object
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName ()~" {";
     if (width !is DWT.DEFAULT) string ~= "width="~to!(char[])(width)~" ";
     if (height !is DWT.DEFAULT) string ~= "height="~to!(char[])(height)~" ";
--- a/dwt/layout/RowLayout.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/layout/RowLayout.d	Thu Jan 31 19:04:56 2008 +0100
@@ -456,7 +456,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+public override char[] toString () {
     char[] string = getName ()~" {";
     string ~= "type="~((type !is DWT.HORIZONTAL) ? "DWT.VERTICAL" : "DWT.HORIZONTAL")~" ";
     if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" ";
--- a/dwt/printing/Printer.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/printing/Printer.d	Thu Jan 31 19:04:56 2008 +0100
@@ -290,7 +290,7 @@
  *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public Font getSystemFont () {
+public override Font getSystemFont () {
     checkDevice ();
     if (systemFont !is null) return systemFont;
     auto style = OS.gtk_widget_get_default_style();
@@ -311,7 +311,7 @@
  * @param data the platform specific GC data
  * @return the platform specific GC handle
  */
-public GdkGC* internal_new_GC(GCData data) {
+public override GdkGC* internal_new_GC(GCData data) {
     auto drawable = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), 1, 1, 1);
     auto gdkGC = OS.gdk_gc_new (drawable);
     if (gdkGC is null) DWT.error (DWT.ERROR_NO_HANDLES);
@@ -346,7 +346,7 @@
  * @param hDC the platform specific GC handle
  * @param data the platform specific GC data
  */
-public void internal_dispose_GC(GdkGC* gdkGC, GCData data) {
+public override void internal_dispose_GC(GdkGC* gdkGC, GCData data) {
     if (data !is null) isGCCreated = false;
     OS.g_object_unref (gdkGC);
     if (data !is null) {
@@ -524,7 +524,7 @@
  *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public Point getDPI() {
+public override Point getDPI() {
     checkDevice();
     int resolution = OS.gtk_print_settings_get_resolution(settings);
     if (DEBUG) tango.io.Stdout.Stdout.formatln("print_settings.resolution={}", resolution);
@@ -547,7 +547,7 @@
  * @see #getClientArea
  * @see #computeTrim
  */
-public Rectangle getBounds() {
+public override Rectangle getBounds() {
     checkDevice();
     //TODO: We are supposed to return this in pixels, but GTK_UNIT_PIXELS is currently not implemented (gtk bug 346245)
     double width = OS.gtk_page_setup_get_paper_width (pageSetup, OS.GTK_UNIT_POINTS);
@@ -570,7 +570,7 @@
  * @see #getBounds
  * @see #computeTrim
  */
-public Rectangle getClientArea() {
+public override Rectangle getClientArea() {
     checkDevice();
     //TODO: We are supposed to return this in pixels, but GTK_UNIT_PIXELS is currently not implemented (gtk bug 346245)
     double width = OS.gtk_page_setup_get_page_width(pageSetup, OS.GTK_UNIT_POINTS);
--- a/dwt/printing/PrinterData.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/printing/PrinterData.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -164,7 +164,7 @@
      *
      * @return a string representation of the receiver
      */
-    public char[] toString() {
+    public override char[] toString() {
         return Format( "PrinterData {{driver = {}, name = {}}", driver, name );  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     }
 }
--- a/dwt/widgets/Button.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Button.d	Thu Jan 31 19:04:56 2008 +0100
@@ -51,6 +51,13 @@
  * </p>
  */
 public class Button : Control {
+
+    alias Control.computeSize computeSize;
+    alias Control.mnemonicHit mnemonicHit;
+    alias Control.mnemonicMatch mnemonicMatch;
+    alias Control.setBackgroundColor setBackgroundColor;
+    alias Control.setForegroundColor setForegroundColor;
+
     GtkWidget* boxHandle, labelHandle, imageHandle, arrowHandle, groupHandle;
     bool selected;
     ImageList imageList;
@@ -144,7 +151,6 @@
     addListener (DWT.DefaultSelection,typedListener);
 }
 
-alias Control.computeSize computeSize;
 override public Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
@@ -426,7 +432,6 @@
     return false;
 }
 
-alias Control.mnemonicHit mnemonicHit;
 override bool mnemonicHit (char key) {
     if (labelHandle is null) return false;
     bool result = super.mnemonicHit (labelHandle, key);
@@ -434,7 +439,6 @@
     return result;
 }
 
-alias Control.mnemonicMatch mnemonicMatch;
 override bool mnemonicMatch (char key) {
     if (labelHandle is null) return false;
     return mnemonicMatch (labelHandle, key);
@@ -608,7 +612,6 @@
     }
 }
 
-alias Control.setBackgroundColor setBackgroundColor;
 override void setBackgroundColor (GdkColor* color) {
     super.setBackgroundColor (color);
     setBackgroundColor(fixedHandle, color);
@@ -631,7 +634,6 @@
     return true;
 }
 
-alias Control.setForegroundColor setForegroundColor;
 override void setForegroundColor (GdkColor* color) {
     super.setForegroundColor (color);
     setForegroundColor (fixedHandle, color);
--- a/dwt/widgets/Canvas.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Canvas.d	Thu Jan 31 19:04:56 2008 +0100
@@ -43,6 +43,9 @@
  * @see Composite
  */
 public class Canvas : Composite {
+
+    alias Composite.setBounds setBounds;
+
     Caret caret;
 
 this () {}
--- a/dwt/widgets/Combo.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Combo.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -64,6 +64,16 @@
  * @see List
  */
 public class Combo : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.dragDetect dragDetect;
+    alias Composite.setBackgroundColor setBackgroundColor;
+    alias Composite.setBounds setBounds;
+    alias Composite.setForegroundColor setForegroundColor;
+    alias Composite.setToolTipText setToolTipText;
+    alias Composite.translateTraversal translateTraversal;
+
     GtkWidget* buttonHandle, entryHandle, listHandle, textRenderer;
     int lastEventTime, visibleCount = 5;
     GdkEventKey* gdkEventKey;
@@ -366,7 +376,7 @@
     }
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (OS.GTK_VERSION >= OS.buildVERSION (2, 4, 0)) {
         return computeNativeSize (handle, wHint, hHint, changed);
--- a/dwt/widgets/Composite.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Composite.d	Thu Jan 31 19:04:56 2008 +0100
@@ -63,6 +63,16 @@
  * @see Canvas
  */
 public class Composite : Scrollable {
+
+    alias Scrollable.computeSize computeSize;
+    alias Scrollable.fixStyle fixStyle;
+    alias Scrollable.forceFocus forceFocus;
+    alias Scrollable.moveAbove moveAbove;
+    alias Scrollable.moveBelow moveBelow;
+    alias Scrollable.setBounds setBounds;
+    alias Scrollable.translateMnemonic translateMnemonic;
+    alias Scrollable.translateTraversal translateTraversal;
+
     public int  embeddedHandle;
     GtkIMContext* imHandle_;
     GtkWidget* socketHandle;
@@ -218,7 +228,6 @@
     return super.childStyle ();
 }
 
-alias Scrollable.computeSize computeSize;
 override public Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
--- a/dwt/widgets/Control.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Control.d	Thu Jan 31 19:04:56 2008 +0100
@@ -78,6 +78,13 @@
  * </p>
  */
 public abstract class Control : Widget, Drawable {
+
+    alias Widget.mnemonicHit mnemonicHit;
+    alias Widget.mnemonicMatch mnemonicMatch;
+    alias Widget.setForegroundColor setForegroundColor;
+    alias Widget.translateTraversal translateTraversal;
+    alias Widget.windowProc windowProc;
+
     GtkWidget* fixedHandle;
     GdkWindow* redrawWindow;
     GdkWindow* enableWindow;
@@ -2882,12 +2889,10 @@
     return parent.menuShell ();
 }
 
-alias Widget.mnemonicHit mnemonicHit;
 bool mnemonicHit (char key) {
     return false;
 }
 
-alias Widget.mnemonicMatch mnemonicMatch;
 bool mnemonicMatch (char key) {
     return false;
 }
@@ -3507,7 +3512,6 @@
     }
 }
 
-alias Widget.setForegroundColor setForegroundColor;
 void setForegroundColor (GdkColor* color) {
     setForegroundColor (handle, color);
 }
--- a/dwt/widgets/CoolBar.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/CoolBar.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -51,6 +51,10 @@
  * </p>
  */
 public class CoolBar : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.setCursor setCursor;
+
     CoolItem[][] items;
     CoolItem[] originalItems;
     Cursor hoverCursor, dragCursor, cursor;
@@ -142,8 +146,7 @@
     if (!isValidSubclass ()) error (DWT.ERROR_INVALID_SUBCLASS);
 }
 
-alias Composite.computeSize computeSize;
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget();
     int width = 0, height = 0;
     wrapItems((style & DWT.VERTICAL) !is 0 ? hHint : wHint);
@@ -1106,7 +1109,7 @@
     }
     relayout();
 }
-public void setCursor (Cursor cursor) {
+public override void setCursor (Cursor cursor) {
     checkWidget ();
     super.setCursor (this.cursor = cursor);
 }
--- a/dwt/widgets/CoolItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/CoolItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -241,7 +241,7 @@
     }
     return new Point (width, height);
 }
-public void dispose () {
+public override void dispose () {
     if (isDisposed()) return;
 
     /*
--- a/dwt/widgets/Decorations.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Decorations.d	Thu Jan 31 19:04:56 2008 +0100
@@ -105,6 +105,9 @@
  * @see DWT
  */
 public class Decorations : Canvas {
+
+    alias Canvas.sort sort;
+
     char[] text;
     Image image;
     Image [] images;
--- a/dwt/widgets/Display.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Display.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1398,7 +1398,7 @@
  *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public Rectangle getBounds () {
+public override Rectangle getBounds () {
     checkDevice ();
     return new Rectangle (0, 0, OS.gdk_screen_width (), OS.gdk_screen_height ());
 }
@@ -1623,7 +1623,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public Point getDPI () {
+public override Point getDPI () {
     checkDevice ();
     int widthMM = OS.gdk_screen_width_mm ();
     int width = OS.gdk_screen_width ();
@@ -1762,7 +1762,7 @@
     return false;
 }
 
-public int getDepth () {
+public override int getDepth () {
     checkDevice ();
     auto visual = OS.gdk_visual_get_system();
     return visual.depth;
@@ -1997,7 +1997,7 @@
  *
  * @see DWT
  */
-public Color getSystemColor (int id) {
+public override Color getSystemColor (int id) {
     checkDevice ();
     GdkColor* gdkColor = null;
     switch (id) {
@@ -2230,7 +2230,7 @@
  *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public Font getSystemFont () {
+public override Font getSystemFont () {
     checkDevice ();
     if (systemFont !is null) return systemFont;
     auto style = OS.gtk_widget_get_style (shellHandle);
@@ -2497,7 +2497,7 @@
  * @param hDC the platform specific GC handle
  * @param data the platform specific GC data
  */
-public void internal_dispose_GC (GdkGC* gdkGC, GCData data) {
+public override void internal_dispose_GC (GdkGC* gdkGC, GCData data) {
     OS.g_object_unref (gdkGC);
 }
 
@@ -2521,7 +2521,7 @@
  *    <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
  * </ul>
  */
-public GdkGC* internal_new_GC (GCData data) {
+public override GdkGC* internal_new_GC (GCData data) {
     if (isDisposed()) DWT.error(DWT.ERROR_DEVICE_DISPOSED);
     auto root = cast(GdkDrawable *) OS.GDK_ROOT_PARENT ();
     auto gdkGC = OS.gdk_gc_new (root);
--- a/dwt/widgets/Event.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Event.d	Thu Jan 31 19:04:56 2008 +0100
@@ -221,7 +221,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+public override char[] toString () {
     return Format( "Event {type={} {} time={} data={} x={} y={} width={} height={} detail={}}",
         type, widget, time, data, x, y, width, height, detail );  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
 }
--- a/dwt/widgets/ExpandBar.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/ExpandBar.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -57,6 +57,13 @@
  * @since 3.2
  */
 public class ExpandBar : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.forceFocus forceFocus;
+    alias Composite.setBounds setBounds;
+    alias Composite.setForegroundColor setForegroundColor;
+
     ExpandItem [] items;
     ExpandItem lastFocus;
     int itemCount;
@@ -125,7 +132,7 @@
     if (!isValidSubclass ()) error (DWT.ERROR_INVALID_SUBCLASS);
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     if (OS.GTK_VERSION >= OS.buildVERSION (2, 4, 0)) {
         if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
         if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
--- a/dwt/widgets/ExpandItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/ExpandItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -50,6 +50,10 @@
  * @since 3.2
  */
 public class ExpandItem : Item {
+
+    alias Item.setForegroundColor setForegroundColor;
+    alias Item.windowProc windowProc;
+
     ExpandBar parent;
     Control control;
     ImageList imageList;
@@ -555,7 +559,7 @@
     }
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     super.setImage (image);
     if (OS.GTK_VERSION >= OS.buildVERSION (2, 4, 0)) {
         if (imageList !is null) imageList.dispose ();
@@ -590,7 +594,7 @@
     }
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     super.setText (string);
     if (OS.GTK_VERSION >= OS.buildVERSION (2, 4, 0)) {
         OS.gtk_label_set_text (labelHandle, tango.stdc.stringz.toStringz(string));
--- a/dwt/widgets/Group.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Group.d	Thu Jan 31 19:04:56 2008 +0100
@@ -43,6 +43,14 @@
  * </p>
  */
 public class Group : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.mnemonicHit mnemonicHit;
+    alias Composite.mnemonicMatch mnemonicMatch;
+    alias Composite.setBackgroundColor setBackgroundColor;
+    alias Composite.setForegroundColor setForegroundColor;
+
     GtkWidget* clientHandle_, labelHandle;
     char[] text = "";
 
@@ -102,13 +110,13 @@
     return clientHandle_;
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     Point size = super.computeSize(wHint, hHint, changed);
     int width = computeNativeSize (handle, DWT.DEFAULT, DWT.DEFAULT, false).x;
     size.x = Math.max (size.x, width);
     return size;
 }
-public Rectangle computeTrim (int x, int y, int width, int height) {
+public override Rectangle computeTrim (int x, int y, int width, int height) {
     checkWidget();
     forceResize ();
     int clientX = OS.GTK_WIDGET_X (clientHandle_);
--- a/dwt/widgets/Label.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Label.d	Thu Jan 31 19:04:56 2008 +0100
@@ -46,6 +46,14 @@
  * </p>
  */
 public class Label : Control {
+
+    alias Control.computeSize computeSize;
+    alias Control.mnemonicHit mnemonicHit;
+    alias Control.mnemonicMatch mnemonicMatch;
+    alias Control.setBackgroundColor setBackgroundColor;
+    alias Control.setBounds setBounds;
+    alias Control.setForegroundColor setForegroundColor;
+
     GtkWidget* frameHandle, labelHandle, imageHandle;
     ImageList imageList;
     Image image;
@@ -111,7 +119,7 @@
     }
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
@@ -266,7 +274,7 @@
     return DWT.LEFT;
 }
 
-public int getBorderWidth () {
+public override int getBorderWidth () {
     checkWidget();
     if (frameHandle !is null) {
         return OS.gtk_style_get_xthickness (OS.gtk_widget_get_style (frameHandle));
--- a/dwt/widgets/Link.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Link.d	Thu Jan 31 19:04:56 2008 +0100
@@ -62,6 +62,11 @@
  * @since 3.1
  */
 public class Link : Control {
+
+    alias Control.computeSize computeSize;
+    alias Control.fixStyle fixStyle;
+    alias Control.setBounds setBounds;
+
     char[] text;
     TextLayout layout;
     Color linkColor, disabledColor;
@@ -147,7 +152,7 @@
     addListener (DWT.DefaultSelection, typedListener);
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
--- a/dwt/widgets/List.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/List.d	Thu Jan 31 19:04:56 2008 +0100
@@ -46,6 +46,12 @@
  * </p>
  */
 public class List : Scrollable {
+
+    alias Scrollable.computeSize computeSize;
+    alias Scrollable.dragDetect dragDetect;
+    alias Scrollable.setBackgroundColor setBackgroundColor;
+    alias Scrollable.setBounds setBounds;
+
     GtkWidget* modelHandle;
 
     static final int TEXT_COLUMN = 0;
@@ -248,7 +254,7 @@
     }
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
--- a/dwt/widgets/MenuItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/MenuItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -671,7 +671,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget();
     if ((style & DWT.SEPARATOR) !is 0) return;
     super.setImage (image);
@@ -833,7 +833,7 @@
  *
  * @see #setAccelerator
  */
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget();
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     if ((style & DWT.SEPARATOR) !is 0) return;
--- a/dwt/widgets/Sash.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Sash.d	Thu Jan 31 19:04:56 2008 +0100
@@ -45,6 +45,10 @@
  * </p>
  */
 public class Sash : Control {
+
+    alias Control.computeSize computeSize;
+    alias Control.setCursor setCursor;
+
     bool dragging;
     int startX, startY, lastX, lastY;
     GtkWidget* defaultCursor;
@@ -122,7 +126,7 @@
     return checkBits (style, DWT.HORIZONTAL, DWT.VERTICAL, 0, 0, 0, 0);
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
--- a/dwt/widgets/Scale.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Scale.d	Thu Jan 31 19:04:56 2008 +0100
@@ -41,6 +41,9 @@
  */
 public class Scale : Control {
 
+    alias Control.computeSize computeSize;
+
+
 /**
  * Constructs a new instance of this class given its parent
  * and a style value describing its behavior and appearance.
@@ -109,7 +112,7 @@
     return checkBits (style, DWT.HORIZONTAL, DWT.VERTICAL, 0, 0, 0, 0);
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
--- a/dwt/widgets/Scrollable.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Scrollable.d	Thu Jan 31 19:04:56 2008 +0100
@@ -165,7 +165,7 @@
     if (scrolledHandle !is null) display.removeWidget (cast(GtkWidget*)scrolledHandle);
 }
 
-public int getBorderWidth () {
+public override int getBorderWidth () {
     checkWidget();
     int border = 0;
     if (fixedHandle !is null) border += OS.gtk_container_get_border_width (cast(GtkContainer*)fixedHandle);
--- a/dwt/widgets/Shell.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Shell.d	Thu Jan 31 19:04:56 2008 +0100
@@ -139,6 +139,14 @@
  * @see DWT
  */
 public class Shell : Decorations {
+
+    alias Decorations.createHandle createHandle;
+    alias Decorations.fixStyle fixStyle;
+    alias Decorations.setBounds setBounds;
+    alias Decorations.setCursor setCursor;
+    alias Decorations.setToolTipText setToolTipText;
+    alias Decorations.setZOrder setZOrder;
+
     GtkWidget* shellHandle, tooltipsHandle, tooltipWindow;
     bool mapped, moved, resized, opened;
     int oldX, oldY, oldWidth, oldHeight;
@@ -1259,7 +1267,7 @@
     super.gtk_setCursor (cursor);
 }
 
-public void setEnabled (bool enabled) {
+public override void setEnabled (bool enabled) {
     checkWidget();
     if (((state & DISABLED) is 0) is enabled) return;
     Display display = this.display;
@@ -1348,7 +1356,7 @@
     resizeBounds (width, height, false);
 }
 
-public void setMaximized (bool maximized) {
+public override void setMaximized (bool maximized) {
     checkWidget();
     super.setMaximized (maximized);
     if (maximized) {
@@ -1358,7 +1366,7 @@
     }
 }
 
-public void setMenuBar (Menu menu) {
+public override void setMenuBar (Menu menu) {
     checkWidget();
     if (menuBar is menu) return;
     bool both = menu !is null && menuBar !is null;
@@ -1383,7 +1391,7 @@
     resizeBounds (width, height, !both);
 }
 
-public void setMinimized (bool minimized) {
+public override void setMinimized (bool minimized) {
     checkWidget();
     if (this.minimized is minimized) return;
     super.setMinimized (minimized);
@@ -1477,7 +1485,7 @@
 void setRelations() {
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     super.setText (string);
 
     /*
@@ -1494,7 +1502,7 @@
     OS.gtk_window_set_title (cast(GtkWindow*)shellHandle, toStringz( chars ) );
 }
 
-public void setVisible (bool visible) {
+public override void setVisible (bool visible) {
     checkWidget();
     if ((OS.GTK_WIDGET_MAPPED (shellHandle) is visible)) return;
     if (visible) {
--- a/dwt/widgets/Slider.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Slider.d	Thu Jan 31 19:04:56 2008 +0100
@@ -71,6 +71,9 @@
  * @see ScrollBar
  */
 public class Slider : Control {
+
+    alias Control.computeSize computeSize;
+
     int detail;
     bool dragSent;
 /**
--- a/dwt/widgets/Spinner.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Spinner.d	Thu Jan 31 19:04:56 2008 +0100
@@ -54,6 +54,13 @@
  * @since 3.1
  */
 public class Spinner : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.setBackgroundColor setBackgroundColor;
+    alias Composite.setCursor setCursor;
+    alias Composite.translateTraversal translateTraversal;
+
     static final int INNER_BORDER = 2;
     static final int MIN_ARROW_WIDTH = 6;
     int lastEventTime = 0;
@@ -192,7 +199,7 @@
     if (!isValidSubclass ()) error (DWT.ERROR_INVALID_SUBCLASS);
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
@@ -356,7 +363,7 @@
     return getBaseColor ();
 }
 
-public int getBorderWidth () {
+public override int getBorderWidth () {
     checkWidget();
     auto style = OS.gtk_widget_get_style (handle);
     if ((this.style & DWT.BORDER) !is 0) {
--- a/dwt/widgets/TabFolder.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TabFolder.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -54,6 +54,14 @@
  * </p>
  */
 public class TabFolder : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.mnemonicHit mnemonicHit;
+    alias Composite.mnemonicMatch mnemonicMatch;
+    alias Composite.setBounds setBounds;
+    alias Composite.setForegroundColor setForegroundColor;
+
     TabItem [] items;
     ImageList imageList;
 
@@ -152,7 +160,7 @@
     return handle;
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     Point size = super.computeSize (wHint, hHint, changed);
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
@@ -166,7 +174,7 @@
     return size;
 }
 
-public Rectangle computeTrim (int x, int y, int width, int height) {
+public override Rectangle computeTrim (int x, int y, int width, int height) {
     checkWidget();
     forceResize ();
     auto clientHandle = clientHandle ();
--- a/dwt/widgets/TabItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TabItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -39,6 +39,9 @@
  * </p>
  */
 public class TabItem : Item {
+
+    alias Item.setForegroundColor setForegroundColor;
+
     GtkWidget* labelHandle, imageHandle, pageHandle;
     Control control;
     TabFolder parent;
@@ -269,7 +272,7 @@
     setForegroundColor (imageHandle, color);
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     super.setImage (image);
     if (image !is null) {
@@ -325,7 +328,7 @@
  * </ul>
  *
  */
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget ();
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
--- a/dwt/widgets/Table.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Table.d	Thu Jan 31 19:04:56 2008 +0100
@@ -87,6 +87,15 @@
  * </p>
  */
 public class Table : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.dragDetect dragDetect;
+    alias Composite.mnemonicHit mnemonicHit;
+    alias Composite.mnemonicMatch mnemonicMatch;
+    alias Composite.setBackgroundColor setBackgroundColor;
+    alias Composite.setBounds setBounds;
+
     CallbackData treeSelectionCallbackData;
     GtkWidget* modelHandle, checkRenderer;
     int itemCount, columnCount, lastIndexOf, sortDirection;
@@ -511,8 +520,7 @@
     }
 }
 
-alias Composite.computeSize computeSize;
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
@@ -1128,7 +1136,7 @@
     return getBaseColor ();
 }
 
-public Rectangle getClientArea () {
+public override Rectangle getClientArea () {
     checkWidget ();
     forceResize ();
     OS.gtk_widget_realize (handle);
--- a/dwt/widgets/TableColumn.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TableColumn.d	Thu Jan 31 19:04:56 2008 +0100
@@ -533,7 +533,7 @@
     OS.gtk_widget_modify_font (imageHandle, font);
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     super.setImage (image);
     if (image !is null) {
@@ -606,7 +606,7 @@
     }
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget();
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
--- a/dwt/widgets/TableItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TableItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -461,7 +461,7 @@
     return grayed;
 }
 
-public Image getImage () {
+public override Image getImage () {
     checkWidget ();
     if (!parent.checkData (this)) error (DWT.ERROR_WIDGET_DISPOSED);
     return getImage (0);
@@ -589,7 +589,7 @@
     return parent;
 }
 
-public char[] getText () {
+public override char[] getText () {
     checkWidget ();
     if (!parent.checkData (this)) error (DWT.ERROR_WIDGET_DISPOSED);
     return getText (0);
@@ -1167,7 +1167,7 @@
     cached = true;
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     setImage (0, image);
 }
@@ -1249,7 +1249,7 @@
     cached = true;
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget ();
     setText (0, string);
 }
--- a/dwt/widgets/Text.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Text.d	Thu Jan 31 19:04:56 2008 +0100
@@ -47,6 +47,14 @@
  * </p>
  */
 public class Text : Scrollable {
+
+    alias Scrollable.computeSize computeSize;
+    alias Scrollable.dragDetect dragDetect;
+    alias Scrollable.setBackgroundColor setBackgroundColor;
+    alias Scrollable.setCursor setCursor;
+    alias Scrollable.setOrientation setOrientation;
+    alias Scrollable.translateTraversal translateTraversal;
+
     GtkTextBuffer* bufferHandle;
     int tabs = 8, lastEventTime = 0;
     GdkEventKey* gdkEventKey;
@@ -329,7 +337,6 @@
     }
 }
 
-alias Scrollable.computeSize computeSize;
 override public Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
@@ -535,7 +542,7 @@
     return getBaseColor ();
 }
 
-public int getBorderWidth () {
+public override int getBorderWidth () {
     checkWidget();
     if ((style & DWT.MULTI) !is 0) return super.getBorderWidth ();
     auto style = OS.gtk_widget_get_style (handle);
--- a/dwt/widgets/ToolBar.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/ToolBar.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -52,6 +52,16 @@
  * </p>
  */
 public class ToolBar : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.forceFocus forceFocus;
+    alias Composite.mnemonicHit mnemonicHit;
+    alias Composite.mnemonicMatch mnemonicMatch;
+    alias Composite.setBounds setBounds;
+    alias Composite.setForegroundColor setForegroundColor;
+    alias Composite.setToolTipText setToolTipText;
+
     ToolItem lastFocus;
     ImageList imageList;
 
@@ -142,8 +152,7 @@
     }
 }
 
-alias Composite.computeSize computeSize;
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
@@ -376,7 +385,6 @@
     return -1;
 }
 
-alias Composite.mnemonicHit mnemonicHit;
 bool mnemonicHit (char key) {
     ToolItem [] items = getItems ();
     for (int i=0; i<items.length; i++) {
@@ -386,7 +394,6 @@
     return false;
 }
 
-alias Composite.mnemonicMatch mnemonicMatch;
 override bool mnemonicMatch (char key) {
     ToolItem [] items = getItems ();
     for (int i=0; i<items.length; i++) {
@@ -430,7 +437,6 @@
     }
 }
 
-alias Composite.setBounds setBounds;
 override int setBounds (int x, int y, int width, int height, bool move, bool resize) {
     int result = super.setBounds (x, y, width, height, move, resize);
     if ((result & RESIZED) !is 0) relayout ();
@@ -446,7 +452,6 @@
     relayout ();
 }
 
-alias Composite.setForegroundColor setForegroundColor;
 void setForegroundColor (GdkColor* color) {
     super.setForegroundColor (color);
     ToolItem [] items = getItems ();
@@ -455,7 +460,7 @@
     }
 }
 
-public void setToolTipText (char[] string) {
+public override void setToolTipText (char[] string) {
     checkWidget();
     super.setToolTipText (string);
     Shell shell = _getShell ();
--- a/dwt/widgets/ToolItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/ToolItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -48,6 +48,9 @@
  * </p>
  */
 public class ToolItem : Item {
+
+    alias Item.setForegroundColor setForegroundColor;
+
     GtkWidget* boxHandle, arrowHandle, arrowBoxHandle, separatorHandle, labelHandle, imageHandle;
     ToolBar parent;
     Control control;
@@ -282,7 +285,7 @@
     if (labelHandle !is null) display.removeWidget (labelHandle);
 }
 
-public void dispose () {
+public override void dispose () {
     if (isDisposed ()) return;
     ToolBar parent = this.parent;
     super.dispose ();
@@ -882,7 +885,7 @@
     }
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget();
     if ((style & DWT.SEPARATOR) !is 0) return;
     super.setImage (image);
@@ -975,7 +978,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget();
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     if ((style & DWT.SEPARATOR) !is 0) return;
--- a/dwt/widgets/TrayItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TrayItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -406,7 +406,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
  */
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     if (image !is null && image.isDisposed ()) error (DWT.ERROR_INVALID_ARGUMENT);
     this.image = image;
--- a/dwt/widgets/Tree.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Tree.d	Thu Jan 31 19:04:56 2008 +0100
@@ -92,6 +92,15 @@
  * </p>
  */
 public class Tree : Composite {
+
+    alias Composite.computeSize computeSize;
+    alias Composite.createHandle createHandle;
+    alias Composite.dragDetect dragDetect;
+    alias Composite.mnemonicHit mnemonicHit;
+    alias Composite.mnemonicMatch mnemonicMatch;
+    alias Composite.setBackgroundColor setBackgroundColor;
+    alias Composite.setBounds setBounds;
+
     CallbackData treeSelectionCallbackData;
     GtkTreeStore* modelHandle;
     GtkCellRenderer* checkRenderer;
@@ -534,7 +543,7 @@
     }
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+public override Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     if (wHint !is DWT.DEFAULT && wHint < 0) wHint = 0;
     if (hHint !is DWT.DEFAULT && hHint < 0) hHint = 0;
@@ -1098,7 +1107,7 @@
     return getBaseColor ();
 }
 
-public Rectangle getClientArea () {
+public override Rectangle getClientArea () {
     checkWidget ();
     forceResize ();
     OS.gtk_widget_realize (handle);
--- a/dwt/widgets/TreeColumn.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TreeColumn.d	Thu Jan 31 19:04:56 2008 +0100
@@ -529,7 +529,7 @@
     OS.gtk_widget_modify_font (imageHandle, font);
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     super.setImage (image);
     if (image !is null) {
@@ -591,7 +591,7 @@
     OS.gtk_tree_view_column_set_resizable (handle, resizable);
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget();
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
--- a/dwt/widgets/TreeItem.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/TreeItem.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*******************************************************************************
  * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -631,7 +631,7 @@
     return grayed;
 }
 
-public Image getImage () {
+public override Image getImage () {
     checkWidget ();
     if (!parent.checkData (this)) error (DWT.ERROR_WIDGET_DISPOSED);
     return getImage (0);
@@ -849,7 +849,7 @@
     return item;
 }
 
-public char[] getText () {
+public override char[] getText () {
     checkWidget ();
     if (!parent.checkData (this)) error (DWT.ERROR_WIDGET_DISPOSED);
     return getText (0);
@@ -1547,7 +1547,7 @@
     cached = true;
 }
 
-public void setImage (Image image) {
+public override void setImage (Image image) {
     checkWidget ();
     setImage (0, image);
 }
@@ -1631,7 +1631,7 @@
     cached = true;
 }
 
-public void setText (char[] string) {
+public override void setText (char[] string) {
     checkWidget ();
     setText (0, string);
 }
--- a/dwt/widgets/Widget.d	Sun Jan 27 16:20:03 2008 +0100
+++ b/dwt/widgets/Widget.d	Thu Jan 31 19:04:56 2008 +0100
@@ -1518,7 +1518,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+public override char[] toString () {
     char[] str = "*Disposed*";
     if (!isDisposed ()) {
         str = "*Wrong Thread*";