changeset 48:9a64a7781bab

Added override and alias, first chunk. Thanks torhu for doing this patch.
author Frank Benoit <benoit@tionex.de>
date Sun, 03 Feb 2008 01:14:54 +0100
parents 6940f8be58ba
children 8b6ed0169471
files dwt/DWTError.d dwt/DWTException.d dwt/accessibility/AccessibleEvent.d dwt/accessibility/AccessibleTextEvent.d dwt/events/KeyEvent.d dwt/events/MenuDetectEvent.d dwt/events/PaintEvent.d dwt/events/SelectionEvent.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/image/GIFFileFormat.d dwt/internal/image/JPEGAppn.d dwt/internal/image/JPEGArithmeticConditioningTable.d dwt/internal/image/JPEGComment.d dwt/internal/image/JPEGDecoder.d dwt/internal/image/JPEGEndOfImage.d dwt/internal/image/JPEGFileFormat.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/OS2BMPFileFormat.d dwt/internal/image/PNGFileFormat.d dwt/internal/image/PngChunk.d dwt/internal/image/PngDecodingDataStream.d dwt/internal/image/PngIdatChunk.d dwt/internal/image/PngIendChunk.d dwt/internal/image/PngIhdrChunk.d dwt/internal/image/PngPlteChunk.d dwt/internal/image/PngTrnsChunk.d dwt/internal/image/TIFFFileFormat.d dwt/internal/image/WinBMPFileFormat.d dwt/internal/image/WinICOFileFormat.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/widgets/Button.d dwt/widgets/Control.d
diffstat 65 files changed, 173 insertions(+), 164 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/DWTError.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/DWTError.d	Sun Feb 03 01:14:54 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
@@ -44,6 +44,7 @@
  */
 
 public class DWTError : PlatformException {
+
     /**
      * The DWT error code, one of DWT.ERROR_*.
      */
--- a/dwt/DWTException.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/DWTException.d	Sun Feb 03 01:14:54 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
@@ -35,6 +35,7 @@
  */
 
 public class DWTException : TracedException {
+
     /**
      * The DWT error code, one of DWT.ERROR_*.
      */
--- a/dwt/accessibility/AccessibleEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/accessibility/AccessibleEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -64,7 +64,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+override public char[] toString () {
     return Format( "AccessibleEvent {childID={} result={}}", childID, result );
 }
 }
--- a/dwt/accessibility/AccessibleTextEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/accessibility/AccessibleTextEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -53,7 +53,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+override public char[] toString () {
     return Format( "AccessibleTextEvent {{childID={} offset={} length={}}",
         childID,
         offset,
--- a/dwt/events/KeyEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/KeyEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -98,7 +98,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} character={} keyCode={} stateMask={} doit={}}",
         super.toString[ 0 .. $-2 ],
         character, keyCode, stateMask, doit );
--- a/dwt/events/MenuDetectEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/MenuDetectEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -67,7 +67,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} x={} y={} doit={}}", super.toString[ 0 .. $-2 ], x, y, doit );
 }
 }
--- a/dwt/events/PaintEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/PaintEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -92,7 +92,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} gc={} x={} y={} width={} height={} count={}}",
         super.toString[ 0 .. $-2 ],
         gc, x, y, width, height, count );
--- a/dwt/events/SelectionEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/SelectionEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -128,7 +128,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} item={} detail={} x={} y={} width={} height={} stateMask={} text={} doit={}}",
         super.toString[ 0 .. $-2 ],
         item,
--- a/dwt/events/TraverseEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/TraverseEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -131,7 +131,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} detail={}}", super.toString[ 0 .. $-2 ], detail );
 }
 }
--- a/dwt/events/TypedEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/TypedEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -98,7 +98,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{}{{{} time={} data={}}", widget.toString(), time, data.toString() );
 }
 }
--- a/dwt/events/VerifyEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/events/VerifyEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -60,7 +60,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     return Format( "{} start={} end={} text={}}", super.toString[ 0 .. $-2 ], start, end, text );
 }
 }
--- a/dwt/graphics/Color.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Color.d	Sun Feb 03 01:14:54 2008 +0100
@@ -124,7 +124,7 @@
  * the color. Applications must dispose of all colors which
  * they allocate.
  */
-public void dispose() {
+override public void dispose() {
     if (handle is -1) return;
     if (device.isDisposed()) return;
 
@@ -308,7 +308,7 @@
  *
  * @return <code>true</code> when the color is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is -1;
 }
 
@@ -318,7 +318,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "Color {*DISPOSED*}"; //$NON-NLS-1$
     return Format( "Color {{{}, {}, {}}", getRed(), getGreen(), getBlue()); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 }
--- a/dwt/graphics/Cursor.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Cursor.d	Sun Feb 03 01:14:54 2008 +0100
@@ -368,7 +368,7 @@
  * the cursor. Applications must dispose of all cursors which
  * they allocate.
  */
-public void dispose () {
+override public void dispose () {
     if (handle is null) return;
     if (device.isDisposed()) return;
 
@@ -444,7 +444,7 @@
  *
  * @return <code>true</code> when the cursor is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -454,7 +454,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "Cursor {*DISPOSED*}";
     return Format( "Cursor {{{}}", handle );
 }
--- a/dwt/graphics/Font.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Font.d	Sun Feb 03 01:14:54 2008 +0100
@@ -162,7 +162,7 @@
  * the font. Applications must dispose of all fonts which
  * they allocate.
  */
-public void dispose() {
+override public void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     OS.DeleteObject(handle);
@@ -218,7 +218,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+override public hash_t toHash () {
     return cast(hash_t)handle;
 }
 
@@ -243,7 +243,7 @@
  *
  * @return <code>true</code> when the font is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -253,7 +253,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "Font {*DISPOSED*}";
     return Format( "Font {{{}}", handle );
 }
--- a/dwt/graphics/FontData.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/FontData.d	Sun Feb 03 01:14:54 2008 +0100
@@ -294,7 +294,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+override public int opEquals (Object object) {
     if (object is this) return true;
     if( auto fd = cast(FontData)object ){
         LOGFONT* lf = &fd.data;
@@ -452,7 +452,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+override public hash_t toHash () {
     char[] name = getName();
     return data.lfCharSet ^ getHeight() ^ data.lfWidth ^ data.lfEscapement ^
         data.lfOrientation ^ data.lfWeight ^ data.lfItalic ^data.lfUnderline ^
@@ -597,7 +597,7 @@
  *
  * @see FontData
  */
-public char[] toString() {
+override public char[] toString() {
     StringBuffer buffer = new StringBuffer();
     buffer.append("1|"); //$NON-NLS-1$
     buffer.append(getName());
--- a/dwt/graphics/FontMetrics.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/FontMetrics.d	Sun Feb 03 01:14:54 2008 +0100
@@ -56,7 +56,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+override public int opEquals (Object object) {
     if (object is this) return true;
     if( auto metricObj = cast(FontMetrics)object ){
         auto metric = metricObj.handle;
@@ -154,7 +154,7 @@
  *
  * @see #equals
  */
-public hash_t toHash() {
+override public hash_t toHash() {
     return handle.tmHeight ^ handle.tmAscent ^ handle.tmDescent ^
         handle.tmInternalLeading ^ handle.tmExternalLeading ^
         handle.tmAveCharWidth ^ handle.tmMaxCharWidth ^ handle.tmWeight ^
--- a/dwt/graphics/GC.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/GC.d	Sun Feb 03 01:14:54 2008 +0100
@@ -631,7 +631,7 @@
  *    <li>ERROR_THREAD_INVALID_ACCESS if not called from the thread that created the drawable</li>
  * </ul>
  */
-public void dispose() {
+override public void dispose() {
     if (handle is null) return;
     if (data.device.isDisposed()) return;
 
@@ -3766,7 +3766,7 @@
  *
  * @return <code>true</code> when the GC is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -4817,7 +4817,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "GC {*DISPOSED*}";
     return Format( "GC {{{}}", handle );
 }
--- a/dwt/graphics/Image.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Image.d	Sun Feb 03 01:14:54 2008 +0100
@@ -1032,7 +1032,7 @@
  * the image. Applications must dispose of all images which
  * they allocate.
  */
-public void dispose () {
+override public void dispose () {
     if (handle is null) return;
     if (device.isDisposed()) return;
     if (memGC !is null) memGC.dispose();
@@ -1058,7 +1058,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+override public int opEquals (Object object) {
     if (object is this) return true;
     if (!(cast(Image)object)) return false;
     Image image = cast(Image) object;
@@ -1555,7 +1555,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+override public hash_t toHash () {
     return cast(hash_t)handle;
 }
 
@@ -2025,7 +2025,7 @@
  *
  * @return <code>true</code> when the image is disposed and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -2103,7 +2103,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "Image {*DISPOSED*}";
     return Format( "Image {{{}}", handle );
 }
--- a/dwt/graphics/ImageLoaderEvent.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/ImageLoaderEvent.d	Sun Feb 03 01:14:54 2008 +0100
@@ -85,7 +85,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Path.d	Sun Feb 03 01:14:54 2008 +0100
@@ -325,7 +325,7 @@
  * the Path. Applications must dispose of all Paths that
  * they allocate.
  */
-public void dispose() {
+override public void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     Gdip.GraphicsPath_delete(handle);
@@ -467,7 +467,7 @@
  *
  * @return <code>true</code> when the Path is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -518,7 +518,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+override public char[] toString() {
     if (isDisposed()) return "Path {*DISPOSED*}";
     return Format( "Path {{{}}", handle );
 }
--- a/dwt/graphics/Pattern.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Pattern.d	Sun Feb 03 01:14:54 2008 +0100
@@ -228,7 +228,7 @@
  * the Pattern. Applications must dispose of all Patterns that
  * they allocate.
  */
-public void dispose() {
+override public void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     int type = Gdip.Brush_GetType(handle);
@@ -261,7 +261,7 @@
  *
  * @return <code>true</code> when the Pattern is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -271,7 +271,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+override public char[] toString() {
     if (isDisposed()) return "Pattern {*DISPOSED*}";
     return Format( "Pattern {{{}}", handle );
 }
--- a/dwt/graphics/Point.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Point.d	Sun Feb 03 01:14:54 2008 +0100
@@ -94,7 +94,7 @@
  *
  * @see #equals(Object)
  */
-public hash_t toHash () {
+override public hash_t toHash () {
     return x ^ y;
 }
 
@@ -104,7 +104,7 @@
  *
  * @return a string representation of the point
  */
-public char[] toString () {
+override public char[] toString () {
     return Format( "Point {}, {}}", x, y );; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 }
 
--- a/dwt/graphics/RGB.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/RGB.d	Sun Feb 03 01:14:54 2008 +0100
@@ -213,7 +213,7 @@
  *
  * @see #equals(Object)
  */
-public hash_t toHash() {
+override public hash_t toHash() {
     return (blue << 16) | (green << 8) | red;
 }
 
--- a/dwt/graphics/Region.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Region.d	Sun Feb 03 01:14:54 2008 +0100
@@ -237,7 +237,7 @@
  * the region. Applications must dispose of all regions which
  * they allocate.
  */
-public void dispose () {
+override public void dispose () {
     if (handle is null) return;
     if (device.isDisposed()) return;
     OS.DeleteObject(handle);
@@ -256,7 +256,7 @@
  *
  * @see #hashCode
  */
-public int opEquals (Object object) {
+override public int opEquals (Object object) {
     if (this is object) return true;
     if (!(cast(Region)object)) return false;
     Region rgn = cast(Region)object;
@@ -293,7 +293,7 @@
  *
  * @see #equals
  */
-public hash_t toHash () {
+override public hash_t toHash () {
     return cast(hash_t)handle;
 }
 
@@ -426,7 +426,7 @@
  *
  * @return <code>true</code> when the region is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -590,7 +590,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "Region {*DISPOSED*}";
     return Format( "Region {{{}}", handle );
 }
--- a/dwt/graphics/TextLayout.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/TextLayout.d	Sun Feb 03 01:14:54 2008 +0100
@@ -160,7 +160,7 @@
         x = 0;
         lineBreak = softBreak = false;
     }
-    public char[] toString () {
+    override public char[] toString () {
         return Format( "StyleItem {{{}, {}}", start, style );
     }
     }
@@ -463,7 +463,7 @@
  * Disposes of the operating system resources associated with
  * the text layout. Applications must dispose of all allocated text layouts.
  */
-public void dispose () {
+override public void dispose () {
     if (device is null) return;
     freeRuns();
     font = null;
@@ -1870,7 +1870,7 @@
  *
  * @return <code>true</code> when the text layout is disposed and <code>false</code> otherwise
  */
-public bool isDisposed () {
+override public bool isDisposed () {
     return device is null;
 }
 
@@ -2496,7 +2496,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString () {
+override public char[] toString () {
     if (isDisposed()) return "TextLayout {*DISPOSED*}";
     return "TextLayout {}";
 }
--- a/dwt/graphics/TextStyle.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/TextStyle.d	Sun Feb 03 01:14:54 2008 +0100
@@ -160,7 +160,7 @@
  *
  * @return a string representation of the <code>TextStyle</code>
  */
-public char[] toString () {
+override public char[] toString () {
     char[] buffer = "TextStyle {";
     int startLength = buffer.length;
     if (font != null) {
--- a/dwt/graphics/Transform.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/graphics/Transform.d	Sun Feb 03 01:14:54 2008 +0100
@@ -156,7 +156,7 @@
  * the Transform. Applications must dispose of all Transforms that
  * they allocate.
  */
-public void dispose() {
+override public void dispose() {
     if (handle is null) return;
     if (device.isDisposed()) return;
     Gdip.Matrix_delete(handle);
@@ -210,7 +210,7 @@
  *
  * @return <code>true</code> when the Transform is disposed, and <code>false</code> otherwise
  */
-public bool isDisposed() {
+override public bool isDisposed() {
     return handle is null;
 }
 
@@ -343,7 +343,7 @@
  *
  * @return a string representation of the receiver
  */
-public char[] toString() {
+override public char[] toString() {
     if (isDisposed()) return "Transform {*DISPOSED*}";
     float[6] elements;
     getElements(elements);
--- a/dwt/internal/image/GIFFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/GIFFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -56,7 +56,7 @@
         return new PaletteData(colors);
     }
 
-    bool isFileFormat(LEDataInputStream stream) {
+    override bool isFileFormat(LEDataInputStream stream) {
         try {
             byte[3] signature;
             stream.read(signature);
@@ -71,7 +71,7 @@
      * Load the GIF image(s) stored in the input stream.
      * Return an array of ImageData representing the image(s).
      */
-    ImageData[] loadFromByteStream() {
+    override ImageData[] loadFromByteStream() {
         byte[3] signatureBytes;
         byte[3] versionBytes;
         byte[7] block;
@@ -438,7 +438,7 @@
         return new PaletteData(colors);
     }
 
-    void unloadIntoByteStream(ImageLoader loader) {
+    override void unloadIntoByteStream(ImageLoader loader) {
 
         /* Step 1: Acquire GIF parameters. */
         ImageData[] data = loader.data;
--- a/dwt/internal/image/JPEGAppn.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGAppn.d	Sun Feb 03 01:14:54 2008 +0100
@@ -26,7 +26,7 @@
         super(byteStream);
     }
 
-    public bool verify() {
+    override public bool verify() {
         int marker = getSegmentMarker();
         return marker >= JPEGFileFormat.APP0 && marker <= JPEGFileFormat.APP15;
     }
--- a/dwt/internal/image/JPEGArithmeticConditioningTable.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGArithmeticConditioningTable.d	Sun Feb 03 01:14:54 2008 +0100
@@ -22,7 +22,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    override public int signature() {
         return JPEGFileFormat.DAC;
     }
 }
--- a/dwt/internal/image/JPEGComment.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGComment.d	Sun Feb 03 01:14:54 2008 +0100
@@ -26,7 +26,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    override public int signature() {
         return JPEGFileFormat.COM;
     }
 }
--- a/dwt/internal/image/JPEGDecoder.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGDecoder.d	Sun Feb 03 01:14:54 2008 +0100
@@ -409,11 +409,11 @@
             saved = new savable_state();      /* Other state at start of MCU */
         }
 
-        void start_pass (jpeg_decompress_struct cinfo) {
+        override void start_pass (jpeg_decompress_struct cinfo) {
             start_pass_huff_decoder(cinfo);
         }
 
-        bool decode_mcu (jpeg_decompress_struct cinfo, short[][] MCU_data) {
+        override bool decode_mcu (jpeg_decompress_struct cinfo, short[][] MCU_data) {
             huff_entropy_decoder entropy = this;
             int blkn;
 //          BITREAD_STATE_VARS;
@@ -786,11 +786,11 @@
             saved = new savable_state();      /* Other state at start of MCU */
         }
 
-        void start_pass (jpeg_decompress_struct cinfo) {
+        override void start_pass (jpeg_decompress_struct cinfo) {
             start_pass_phuff_decoder(cinfo);
         }
 
-        bool decode_mcu (jpeg_decompress_struct cinfo, short[][] MCU_data) {
+        override bool decode_mcu (jpeg_decompress_struct cinfo, short[][] MCU_data) {
             bool is_DC_band = (cinfo.Ss is 0);
             if (cinfo.Ah is 0) {
                 if (is_DC_band)
--- a/dwt/internal/image/JPEGEndOfImage.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGEndOfImage.d	Sun Feb 03 01:14:54 2008 +0100
@@ -26,11 +26,11 @@
         super(reference);
     }
 
-    public int signature() {
+    override public int signature() {
         return JPEGFileFormat.EOI;
     }
 
-    public int fixedSize() {
+    override public int fixedSize() {
         return 2;
     }
 }
--- a/dwt/internal/image/JPEGFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -1370,7 +1370,7 @@
         }
     }
 }
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         JPEGStartOfImage soi = new JPEGStartOfImage(stream);
         stream.unread(soi.reference);
@@ -1391,7 +1391,7 @@
             && dataUnit[rIndex + 5] is 0 && dataUnit[rIndex + 6] is 0
             && dataUnit[rIndex + 7] is 0;
 }
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     //TEMPORARY CODE
     //PORTING_FIXME
     if (/+System.getProperty("dwt.internal.image.JPEGFileFormat_3.2") is null+/ true ) {
@@ -1772,7 +1772,7 @@
         destIndex += compWidth;
     }
 }
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     ImageData image = loader.data[0];
     if (!(new JPEGStartOfImage()).writeToStream(outputStream)) {
         DWT.error(DWT.ERROR_IO);
--- a/dwt/internal/image/JPEGFixedSizeSegment.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGFixedSizeSegment.d	Sun Feb 03 01:14:54 2008 +0100
@@ -42,10 +42,10 @@
 
     abstract public int fixedSize();
 
-    public int getSegmentLength() {
+    override public int getSegmentLength() {
         return fixedSize() - 2;
     }
 
-    public void setSegmentLength(int length) {
+    override public void setSegmentLength(int length) {
     }
 }
--- a/dwt/internal/image/JPEGFrameHeader.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGFrameHeader.d	Sun Feb 03 01:14:54 2008 +0100
@@ -198,7 +198,7 @@
      *  SOF_14 - Differential progressive, arithmetic coding
      *  SOF_15 - Differential lossless, arithmetic coding
      */
-    public bool verify() {
+    override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGHuffmanTable.d	Sun Feb 03 01:14:54 2008 +0100
@@ -264,7 +264,7 @@
     System.arraycopy(huffTables, 0, allTables, 0, huffTableCount);
 }
 
-public int signature() {
+override public int signature() {
     return JPEGFileFormat.DHT;
 }
 }
--- a/dwt/internal/image/JPEGQuantizationTable.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGQuantizationTable.d	Sun Feb 03 01:14:54 2008 +0100
@@ -166,7 +166,7 @@
     }
 }
 
-public int signature() {
+override public int signature() {
     return JPEGFileFormat.DQT;
 }
 }
--- a/dwt/internal/image/JPEGRestartInterval.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGRestartInterval.d	Sun Feb 03 01:14:54 2008 +0100
@@ -22,7 +22,7 @@
         super(byteStream);
     }
 
-    public int signature() {
+    override public int signature() {
         return JPEGFileFormat.DRI;
     }
 
@@ -30,7 +30,7 @@
         return ((reference[4] & 0xFF) << 8 | (reference[5] & 0xFF));
     }
 
-    public int fixedSize() {
+    override public int fixedSize() {
         return 6;
     }
 }
--- a/dwt/internal/image/JPEGScanHeader.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGScanHeader.d	Sun Feb 03 01:14:54 2008 +0100
@@ -95,7 +95,7 @@
     reference[(2 * getNumberOfImageComponents()) + 5] = cast(byte)anInteger;
 }
 
-public int signature() {
+override public int signature() {
     return JPEGFileFormat.SOS;
 }
 
--- a/dwt/internal/image/JPEGStartOfImage.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/JPEGStartOfImage.d	Sun Feb 03 01:14:54 2008 +0100
@@ -30,11 +30,11 @@
         super(byteStream);
     }
 
-    public int signature() {
+    override public int signature() {
         return JPEGFileFormat.SOI;
     }
 
-    public int fixedSize() {
+    override public int fixedSize() {
         return 2;
     }
 }
--- a/dwt/internal/image/LEDataInputStream.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/LEDataInputStream.d	Sun Feb 03 01:14:54 2008 +0100
@@ -51,7 +51,7 @@
         else throw new IllegalArgumentException("bufferSize must be greater zero" );
     }
 
-    public void close() {
+    override public void close() {
         buf = null;
         if (host !is null) {
             host.close();
@@ -69,7 +69,7 @@
     /**
      * Answers how many bytes are available for reading without blocking
      */
-    public int available() {
+    override public 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() {
+    override public 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) {
+    override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/LEDataOutputStream.d	Sun Feb 03 01:14:54 2008 +0100
@@ -25,13 +25,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) {
+override public 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)  {
+override public void write(int b)  {
     ostr.write(b);
 }
 /**
--- a/dwt/internal/image/OS2BMPFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/OS2BMPFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -29,7 +29,7 @@
     static final int BMPHeaderFixedSize = 12;
     int width, height, bitCount;
 
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         byte[] header = new byte[18];
         stream.read(header);
@@ -73,7 +73,7 @@
         DWT.error(DWT.ERROR_INVALID_IMAGE);
     return header;
 }
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     int[] fileHeader = loadFileHeader();
     byte[] infoHeader = new byte[BMPHeaderFixedSize];
     try {
@@ -210,7 +210,7 @@
  * Unload a DeviceIndependentImage using Windows .BMP format into the given
  * byte stream.
  */
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     ImageData image = loader.data[0];
     byte[] rgbs;
     int numCols;
--- a/dwt/internal/image/PNGFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PNGFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -58,7 +58,7 @@
 /**
  * Load the PNG image from the byte stream.
  */
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     try {
         readSignature();
         PngChunkReader chunkReader = new PngChunkReader(inputStream);
@@ -160,11 +160,11 @@
             }
     }
 }
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     PngEncoder encoder = new PngEncoder(loader);
     encoder.encode(outputStream);
 }
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         byte[] signature = new byte[SIGNATURE_LENGTH];
         stream.read(signature);
--- a/dwt/internal/image/PngChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -374,7 +374,7 @@
  *
  * @return a string representation of the event
  */
-public char[] toString() {
+override public char[] toString() {
     char[] buffer = Format( "{\n\tLength: {}\n\tType: {}{}\n\tCRC: {:X}\n}",
         getLength(),
         cast(char[]) getTypeBytes(),
--- a/dwt/internal/image/PngDecodingDataStream.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngDecodingDataStream.d	Sun Feb 03 01:14:54 2008 +0100
@@ -51,7 +51,7 @@
     lzBlockReader.assertCompressedDataAtEnd();
 }
 
-public void close() {
+override public void close() {
     assertImageDataAtEnd();
     checkAdler();
 }
--- a/dwt/internal/image/PngIdatChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngIdatChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -41,14 +41,14 @@
     super(reference);
 }
 
-int getChunkType() {
+override int getChunkType() {
     return CHUNK_IDAT;
 }
 
 /**
  * Answer whether the chunk is a valid IDAT chunk.
  */
-void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
+override void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
     if (!readState.readIHDR
         || (headerChunk.getMustHavePalette() && !readState.readPLTE)
         || readState.readIEND)
--- a/dwt/internal/image/PngIendChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngIendChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -30,7 +30,7 @@
     super(reference);
 }
 
-int getChunkType() {
+override int getChunkType() {
     return CHUNK_IEND;
 }
 
--- a/dwt/internal/image/PngIhdrChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngIhdrChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -82,7 +82,7 @@
     interlaceMethod = reference[INTERLACE_METHOD_OFFSET];
 }
 
-int getChunkType() {
+override int getChunkType() {
     return CHUNK_IHDR;
 }
 
@@ -218,7 +218,7 @@
 /**
  * Answer whether the chunk is a valid IHDR chunk.
  */
-void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
+override void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
     // An IHDR chunk is invalid if any other chunk has
     // been read.
     if (readState.readIHDR
--- a/dwt/internal/image/PngPlteChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngPlteChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -39,7 +39,7 @@
     paletteSize = length / 3;
 }
 
-int getChunkType() {
+override int getChunkType() {
     return CHUNK_PLTE;
 }
 
@@ -87,7 +87,7 @@
 /**
  * Answer whether the chunk is a valid PLTE chunk.
  */
-void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
+override void validate(PngFileReadState readState, PngIhdrChunk headerChunk) {
     // A PLTE chunk is invalid if no IHDR has been read or if any PLTE,
     // IDAT, or IEND chunk has been read.
     if (!readState.readIHDR
--- a/dwt/internal/image/PngTrnsChunk.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/PngTrnsChunk.d	Sun Feb 03 01:14:54 2008 +0100
@@ -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;
@@ -39,7 +42,7 @@
     super(reference);
 }
 
-int getChunkType() {
+override int getChunkType() {
     return CHUNK_tRNS;
 }
 
--- a/dwt/internal/image/TIFFFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/TIFFFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -27,7 +27,7 @@
  */
 final class TIFFFileFormat : FileFormat {
 
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         byte[] header = new byte[4];
         stream.read(header);
@@ -43,7 +43,7 @@
     }
 }
 
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     byte[] header = new byte[8];
     bool isLittleEndian;
     ImageData[] images = new ImageData[0];
@@ -70,7 +70,7 @@
     return images;
 }
 
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     /* We do not currently support writing multi-page tiff,
      * so we use the first image data in the loader's array. */
     ImageData image = loader.data[0];
--- a/dwt/internal/image/WinBMPFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/WinBMPFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -332,7 +332,7 @@
     }
     return 1;
 }
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         byte[] header = new byte[18];
         stream.read(header);
@@ -394,7 +394,7 @@
         DWT.error(DWT.ERROR_INVALID_IMAGE);
     return header;
 }
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     int[] fileHeader = loadFileHeader();
     byte[] infoHeader = new byte[BMPHeaderFixedSize];
     try {
@@ -599,7 +599,7 @@
  * Unload a DeviceIndependentImage using Windows .BMP format into the given
  * byte stream.
  */
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     ImageData image = loader.data[0];
     byte[] rgbs;
     int numCols;
--- a/dwt/internal/image/WinICOFileFormat.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/internal/image/WinICOFileFormat.d	Sun Feb 03 01:14:54 2008 +0100
@@ -55,7 +55,7 @@
     int paletteSize = i.palette.colors !is null ? i.palette.colors.length * 4 : 0;
     return WinBMPFileFormat.BMPHeaderFixedSize + paletteSize + dataSize;
 }
-bool isFileFormat(LEDataInputStream stream) {
+override bool isFileFormat(LEDataInputStream stream) {
     try {
         byte[] header = new byte[4];
         stream.read(header);
@@ -117,7 +117,7 @@
         DWT.error(DWT.ERROR_INVALID_IMAGE);
     return numIcons;
 }
-ImageData[] loadFromByteStream() {
+override ImageData[] loadFromByteStream() {
     int numIcons = loadFileHeader(inputStream);
     int[][] headers = loadIconHeaders(numIcons);
     ImageData[] icons = new ImageData[headers.length];
@@ -267,7 +267,7 @@
         DWT.error(DWT.ERROR_IO, e);
     }
 }
-void unloadIntoByteStream(ImageLoader loader) {
+override void unloadIntoByteStream(ImageLoader loader) {
     /* We do not currently support writing multi-image ico,
      * so we use the first image data in the loader's array. */
     ImageData image = loader.data[0];
--- a/dwt/layout/FillLayout.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/FillLayout.d	Sun Feb 03 01:14:54 2008 +0100
@@ -112,7 +112,7 @@
     this.type = type;
 }
 
-protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache) {
+override protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache) {
     Control [] children = composite.getChildren ();
     int count = children.length;
     int maxWidth = 0, maxHeight = 0;
@@ -174,7 +174,7 @@
     return size;
 }
 
-protected bool flushCache (Control control) {
+override protected bool flushCache (Control control) {
     Object data = control.getLayoutData();
     if (data !is null) (cast(FillData)data).flushCache();
     return true;
@@ -187,7 +187,7 @@
     return string[ index + 1 .. string.length ];
 }
 
-protected void layout (Composite composite, bool flushCache) {
+override protected void layout (Composite composite, bool flushCache) {
     Rectangle rect = composite.getClientArea ();
     Control [] children = composite.getChildren ();
     int count = children.length;
@@ -233,7 +233,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/FormAttachment.d	Sun Feb 03 01:14:54 2008 +0100
@@ -298,7 +298,7 @@
  *
  * @return a string representation of the FormAttachment
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/FormData.d	Sun Feb 03 01:14:54 2008 +0100
@@ -334,7 +334,7 @@
  *
  * @return a string representation of the FormData object
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/FormLayout.d	Sun Feb 03 01:14:54 2008 +0100
@@ -247,14 +247,14 @@
     return height.solveY (data.getHeight (control, flushCache));
 }
 
-protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache) {
+override protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache) {
     Point size = layout (composite, false, 0, 0, wHint, hHint, flushCache);
     if (wHint !is DWT.DEFAULT) size.x = wHint;
     if (hHint !is DWT.DEFAULT) size.y = hHint;
     return size;
 }
 
-protected bool flushCache (Control control) {
+override protected bool flushCache (Control control) {
     Object data = control.getLayoutData ();
     if (data !is null) (cast(FormData) data).flushCache ();
     return true;
@@ -287,7 +287,7 @@
     return width.solveY (data.getWidth (control, flushCache));
 }
 
-protected void layout (Composite composite, bool flushCache) {
+override protected void layout (Composite composite, bool flushCache) {
     Rectangle rect = composite.getClientArea ();
     int x = rect.x + marginLeft + marginWidth;
     int y = rect.y + marginTop + marginHeight;
@@ -379,7 +379,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/GridData.d	Sun Feb 03 01:14:54 2008 +0100
@@ -516,7 +516,7 @@
  *
  * @return a string representation of the GridData object
  */
-public char[] toString () {
+override public char[] toString () {
     char[] hAlign = "";
     switch (horizontalAlignment) {
         case DWT.FILL: hAlign = "DWT.FILL"; break;
--- a/dwt/layout/GridLayout.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/GridLayout.d	Sun Feb 03 01:14:54 2008 +0100
@@ -170,14 +170,14 @@
     this.makeColumnsEqualWidth = makeColumnsEqualWidth;
 }
 
-protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache_) {
+override protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache_) {
     Point size = layout (composite, false, 0, 0, wHint, hHint, flushCache_);
     if (wHint !is DWT.DEFAULT) size.x = wHint;
     if (hHint !is DWT.DEFAULT) size.y = hHint;
     return size;
 }
 
-protected bool flushCache (Control control) {
+override protected bool flushCache (Control control) {
     Object data = control.getLayoutData ();
     if (data !is null) (cast(GridData) data).flushCache ();
     return true;
@@ -200,7 +200,7 @@
     return null;
 }
 
-protected void layout (Composite composite, bool flushCache_) {
+override protected void layout (Composite composite, bool flushCache_) {
     Rectangle rect = composite.getClientArea ();
     layout (composite, true, rect.x, rect.y, rect.width, rect.height, flushCache_);
 }
@@ -740,7 +740,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/RowData.d	Sun Feb 03 01:14:54 2008 +0100
@@ -118,7 +118,7 @@
  *
  * @return a string representation of the RowData object
  */
-public char[] toString () {
+override public 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 Feb 03 00:59:28 2008 +0100
+++ b/dwt/layout/RowLayout.d	Sun Feb 03 01:14:54 2008 +0100
@@ -194,7 +194,7 @@
     this.type = type;
 }
 
-protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache_) {
+override protected Point computeSize (Composite composite, int wHint, int hHint, bool flushCache_) {
     Point extent;
     if (type is DWT.HORIZONTAL) {
         extent = layoutHorizontal (composite, false, (wHint !is DWT.DEFAULT) && wrap, wHint, flushCache_);
@@ -216,7 +216,7 @@
     return control.computeSize (wHint, hHint, flushCache_);
 }
 
-protected bool flushCache (Control control) {
+override protected bool flushCache (Control control) {
     return true;
 }
 
@@ -227,7 +227,7 @@
     return string[ index + 1 .. string.length ];
 }
 
-protected void layout (Composite composite, bool flushCache_) {
+override protected void layout (Composite composite, bool flushCache_) {
     Rectangle clientArea = composite.getClientArea ();
     if (type is DWT.HORIZONTAL) {
         layoutHorizontal (composite, true, wrap, clientArea.width, flushCache_);
@@ -456,7 +456,7 @@
  *
  * @return a string representation of the layout
  */
-public char[] toString () {
+override public 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/widgets/Button.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/widgets/Button.d	Sun Feb 03 01:14:54 2008 +0100
@@ -57,6 +57,10 @@
  */
 
 public class Button : Control {
+
+    alias Control.computeSize computeSize;
+    alias Control.windowProc windowProc;
+
     alias extern(Windows) int function( HWND, uint, uint, int ) TWindowProc;
     char[] text = "", message = "";
     Image image, image2, disabledImage;
@@ -398,7 +402,7 @@
     return margin;
 }
 
-public Point computeSize (int wHint, int hHint, bool changed) {
+override public Point computeSize (int wHint, int hHint, bool changed) {
     checkWidget ();
     int width = 0, height = 0, border = getBorderWidth ();
     if ((style & DWT.ARROW) !is 0) {
@@ -487,7 +491,7 @@
     return new Point (width, height);
 }
 
-void createHandle () {
+override void createHandle () {
     super.createHandle ();
     if ((style & DWT.PUSH) is 0) state |= THEME_BACKGROUND;
     /*
@@ -507,18 +511,18 @@
     }
 }
 
-int defaultBackground () {
+override int defaultBackground () {
     if ((style & (DWT.PUSH | DWT.TOGGLE)) !is 0) {
         return OS.GetSysColor (OS.COLOR_BTNFACE);
     }
     return super.defaultBackground ();
 }
 
-int defaultForeground () {
+override int defaultForeground () {
     return OS.GetSysColor (OS.COLOR_BTNTEXT);
 }
 
-void enableWidget (bool enabled) {
+override void enableWidget (bool enabled) {
     super.enableWidget (enabled);
     /*
     * Bug in Windows.  When a button control is right-to-left and
@@ -643,7 +647,7 @@
     return message;
 }
 
-char[] getNameText () {
+override char[] getNameText () {
     return getText ();
 }
 
@@ -688,13 +692,13 @@
     return text;
 }
 
-bool isTabItem () {
+override bool isTabItem () {
     //TEMPORARY CODE
     //if ((style & DWT.PUSH) !is 0) return true;
     return super.isTabItem ();
 }
 
-bool mnemonicHit (wchar ch) {
+override bool mnemonicHit (wchar ch) {
     if (!setFocus ()) return false;
     /*
     * Feature in Windows.  When a radio button gets focus,
@@ -706,13 +710,13 @@
     return true;
 }
 
-bool mnemonicMatch (wchar key) {
+override bool mnemonicMatch (wchar key) {
     wchar mnemonic = findMnemonic (getText ());
     if (mnemonic is '\0') return false;
     return CharacterToUpper (key) is CharacterToUpper (mnemonic);
 }
 
-void releaseWidget () {
+override void releaseWidget () {
     super.releaseWidget ();
     if (imageList !is null) imageList.dispose ();
     imageList = null;
@@ -845,7 +849,7 @@
     OS.SendMessage (handle, OS.BM_SETSTYLE, bits, 1);
 }
 
-bool setFixedFocus () {
+override bool setFixedFocus () {
     /*
     * Feature in Windows.  When a radio button gets focus,
     * it selects the button in WM_SETFOCUS.  The fix is to
@@ -917,12 +921,12 @@
     }
 }
 
-bool setRadioFocus () {
+override bool setRadioFocus () {
     if ((style & DWT.RADIO) is 0 || !getSelection ()) return false;
     return setFocus ();
 }
 
-bool setRadioSelection (bool value) {
+override bool setRadioSelection (bool value) {
     if ((style & DWT.RADIO) is 0) return false;
     if (getSelection () !is value) {
         setSelection (value);
@@ -931,7 +935,7 @@
     return true;
 }
 
-bool setSavedFocus () {
+override bool setSavedFocus () {
     /*
     * Feature in Windows.  When a radio button gets focus,
     * it selects the button in WM_SETFOCUS.  If the previous
@@ -1022,7 +1026,7 @@
     _setText (string);
 }
 
-int widgetStyle () {
+override int widgetStyle () {
     int bits = super.widgetStyle ();
     if ((style & DWT.FLAT) !is 0) bits |= OS.BS_FLAT;
     if ((style & DWT.ARROW) !is 0) return bits | OS.BS_OWNERDRAW;
@@ -1037,16 +1041,16 @@
     return bits | OS.BS_PUSHBUTTON | OS.WS_TABSTOP;
 }
 
-char[] windowClass () {
+override char[] windowClass () {
     return TCHARzToStr( ButtonClass.ptr );
 }
 
-int windowProc () {
+override int windowProc () {
     return cast(int) ButtonProc;
 }
 
 
-LRESULT WM_ERASEBKGND (int wParam, int lParam) {
+override LRESULT WM_ERASEBKGND (int wParam, int lParam) {
     LRESULT result = super.WM_ERASEBKGND (wParam, lParam);
     if (result !is LRESULT.NULL) return result;
     /*
@@ -1068,7 +1072,7 @@
     return result;
 }
 
-LRESULT WM_GETDLGCODE (int wParam, int lParam) {
+override LRESULT WM_GETDLGCODE (int wParam, int lParam) {
     LRESULT result = super.WM_GETDLGCODE (wParam, lParam);
     if (result !is LRESULT.NULL) return result;
     if ((style & DWT.ARROW) !is 0) {
@@ -1077,7 +1081,7 @@
     return result;
 }
 
-LRESULT WM_KILLFOCUS (int wParam, int lParam) {
+override LRESULT WM_KILLFOCUS (int wParam, int lParam) {
     LRESULT result = super.WM_KILLFOCUS (wParam, lParam);
     if ((style & DWT.PUSH) !is 0 && getDefault ()) {
         menuShell ().setDefaultButton (null, false);
@@ -1085,17 +1089,17 @@
     return result;
 }
 
-LRESULT WM_LBUTTONDOWN (int wParam, int lParam) {
+override LRESULT WM_LBUTTONDOWN (int wParam, int lParam) {
     if (ignoreMouse) return LRESULT.NULL;
     return super.WM_LBUTTONDOWN (wParam, lParam);
 }
 
-LRESULT WM_LBUTTONUP (int wParam, int lParam) {
+override LRESULT WM_LBUTTONUP (int wParam, int lParam) {
     if (ignoreMouse) return LRESULT.NULL;
     return super.WM_LBUTTONUP (wParam, lParam);
 }
 
-LRESULT WM_SETFOCUS (int wParam, int lParam) {
+override LRESULT WM_SETFOCUS (int wParam, int lParam) {
     /*
     * Feature in Windows. When Windows sets focus to
     * a radio button, it sets the WM_TABSTOP style.
@@ -1116,7 +1120,7 @@
     return result;
 }
 
-LRESULT WM_SIZE (int wParam, int lParam) {
+override LRESULT WM_SIZE (int wParam, int lParam) {
     LRESULT result = super.WM_SIZE (wParam, lParam);
     if (result !is LRESULT.NULL) return result;
     if (OS.COMCTL32_MAJOR >= 6) {
@@ -1134,14 +1138,14 @@
     return result;
 }
 
-LRESULT WM_SYSCOLORCHANGE (int wParam, int lParam) {
+override LRESULT WM_SYSCOLORCHANGE (int wParam, int lParam) {
     LRESULT result = super.WM_SYSCOLORCHANGE (wParam, lParam);
     if (result !is LRESULT.NULL) return result;
     if (image2 !is null) _setImage (image);
     return result;
 }
 
-LRESULT WM_UPDATEUISTATE (int wParam, int lParam) {
+override LRESULT WM_UPDATEUISTATE (int wParam, int lParam) {
     LRESULT result = super.WM_UPDATEUISTATE (wParam, lParam);
     if (result !is LRESULT.NULL) return result;
     /*
@@ -1176,7 +1180,7 @@
     return result;
 }
 
-LRESULT wmCommandChild (int wParam, int lParam) {
+override LRESULT wmCommandChild (int wParam, int lParam) {
     int code = wParam >> 16;
     switch (code) {
         case OS.BN_CLICKED:
@@ -1197,7 +1201,7 @@
     return super.wmCommandChild (wParam, lParam);
 }
 
-LRESULT wmColorChild (int wParam, int lParam) {
+override LRESULT wmColorChild (int wParam, int lParam) {
     /*
     * Bug in Windows.  For some reason, the HBRUSH that
     * is returned from WM_CTRLCOLOR is misaligned when
@@ -1218,7 +1222,7 @@
     return result;
 }
 
-LRESULT wmDrawChild (int wParam, int lParam) {
+override LRESULT wmDrawChild (int wParam, int lParam) {
     if ((style & DWT.ARROW) is 0) return super.wmDrawChild (wParam, lParam);
     auto struct_ = cast(DRAWITEMSTRUCT*)lParam;
     //OS.MoveMemory (struct_, lParam, DRAWITEMSTRUCT.sizeof);
--- a/dwt/widgets/Control.d	Sun Feb 03 00:59:28 2008 +0100
+++ b/dwt/widgets/Control.d	Sun Feb 03 01:14:54 2008 +0100
@@ -1762,11 +1762,11 @@
     return parent.menuShell ();
 }
 
-bool mnemonicHit (char key) {
+bool mnemonicHit (wchar key) {
     return false;
 }
 
-bool mnemonicMatch (char key) {
+bool mnemonicMatch (wchar key) {
     return false;
 }