changeset 49:7a2dd761a8b2

more work until dmd 2.026 linux segfaults.
author Frank Benoit <benoit@tionex.de>
date Fri, 27 Mar 2009 12:59:54 +0100
parents ddbfe84d86df
children d5075f5226e5
files org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTError.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTException.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleControlEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleTextEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/AppFileLocProvider.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Browser.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Download_1_8.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/LocationEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/ProgressEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/PromptDialog.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/StatusTextEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/TitleEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WebBrowser.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WindowEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CLabel.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolder2Listener.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderListener.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabItem.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ControlEditor.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/DefaultContent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ExtendedModifyEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineBackgroundEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineStyleEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/MovementEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/PaintObjectEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ScrolledCompositeLayout.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledText.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextDropTargetEffect.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextListener.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextPrintOptions.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextRenderer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableCursor.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableEditor.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableTree.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TextChangingEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ViewForm.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/DND.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ArmEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ControlEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DisposeEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DragDetectEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ExpandEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/FocusEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/HelpEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/KeyEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuDetectEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ModifyEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MouseEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/PaintEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionListener.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ShellEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TraverseEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TreeEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TypedEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/VerifyEvent.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/GC.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Image.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/SWTEventObject.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/accessibility/gtk/ATK.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/FileFormat.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/GIFFileFormat.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/JPEGDecoder.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LEDataInputStream.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LZWCodec.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/OS2BMPFileFormat.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PNGFileFormat.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngDecodingDataStream.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngHuffmanTables.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngInputStream.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFModifiedHuffmanCodec.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFRandomFileAccess.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/WinBMPFileFormat.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsEmbedString.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsILocalFile.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/printing/Printer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Caret.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DateTime.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DirectoryDialog.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Display.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/EventTable.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ExpandItem.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/FileDialog.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/List.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Listener.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/RunnableLock.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Sash.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Shell.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Spinner.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Synchronizer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ToolTip.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Tracker.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/TreeItem.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Widget.d
diffstat 98 files changed, 453 insertions(+), 394 deletions(-) [+]
line wrap: on
line diff
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTError.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTError.d	Fri Mar 27 12:59:54 2009 +0100
@@ -62,7 +62,7 @@
         return this.next;
     }
 
-    //static final long serialVersionUID = 3833467327105808433L;
+    //static const long serialVersionUID = 3833467327105808433L;
 
 /**
  * Constructs a new instance of this class with its
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTException.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/SWTException.d	Fri Mar 27 12:59:54 2009 +0100
@@ -57,7 +57,7 @@
     }
 
 
-    //static final long serialVersionUID = 3257282552304842547L;
+    //static const long serialVersionUID = 3257282552304842547L;
 
 /**
  * Constructs a new instance of this class with its
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleControlEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleControlEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -44,7 +44,7 @@
     public String result;           // OUT
     public Object children[];       // [OUT]
 
-    //static final long serialVersionUID = 3257281444169529141L;
+    //static const long serialVersionUID = 3257281444169529141L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -49,7 +49,7 @@
      */
     public String result;
 
-    //static final long serialVersionUID = 3257567304224026934L;
+    //static const long serialVersionUID = 3257567304224026934L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleTextEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/accessibility/AccessibleTextEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -38,7 +38,7 @@
     public int childID;             // IN
     public int offset, length;      // OUT
 
-    //static final long serialVersionUID = 3977019530868308275L;
+    //static const long serialVersionUID = 3977019530868308275L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/AppFileLocProvider.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/AppFileLocProvider.d	Fri Mar 27 12:59:54 2009 +0100
@@ -43,14 +43,14 @@
     bool isXULRunner;
     
     static       String SEPARATOR_OS;
-    static final String CHROME_DIR = "chrome"; //$NON-NLS-1$
-    static final String COMPONENTS_DIR = "components"; //$NON-NLS-1$
-    static final String HISTORY_FILE = "history.dat"; //$NON-NLS-1$
-    static final String LOCALSTORE_FILE = "localstore.rdf"; //$NON-NLS-1$
-    static final String MIMETYPES_FILE = "mimeTypes.rdf"; //$NON-NLS-1$
-    static final String PLUGINS_DIR = "plugins"; //$NON-NLS-1$
+    static const String CHROME_DIR = "chrome"; //$NON-NLS-1$
+    static const String COMPONENTS_DIR = "components"; //$NON-NLS-1$
+    static const String HISTORY_FILE = "history.dat"; //$NON-NLS-1$
+    static const String LOCALSTORE_FILE = "localstore.rdf"; //$NON-NLS-1$
+    static const String MIMETYPES_FILE = "mimeTypes.rdf"; //$NON-NLS-1$
+    static const String PLUGINS_DIR = "plugins"; //$NON-NLS-1$
     static       String USER_PLUGINS_DIR;
-    static final String PREFERENCES_FILE = "prefs.js"; //$NON-NLS-1$
+    static const String PREFERENCES_FILE = "prefs.js"; //$NON-NLS-1$
 
 static this () {
     SEPARATOR_OS = System.getProperty ("file.separator");
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Browser.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Browser.d	Fri Mar 27 12:59:54 2009 +0100
@@ -57,8 +57,8 @@
     WebBrowser webBrowser;
     int userStyle;
 
-    static final String PACKAGE_PREFIX = "org.eclipse.swt.browser."; //$NON-NLS-1$
-    static final String NO_INPUT_METHOD = "org.eclipse.swt.internal.gtk.noInputMethod"; //$NON-NLS-1$
+    static const String PACKAGE_PREFIX = "org.eclipse.swt.browser."; //$NON-NLS-1$
+    static const String NO_INPUT_METHOD = "org.eclipse.swt.internal.gtk.noInputMethod"; //$NON-NLS-1$
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Download_1_8.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/Download_1_8.d	Fri Mar 27 12:59:54 2009 +0100
@@ -54,7 +54,7 @@
     Label status;
     Button cancel;
 
-    //static final bool is32 = C.PTR_SIZEOF is 4; //determine if 32 or 64 bit platform?
+    //static const bool is32 = C.PTR_SIZEOF is 4; //determine if 32 or 64 bit platform?
 
 this () {
 }
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/LocationEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/LocationEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -43,7 +43,7 @@
      */
     public bool doit;
 
-    static final long serialVersionUID = 3906644198244299574L;
+    static const long serialVersionUID = 3906644198244299574L;
     
 this(Widget w) {
     super(w);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/ProgressEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/ProgressEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -32,7 +32,7 @@
     /** total value */
     public int total;
     
-    static final long serialVersionUID = 3977018427045393972L;
+    static const long serialVersionUID = 3977018427045393972L;
 
 this(Widget w) {
     super(w);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/PromptDialog.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/PromptDialog.d	Fri Mar 27 12:59:54 2009 +0100
@@ -41,7 +41,7 @@
     
     void alertCheck(String title, String text, String check, ref int checkValue) {
         Shell parent = getParent();
-        /* final */ Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
+        /* const */ Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
         if (title !is null) shell.setText(title);
         GridLayout gridLayout = new GridLayout();
         shell.setLayout(gridLayout);
@@ -56,7 +56,7 @@
         data.grabExcessHorizontalSpace = true;
         label.setLayoutData (data);
 
-        final Button checkButton = check !is null ? new Button(shell, SWT.CHECK) : null;
+        Button checkButton = check !is null ? new Button(shell, SWT.CHECK) : null;
         if (checkButton !is null) {
             checkButton.setText(check);
             checkButton.setSelection(checkValue !is 0);
@@ -87,7 +87,7 @@
 
     void confirmEx(String title, String text, String check, String button0, String button1, String button2, int defaultIndex, ref int checkValue, ref int result) {
         Shell parent = getParent();
-        /* final */ Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
+        /* const */ Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
         shell.setText(title);
         GridLayout gridLayout = new GridLayout();
         shell.setLayout(gridLayout);
@@ -102,7 +102,7 @@
         data.grabExcessHorizontalSpace = true;
         label.setLayoutData (data);
 
-        final Button[] buttons = new Button[4];
+        Button[] buttons = new Button[4];
         Listener listener = new class() Listener {
             public void handleEvent(Event event) {
                 if (buttons[0] !is null) checkValue = buttons[0].getSelection() ? 1 : 0;
@@ -182,7 +182,7 @@
         data.grabExcessHorizontalSpace = true;
         label.setLayoutData (data);
                 
-        final Text valueText = new Text(shell, SWT.BORDER);
+        Text valueText = new Text(shell, SWT.BORDER);
         if (value !is null) valueText.setText(value);
         data = new GridData();
         width = valueText.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
@@ -191,7 +191,7 @@
         data.grabExcessHorizontalSpace = true;
         valueText.setLayoutData(data);
 
-        final Button[] buttons = new Button[3];
+        Button[] buttons = new Button[3];
         Listener listener = new class() Listener {
             public void handleEvent(Event event) {
                 if (buttons[0] !is null) checkValue = buttons[0].getSelection() ? 1 : 0;
@@ -252,7 +252,7 @@
         Label userLabel = new Label(shell, SWT.NONE);
         //userLabel.setText(SWT.getMessage("SWT_Username")); //$NON-NLS-1$
         userLabel.setText("Username:");
-        final Text userText = new Text(shell, SWT.BORDER);
+        Text userText = new Text(shell, SWT.BORDER);
         if (user !is null) userText.setText(user);
         data = new GridData();
         data.horizontalAlignment = GridData.FILL;
@@ -262,14 +262,14 @@
         Label passwordLabel = new Label(shell, SWT.NONE);
         //passwordLabel.setText(SWT.getMessage("SWT_Password")); //$NON-NLS-1$
         passwordLabel.setText("Password:");
-        final Text passwordText = new Text(shell, SWT.PASSWORD | SWT.BORDER);
+        Text passwordText = new Text(shell, SWT.PASSWORD | SWT.BORDER);
         if (pass !is null) passwordText.setText(pass);
         data = new GridData();
         data.horizontalAlignment = GridData.FILL;
         data.grabExcessHorizontalSpace = true;
         passwordText.setLayoutData(data);
 
-        final Button[] buttons = new Button[3];
+        Button[] buttons = new Button[3];
         Listener listener = new class() Listener {
             public void handleEvent(Event event) {
                 if (buttons[0] !is null) checkValue = buttons[0].getSelection() ? 1 : 0;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/StatusTextEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/StatusTextEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -30,7 +30,7 @@
     /** status text */
     public String text;
     
-    static final long serialVersionUID = 3258407348371600439L;
+    static const long serialVersionUID = 3258407348371600439L;
 
 this(Widget w) {
     super(w);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/TitleEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/TitleEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -29,7 +29,7 @@
     /** the title of the current document */
     public String title;
     
-    static final long serialVersionUID = 4121132532906340919L;
+    static const long serialVersionUID = 4121132532906340919L;
 
 this(Widget w) {
     super(w);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WebBrowser.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WebBrowser.d	Fri Mar 27 12:59:54 2009 +0100
@@ -40,7 +40,7 @@
     static Runnable NativeClearSessions;
 
     /* Key Mappings */
-    static final int [][] KeyTable = [
+    static const int [][] KeyTable = [
         /* Keyboard and Mouse Masks */
         [18,    SWT.ALT],
         [16,    SWT.SHIFT],
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WindowEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/browser/WindowEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -188,7 +188,7 @@
      */
     public bool toolBar;
     
-    static final long serialVersionUID = 3617851997387174969L;
+    static const long serialVersionUID = 3617851997387174969L;
     
 this(Widget w) {
     super(w);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CLabel.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CLabel.d	Fri Mar 27 12:59:54 2009 +0100
@@ -448,12 +448,12 @@
             }
         } else if (gradientColors !is null) {
             // draw a gradient behind the text
-            final Color oldBackground = gc.getBackground();
+            Color oldBackground = gc.getBackground();
             if (gradientColors.length is 1) {
                 if (gradientColors[0] !is null) gc.setBackground(gradientColors[0]);
                 gc.fillRectangle(0, 0, rect.width, rect.height);
             } else {
-                final Color oldForeground = gc.getForeground();
+                Color oldForeground = gc.getForeground();
                 Color lastColor = gradientColors[0];
                 if (lastColor is null) lastColor = oldBackground;
                 int pos = 0;
@@ -463,11 +463,11 @@
                     if (lastColor is null) lastColor = oldBackground;
                     gc.setBackground(lastColor);
                     if (gradientVertical) {
-                        final int gradientHeight = (gradientPercents[i] * rect.height / 100) - pos;
+                        int gradientHeight = (gradientPercents[i] * rect.height / 100) - pos;
                         gc.fillGradientRectangle(0, pos, rect.width, gradientHeight, true);
                         pos += gradientHeight;
                     } else {
-                        final int gradientWidth = (gradientPercents[i] * rect.width / 100) - pos;
+                        int gradientWidth = (gradientPercents[i] * rect.width / 100) - pos;
                         gc.fillGradientRectangle(pos, 0, gradientWidth, rect.height, false);
                         pos += gradientWidth;
                     }
@@ -679,7 +679,7 @@
     }
 
     // Are these settings the same as before?
-    final Color background = getBackground();
+    Color background = getBackground();
     if (backgroundImage is null) {
         if ((gradientColors !is null) && (colors !is null) &&
             (gradientColors.length is colors.length)) {
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolder2Listener.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolder2Listener.d	Fri Mar 27 12:59:54 2009 +0100
@@ -18,9 +18,11 @@
 import org.eclipse.swt.custom.CTabFolderEvent;
 
 version(Tango){
-import tango.core.Traits;
-import tango.core.Tuple;
+    import tango.core.Traits;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.traits;
+    import std.typetuple;
 }
 
 /**
@@ -134,9 +136,15 @@
 /// Helper class for the dgListener template function
 private class _DgCTabFolder2ListenerT(Dg,T...) : CTabFolder2Listener {
 
-    alias ParameterTupleOf!(Dg) DgArgs;
-    static assert( is(DgArgs == Tuple!(CTabFolderEvent,T)),
-                "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    version(Tango){
+        alias ParameterTupleOf!(Dg) DgArgs;
+        static assert( is(DgArgs == Tuple!(CTabFolderEvent,T)),
+                    "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    } else { // Phobos
+        alias ParameterTypeTuple!(Dg) DgArgs;
+        static assert( is(DgArgs == TypeTuple!(CTabFolderEvent,T)),
+                    "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    }
 
     Dg dg;
     T  t;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -71,7 +71,7 @@
      */
     public int height;
 
-    static final long serialVersionUID = 3760566386225066807L;
+    static const long serialVersionUID = 3760566386225066807L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderListener.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabFolderListener.d	Fri Mar 27 12:59:54 2009 +0100
@@ -18,9 +18,11 @@
 import org.eclipse.swt.custom.CTabFolderEvent;
 
 version(Tango){
-import tango.core.Traits;
-import tango.core.Tuple;
+    import tango.core.Traits;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.traits;
+    import std.typetuple;
 }
 
 /**
@@ -56,9 +58,15 @@
 /// Helper class for the dgListener template function
 private class _DgCTabFolderListenerT(Dg,T...) : CTabFolderListener {
 
-    alias ParameterTupleOf!(Dg) DgArgs;
-    static assert( is(DgArgs == Tuple!(CTabFolderEvent,T)),
+    version(Tango){
+        alias ParameterTupleOf!(Dg) DgArgs;
+        static assert( is(DgArgs == Tuple!(CTabFolderEvent,T)),
                 "Delegate args not correct" );
+    } else { // Phobos
+        alias ParameterTypeTuple!(Dg) DgArgs;
+        static assert( is(DgArgs == TypeTuple!(CTabFolderEvent,T)),
+                "Delegate args not correct" );
+    }
 
     Dg dg;
     T  t;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabItem.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/CTabItem.d	Fri Mar 27 12:59:54 2009 +0100
@@ -68,13 +68,13 @@
     bool showing = false;
 
     // internal constants
-    static final int TOP_MARGIN = 2;
-    static final int BOTTOM_MARGIN = 2;
-    static final int LEFT_MARGIN = 4;
-    static final int RIGHT_MARGIN = 4;
-    static final int INTERNAL_SPACING = 4;
-    static final int FLAGS = SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC;
-    static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
+    static const int TOP_MARGIN = 2;
+    static const int BOTTOM_MARGIN = 2;
+    static const int LEFT_MARGIN = 4;
+    static const int RIGHT_MARGIN = 4;
+    static const int INTERNAL_SPACING = 4;
+    static const int FLAGS = SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC;
+    static const String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ControlEditor.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ControlEditor.d	Fri Mar 27 12:59:54 2009 +0100
@@ -117,7 +117,7 @@
     private Listener controlListener;
     private Listener scrollbarListener;
 
-    private final static int [] EVENTS = [SWT.KeyDown, SWT.KeyUp, SWT.MouseDown, SWT.MouseUp, SWT.Resize];
+    private const static int [] EVENTS = [SWT.KeyDown, SWT.KeyUp, SWT.MouseDown, SWT.MouseUp, SWT.Resize];
 /**
 * Creates a ControlEditor for the specified Composite.
 *
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/DefaultContent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/DefaultContent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -24,13 +24,17 @@
 import java.lang.all;
 
 version(Tango){
-static import tango.io.model.IFile;
+    static import tango.io.model.IFile;
 } else { // Phobos
 }
 
 
 class DefaultContent : StyledTextContent {
-    private final static String LineDelimiter = tango.io.model.IFile.FileConst.NewlineString;
+    version(Tango){
+        private const static String LineDelimiter = tango.io.model.IFile.FileConst.NewlineString;
+    } else { // Phobos
+        private const static String LineDelimiter = std.string.newline;
+    }
 
     StyledTextListener[] textListeners; // stores text listeners for event sending
     char[] textStore; // stores the actual text
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ExtendedModifyEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ExtendedModifyEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -30,7 +30,7 @@
     /** replaced text or empty string if no text was replaced */
     public String replacedText;
 
-    static final long serialVersionUID = 3258696507027830832L;
+    static const long serialVersionUID = 3258696507027830832L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineBackgroundEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineBackgroundEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -41,7 +41,7 @@
      */
     public Color lineBackground;
 
-    static final long serialVersionUID = 3978711687853324342L;
+    static const long serialVersionUID = 3978711687853324342L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineStyleEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/LineStyleEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -87,7 +87,7 @@
      */
     public int bulletIndex;
 
-    static final long serialVersionUID = 3906081274027192884L;
+    static const long serialVersionUID = 3906081274027192884L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/MovementEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/MovementEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -58,7 +58,7 @@
      */
     public int movement;
 
-    static final long serialVersionUID = 3978765487853324342L;
+    static const long serialVersionUID = 3978765487853324342L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/PaintObjectEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/PaintObjectEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -70,7 +70,7 @@
      */
     public int bulletIndex;
 
-    static final long serialVersionUID = 3906081274027192855L;
+    static const long serialVersionUID = 3906081274027192855L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ScrolledCompositeLayout.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ScrolledCompositeLayout.d	Fri Mar 27 12:59:54 2009 +0100
@@ -33,8 +33,8 @@
 class ScrolledCompositeLayout : Layout {
 
     bool inLayout = false;
-    static final int DEFAULT_WIDTH  = 64;
-    static final int DEFAULT_HEIGHT = 64;
+    static const int DEFAULT_WIDTH  = 64;
+    static const int DEFAULT_HEIGHT = 64;
 
 protected override Point computeSize(Composite composite, int wHint, int hHint, bool flushCache) {
     ScrolledComposite sc = cast(ScrolledComposite)composite;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledText.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledText.d	Fri Mar 27 12:59:54 2009 +0100
@@ -83,11 +83,10 @@
 import org.eclipse.swt.custom.ST;
 
 version(Tango){
-static import tango.text.Util;
-static import tango.io.model.IFile;
-static import tango.text.convert.Utf;
-import tango.util.Convert;
+    static import tango.io.model.IFile;
+    import tango.util.Convert;
 } else { // Phobos
+    static import std.string;
 }
 import java.lang.all;
 
@@ -152,7 +151,11 @@
     alias Canvas.computeSize computeSize;
 
     static const char TAB = '\t';
-    static const String PlatformLineDelimiter = tango.io.model.IFile.FileConst.NewlineString;
+    version(Tango){
+        static const String PlatformLineDelimiter = tango.io.model.IFile.FileConst.NewlineString;
+    } else { // Phobos
+        static const String PlatformLineDelimiter = std.string.newline;
+    }
     static const int BIDI_CARET_WIDTH = 3;
     static const int DEFAULT_WIDTH  = 64;
     static const int DEFAULT_HEIGHT = 64;
@@ -2163,7 +2166,7 @@
     }
 
     Runnable timer = null;
-    final Display disp = getDisplay();
+    Display disp = getDisplay();
     // Set a timer that will simulate the user pressing and holding
     // down a cursor key (i.e., arrowUp, arrowDown).
     if (direction is SWT.UP) {
@@ -5642,7 +5645,7 @@
  * Add accessibility support for the widget.
  */
 void initializeAccessible() {
-    final Accessible accessible = getAccessible();
+    Accessible accessible = getAccessible();
     accessible.addAccessibleListener(new class() AccessibleAdapter {
         public void getName (AccessibleEvent e) {
             String name = null;
@@ -5663,7 +5666,7 @@
                 if (text !is null) {
                     dchar mnemonic = _findMnemonic (text);
                     if (mnemonic !is '\0') {
-                        shortcut = "Alt+"~tango.text.convert.Utf.toString( [mnemonic] ); //$NON-NLS-1$
+                        shortcut = "Alt+"~String_valueOf( [mnemonic] ); //$NON-NLS-1$
                     }
                 }
             }
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextDropTargetEffect.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextDropTargetEffect.d	Fri Mar 27 12:59:54 2009 +0100
@@ -61,9 +61,9 @@
  * @since 3.3
  */
 public class StyledTextDropTargetEffect : DropTargetEffect {
-    static final int CARET_WIDTH = 2;
-    static final int SCROLL_HYSTERESIS = 100; // milli seconds
-    static final int SCROLL_TOLERANCE = 20; // pixels
+    static const int CARET_WIDTH = 2;
+    static const int SCROLL_HYSTERESIS = 100; // milli seconds
+    static const int SCROLL_TOLERANCE = 20; // pixels
 
     int currentOffset = -1;
     long scrollBeginTime;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextListener.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextListener.d	Fri Mar 27 12:59:54 2009 +0100
@@ -53,69 +53,69 @@
  */
 public override void handleEvent(Event e) {
 
-    switch (e.type) {
-        case StyledText.ExtendedModify:
-            ExtendedModifyEvent extendedModifyEvent = new ExtendedModifyEvent(cast(StyledTextEvent) e);
-            (cast(ExtendedModifyListener) eventListener).modifyText(extendedModifyEvent);
-            break;
-        case StyledText.LineGetBackground:
-            LineBackgroundEvent lineBgEvent = new LineBackgroundEvent(cast(StyledTextEvent) e);
-            (cast(LineBackgroundListener) eventListener).lineGetBackground(lineBgEvent);
-            (cast(StyledTextEvent) e).lineBackground = lineBgEvent.lineBackground;
-            break;
-        case StyledText.LineGetSegments:
-            BidiSegmentEvent segmentEvent = new BidiSegmentEvent(cast(StyledTextEvent) e);
-            (cast(BidiSegmentListener) eventListener).lineGetSegments(segmentEvent);
-            (cast(StyledTextEvent) e).segments = segmentEvent.segments;
-            break;
-        case StyledText.LineGetStyle:
-            LineStyleEvent lineStyleEvent = new LineStyleEvent(cast(StyledTextEvent) e);
-            (cast(LineStyleListener) eventListener).lineGetStyle(lineStyleEvent);
-            (cast(StyledTextEvent) e).ranges = lineStyleEvent.ranges;
-            (cast(StyledTextEvent) e).styles = lineStyleEvent.styles;
-            (cast(StyledTextEvent) e).alignment = lineStyleEvent.alignment;
-            (cast(StyledTextEvent) e).indent = lineStyleEvent.indent;
-            (cast(StyledTextEvent) e).justify = lineStyleEvent.justify;
-            (cast(StyledTextEvent) e).bullet = lineStyleEvent.bullet;
-            (cast(StyledTextEvent) e).bulletIndex = lineStyleEvent.bulletIndex;
-            break;
-        case StyledText.PaintObject:
-            PaintObjectEvent paintObjectEvent = new PaintObjectEvent(cast(StyledTextEvent) e);
-            (cast(PaintObjectListener) eventListener).paintObject(paintObjectEvent);
-            break;
-        case StyledText.VerifyKey:
-            VerifyEvent verifyEvent = new VerifyEvent(e);
-            (cast(VerifyKeyListener) eventListener).verifyKey(verifyEvent);
-            e.doit = verifyEvent.doit;
-            break;
-        case StyledText.TextChanged: {
-            TextChangedEvent textChangedEvent = new TextChangedEvent(cast(StyledTextContent) e.data);
-            (cast(TextChangeListener) eventListener).textChanged(textChangedEvent);
-            break;
-        }
-        case StyledText.TextChanging:
-            TextChangingEvent textChangingEvent = new TextChangingEvent(cast(StyledTextContent) e.data, cast(StyledTextEvent) e);
-            (cast(TextChangeListener) eventListener).textChanging(textChangingEvent);
-            break;
-        case StyledText.TextSet: {
-            TextChangedEvent textChangedEvent = new TextChangedEvent(cast(StyledTextContent) e.data);
-            (cast(TextChangeListener) eventListener).textSet(textChangedEvent);
-            break;
-        }
-        case StyledText.WordNext: {
-            MovementEvent wordBoundaryEvent = new MovementEvent(cast(StyledTextEvent) e);
-            (cast(MovementListener) eventListener).getNextOffset(wordBoundaryEvent);
-            (cast(StyledTextEvent) e).end = wordBoundaryEvent.newOffset;
-            break;
-        }
-        case StyledText.WordPrevious: {
-            MovementEvent wordBoundaryEvent = new MovementEvent(cast(StyledTextEvent) e);
-            (cast(MovementListener) eventListener).getPreviousOffset(wordBoundaryEvent);
-            (cast(StyledTextEvent) e).end = wordBoundaryEvent.newOffset;
-            break;
-        }
-        default:
-    }
+//    switch (e.type) {
+//        case StyledText.ExtendedModify:
+//            ExtendedModifyEvent extendedModifyEvent = new ExtendedModifyEvent(cast(StyledTextEvent) e);
+//            (cast(ExtendedModifyListener) eventListener).modifyText(extendedModifyEvent);
+//            break;
+//        case StyledText.LineGetBackground:
+//            LineBackgroundEvent lineBgEvent = new LineBackgroundEvent(cast(StyledTextEvent) e);
+//            (cast(LineBackgroundListener) eventListener).lineGetBackground(lineBgEvent);
+//            (cast(StyledTextEvent) e).lineBackground = lineBgEvent.lineBackground;
+//            break;
+//        case StyledText.LineGetSegments:
+//            BidiSegmentEvent segmentEvent = new BidiSegmentEvent(cast(StyledTextEvent) e);
+//            (cast(BidiSegmentListener) eventListener).lineGetSegments(segmentEvent);
+//            (cast(StyledTextEvent) e).segments = segmentEvent.segments;
+//            break;
+//        case StyledText.LineGetStyle:
+//            LineStyleEvent lineStyleEvent = new LineStyleEvent(cast(StyledTextEvent) e);
+//            (cast(LineStyleListener) eventListener).lineGetStyle(lineStyleEvent);
+//            (cast(StyledTextEvent) e).ranges = lineStyleEvent.ranges;
+//            (cast(StyledTextEvent) e).styles = lineStyleEvent.styles;
+//            (cast(StyledTextEvent) e).alignment = lineStyleEvent.alignment;
+//            (cast(StyledTextEvent) e).indent = lineStyleEvent.indent;
+//            (cast(StyledTextEvent) e).justify = lineStyleEvent.justify;
+//            (cast(StyledTextEvent) e).bullet = lineStyleEvent.bullet;
+//            (cast(StyledTextEvent) e).bulletIndex = lineStyleEvent.bulletIndex;
+//            break;
+//        case StyledText.PaintObject:
+//            PaintObjectEvent paintObjectEvent = new PaintObjectEvent(cast(StyledTextEvent) e);
+//            (cast(PaintObjectListener) eventListener).paintObject(paintObjectEvent);
+//            break;
+//        case StyledText.VerifyKey:
+//            VerifyEvent verifyEvent = new VerifyEvent(e);
+//            (cast(VerifyKeyListener) eventListener).verifyKey(verifyEvent);
+//            e.doit = verifyEvent.doit;
+//            break;
+//        case StyledText.TextChanged: {
+//            TextChangedEvent textChangedEvent = new TextChangedEvent(cast(StyledTextContent) e.data);
+//            (cast(TextChangeListener) eventListener).textChanged(textChangedEvent);
+//            break;
+//        }
+//        case StyledText.TextChanging:
+//            TextChangingEvent textChangingEvent = new TextChangingEvent(cast(StyledTextContent) e.data, cast(StyledTextEvent) e);
+//            (cast(TextChangeListener) eventListener).textChanging(textChangingEvent);
+//            break;
+//        case StyledText.TextSet: {
+//            TextChangedEvent textChangedEvent = new TextChangedEvent(cast(StyledTextContent) e.data);
+//            (cast(TextChangeListener) eventListener).textSet(textChangedEvent);
+//            break;
+//        }
+//        case StyledText.WordNext: {
+//            MovementEvent wordBoundaryEvent = new MovementEvent(cast(StyledTextEvent) e);
+//            (cast(MovementListener) eventListener).getNextOffset(wordBoundaryEvent);
+//            (cast(StyledTextEvent) e).end = wordBoundaryEvent.newOffset;
+//            break;
+//        }
+//        case StyledText.WordPrevious: {
+//            MovementEvent wordBoundaryEvent = new MovementEvent(cast(StyledTextEvent) e);
+//            (cast(MovementListener) eventListener).getPreviousOffset(wordBoundaryEvent);
+//            (cast(StyledTextEvent) e).end = wordBoundaryEvent.newOffset;
+//            break;
+//        }
+//        default:
+//    }
 }
 }
 
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextPrintOptions.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextPrintOptions.d	Fri Mar 27 12:59:54 2009 +0100
@@ -41,12 +41,12 @@
      * Page number placeholder constant for use in <code>header</code>
      * and <code>footer</code>. Value is <code>&lt;page&gt;</code>
      */
-    public static final String PAGE_TAG = "<page>";
+    public static const String PAGE_TAG = "<page>";
     /**
      * Separator constant for use in <code>header</code> and
      * <code>footer</code>. Value is <code>\t</code>
      */
-    public static final String SEPARATOR = "\t";
+    public static const String SEPARATOR = "\t";
     /**
      * Formatted text to print in the header of each page.
      * <p>"left '\t' center '\t' right"</p>
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextRenderer.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/StyledTextRenderer.d	Fri Mar 27 12:59:54 2009 +0100
@@ -84,20 +84,20 @@
     StyleRange[] styles;
     StyleRange[] stylesSet;
     int stylesSetCount = 0;
-    final static int BULLET_MARGIN = 8;
+    const static int BULLET_MARGIN = 8;
 
-    final static bool COMPACT_STYLES = true;
-    final static bool MERGE_STYLES = true;
+    const static bool COMPACT_STYLES = true;
+    const static bool MERGE_STYLES = true;
 
-    final static int GROW = 32;
-    final static int IDLE_TIME = 50;
-    final static int CACHE_SIZE = 128;
+    const static int GROW = 32;
+    const static int IDLE_TIME = 50;
+    const static int CACHE_SIZE = 128;
 
-    final static int BACKGROUND = 1 << 0;
-    final static int ALIGNMENT = 1 << 1;
-    final static int INDENT = 1 << 2;
-    final static int JUSTIFY = 1 << 3;
-    final static int SEGMENTS = 1 << 5;
+    const static int BACKGROUND = 1 << 0;
+    const static int ALIGNMENT = 1 << 1;
+    const static int INDENT = 1 << 2;
+    const static int JUSTIFY = 1 << 3;
+    const static int SEGMENTS = 1 << 5;
 
     static class LineInfo {
         int flags;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableCursor.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableCursor.d	Fri Mar 27 12:59:54 2009 +0100
@@ -167,8 +167,8 @@
     Color foreground = null;
 
     // By default, invert the list selection colors
-    static final int BACKGROUND = SWT.COLOR_LIST_SELECTION_TEXT;
-    static final int FOREGROUND = SWT.COLOR_LIST_SELECTION;
+    static const int BACKGROUND = SWT.COLOR_LIST_SELECTION_TEXT;
+    static const int FOREGROUND = SWT.COLOR_LIST_SELECTION;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableEditor.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableEditor.d	Fri Mar 27 12:59:54 2009 +0100
@@ -90,7 +90,7 @@
     int column = -1;
     ControlListener columnListener;
     Runnable timer;
-    static final int TIMEOUT = 1500;
+    static const int TIMEOUT = 1500;
 /**
 * Creates a TableEditor for the specified Table.
 *
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableTree.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TableTree.d	Fri Mar 27 12:59:54 2009 +0100
@@ -83,10 +83,10 @@
     */
     bool inDispose = false;
 
-    static final TableTreeItem[] EMPTY_ITEMS;
-    static final String[] EMPTY_TEXTS;
-    static final Image[] EMPTY_IMAGES;
-    static final String ITEMID = "TableTreeItemID"; //$NON-NLS-1$
+    static const TableTreeItem[] EMPTY_ITEMS;
+    static const String[] EMPTY_TEXTS;
+    static const Image[] EMPTY_IMAGES;
+    static const String ITEMID = "TableTreeItemID"; //$NON-NLS-1$
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TextChangingEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/TextChangingEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -52,7 +52,7 @@
      */
     public int newLineCount;
 
-    static final long serialVersionUID = 3257290210114352439L;
+    static const long serialVersionUID = 3257290210114352439L;
 
 /**
  * Create the TextChangedEvent to be used by the StyledTextContent implementor.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ViewForm.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/custom/ViewForm.d	Fri Mar 27 12:59:54 2009 +0100
@@ -132,9 +132,9 @@
 
     Color selectionBackground;
 
-    static final int OFFSCREEN = -200;
-    static final int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
-    static final int SELECTION_BACKGROUND = SWT.COLOR_LIST_BACKGROUND;
+    static const int OFFSCREEN = -200;
+    static const int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
+    static const int SELECTION_BACKGROUND = SWT.COLOR_LIST_BACKGROUND;
 
 
     static this(){
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/DND.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/DND.d	Fri Mar 27 12:59:54 2009 +0100
@@ -213,7 +213,7 @@
      * 
      * @since 3.4
      */
-    public static final String DROP_TARGET_KEY = "DropTarget"; //$NON-NLS-1$
+    public static const String DROP_TARGET_KEY = "DropTarget"; //$NON-NLS-1$
     
     /**
      * DragSource Key: The string constant for looking up the drag source 
@@ -223,7 +223,7 @@
      * 
      * @since 3.4
      */
-    public static final String DRAG_SOURCE_KEY = "DragSource"; //$NON-NLS-1$
+    public static const String DRAG_SOURCE_KEY = "DragSource"; //$NON-NLS-1$
 
     static const String INIT_DRAG_MESSAGE = "Cannot initialize Drag"; //$NON-NLS-1$
     static const String INIT_DROP_MESSAGE = "Cannot initialize Drop"; //$NON-NLS-1$
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ArmEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ArmEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -27,7 +27,7 @@
 
 public final class ArmEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3258126964249212217L;
+    //static const long serialVersionUID = 3258126964249212217L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ControlEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ControlEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class ControlEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3258132436155119161L;
+    //static const long serialVersionUID = 3258132436155119161L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DisposeEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DisposeEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class DisposeEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3257566187633521206L;
+    //static const long serialVersionUID = 3257566187633521206L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DragDetectEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/DragDetectEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -29,7 +29,7 @@
 
 public final class DragDetectEvent : MouseEvent {
 
-    //private static final long serialVersionUID = -7229172519733647232L;
+    //private static const long serialVersionUID = -7229172519733647232L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ExpandEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ExpandEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -30,7 +30,7 @@
 
 public class ExpandEvent : SelectionEvent {
 
-    //static final long serialVersionUID = 3976735856884987356L;
+    //static const long serialVersionUID = 3976735856884987356L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/FocusEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/FocusEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class FocusEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3258134643684227381L;
+    //static const long serialVersionUID = 3258134643684227381L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/HelpEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/HelpEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class HelpEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3257001038606251315L;
+    //static const long serialVersionUID = 3257001038606251315L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/KeyEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/KeyEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -78,7 +78,7 @@
      */
     public bool doit;
 
-    static final long serialVersionUID = 3256442491011412789L;
+    static const long serialVersionUID = 3256442491011412789L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuDetectEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuDetectEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -48,7 +48,7 @@
      */
     public bool doit;
 
-    //private static final long serialVersionUID = -3061660596590828941L;
+    //private static const long serialVersionUID = -3061660596590828941L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MenuEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class MenuEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3258132440332383025L;
+    //static const long serialVersionUID = 3258132440332383025L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ModifyEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ModifyEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class ModifyEvent : TypedEvent {
 
-    //static final long serialVersionUID = 3258129146227011891L;
+    //static const long serialVersionUID = 3258129146227011891L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MouseEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/MouseEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -71,7 +71,7 @@
      */
     public int count;
 
-    //static final long serialVersionUID = 3257288037011566898L;
+    //static const long serialVersionUID = 3257288037011566898L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/PaintEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/PaintEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -69,7 +69,7 @@
      */
     public int count;
 
-    //static final long serialVersionUID = 3256446919205992497L;
+    //static const long serialVersionUID = 3256446919205992497L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -103,7 +103,7 @@
      */
     public bool doit;
 
-    //static final long serialVersionUID = 3976735856884987953L;
+    //static const long serialVersionUID = 3976735856884987953L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionListener.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/SelectionListener.d	Fri Mar 27 12:59:54 2009 +0100
@@ -19,9 +19,11 @@
 public import org.eclipse.swt.events.SelectionEvent;
 
 version(Tango){
-import tango.core.Traits;
-import tango.core.Tuple;
+    import tango.core.Traits;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.traits;
+    import std.typetuple;
 }
 
 /**
@@ -80,9 +82,15 @@
 /// SWT extension
 private class _DgSelectionListenerT(Dg,T...) : SelectionListener {
 
-    alias ParameterTupleOf!(Dg) DgArgs;
-    static assert( is(DgArgs == Tuple!(SelectionEvent,T)),
-                "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    version(Tango){
+        alias ParameterTupleOf!(Dg) DgArgs;
+        static assert( is(DgArgs == Tuple!(SelectionEvent,T)),
+                    "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    } else { // Phobos
+        alias ParameterTypeTuple!(Dg) DgArgs;
+        static assert( is(DgArgs == TypeTuple!(SelectionEvent,T)),
+                    "Delegate args not correct: "~DgArgs.stringof~" vs. (Event,"~T.stringof~")" );
+    }
 
     Dg dg;
     T  t;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ShellEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/ShellEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -34,7 +34,7 @@
      */
     public bool doit;
 
-    //static final long serialVersionUID = 3257569490479888441L;
+    //static const long serialVersionUID = 3257569490479888441L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TraverseEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TraverseEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -114,7 +114,7 @@
      */
     public int detail;
 
-    //static final long serialVersionUID = 3257565105301239349L;
+    //static const long serialVersionUID = 3257565105301239349L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TreeEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TreeEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
 
 public final class TreeEvent : SelectionEvent {
 
-    //static final long serialVersionUID = 3257282548009677109L;
+    //static const long serialVersionUID = 3257282548009677109L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TypedEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/TypedEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -60,7 +60,7 @@
      */
     public Object data;
 
-    //static final long serialVersionUID = 3257285846578377524L;
+    //static const long serialVersionUID = 3257285846578377524L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/VerifyEvent.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/events/VerifyEvent.d	Fri Mar 27 12:59:54 2009 +0100
@@ -41,7 +41,7 @@
      */
     public String text;
 
-    //static final long serialVersionUID = 3257003246269577014L;
+    //static const long serialVersionUID = 3257003246269577014L;
 
 /**
  * Constructs a new instance of this class based on the
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/GC.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/GC.d	Fri Mar 27 12:59:54 2009 +0100
@@ -38,7 +38,7 @@
 import org.eclipse.swt.graphics.LineAttributes;
 
 import org.eclipse.swt.internal.gtk.OS;
-//import org.eclipse.swt.internal.cairo.Cairo;
+import org.eclipse.swt.internal.cairo.Cairo : Cairo;
 import org.eclipse.swt.internal.Converter;
 import org.eclipse.swt.internal.Compatibility;
 import java.lang.all;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Image.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Image.d	Fri Mar 27 12:59:54 2009 +0100
@@ -13,7 +13,7 @@
 module org.eclipse.swt.graphics.Image;
 
 import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.cairo.Cairo;
+import org.eclipse.swt.internal.cairo.Cairo : Cairo;
 import org.eclipse.swt.internal.gtk.OS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.SWTException;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/SWTEventObject.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/SWTEventObject.d	Fri Mar 27 12:59:54 2009 +0100
@@ -30,7 +30,7 @@
  */
 public class SWTEventObject : EventObject {
 
-    //static final long serialVersionUID = 3258125873411470903L;
+    //static const long serialVersionUID = 3258125873411470903L;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/accessibility/gtk/ATK.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/accessibility/gtk/ATK.d	Fri Mar 27 12:59:54 2009 +0100
@@ -25,8 +25,11 @@
 import org.eclipse.swt.internal.c.gtk;
 
 version(Tango){
-import tango.core.Traits;
+    import tango.core.Traits;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.traits;
+    import std.typetuple;
 }
 
 alias org.eclipse.swt.internal.c.atk.AtkObjectFactory AtkObjectFactory;
@@ -77,13 +80,23 @@
 }
 
 template ForwardGtkAtkCFunc( alias cFunc ) {
-    alias ParameterTupleOf!(cFunc) P;
-    alias ReturnTypeOf!(cFunc) R;
-    mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){
-        lock.lock();
-        scope(exit) lock.unlock();
-        return cFunc(p);
-    }");
+    version(Tango){
+        alias ParameterTupleOf!(cFunc) P;
+        alias ReturnTypeOf!(cFunc) R;
+        mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){
+            lock.lock();
+            scope(exit) lock.unlock();
+            return cFunc(p);
+        }");
+    } else { // Phobos
+        alias ParameterTypeTuple!(cFunc) P;
+        alias ReturnType!(cFunc) R;
+        mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){
+            lock.lock();
+            scope(exit) lock.unlock();
+            return cFunc(p);
+        }");
+    }
 }
 /+
 // alternative template implementation, might be more stable
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d	Fri Mar 27 12:59:54 2009 +0100
@@ -11,35 +11,12 @@
 version=DYNLINK;
 
 version(DYNLINK){
-    import tango.sys.SharedLib : SharedLib;
-    struct Symbol{
-        String name;
-        void** symbol;
-    }
+    import java.nonstandard.SharedLib;
 }
 
 void loadLib(){
     version(DYNLINK){
-        String libname = "libGL.so";
-
-        SharedLib lib = SharedLib.load( libname );
-        if( lib is null ){
-            lib = SharedLib.load( libname ~ ".0" );
-        }
-
-        if ( lib !is null ) {
-            foreach( inout s; symbols ){
-                try{
-                    *s.symbol = lib.getSymbol( s.name.ptr );
-                }
-                catch(Exception e){}
-                if( *s.symbol is null ){
-                    getDwtLogger().trace( __FILE__, __LINE__,  "{}: Symbol '{}' not found", libname, s.name );
-                }
-            }
-        } else {
-            getDwtLogger().trace( __FILE__, __LINE__,  "Could not load the library {}", libname );
-        }
+        SharedLib.loadLibSymbols( symbols, "libGL.so" );
     }
 }
 
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/FileFormat.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/FileFormat.d	Fri Mar 27 12:59:54 2009 +0100
@@ -33,8 +33,10 @@
 import org.eclipse.swt.internal.image.PNGFileFormat;
 
 version(Tango){
-import tango.core.Tuple;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.typetuple;
+    alias TypeTuple Tuple;
 }
 
 /**
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/GIFFileFormat.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/GIFFileFormat.d	Fri Mar 27 12:59:54 2009 +0100
@@ -32,15 +32,15 @@
     int transparentPixel = -1;
     int repeatCount = 1;
 
-    static final int GIF_APPLICATION_EXTENSION_BLOCK_ID = 0xFF;
-    static final int GIF_GRAPHICS_CONTROL_BLOCK_ID = 0xF9;
-    static final int GIF_PLAIN_TEXT_BLOCK_ID = 0x01;
-    static final int GIF_COMMENT_BLOCK_ID = 0xFE;
-    static final int GIF_EXTENSION_BLOCK_ID = 0x21;
-    static final int GIF_IMAGE_BLOCK_ID = 0x2C;
-    static final int GIF_TRAILER_ID = 0x3B;
-    static final byte[] GIF89a = cast(byte[])"GIF89a";
-    static final byte[] NETSCAPE2_0 = cast(byte[])"NETSCAPE2.0";
+    static const int GIF_APPLICATION_EXTENSION_BLOCK_ID = 0xFF;
+    static const int GIF_GRAPHICS_CONTROL_BLOCK_ID = 0xF9;
+    static const int GIF_PLAIN_TEXT_BLOCK_ID = 0x01;
+    static const int GIF_COMMENT_BLOCK_ID = 0xFE;
+    static const int GIF_EXTENSION_BLOCK_ID = 0x21;
+    static const int GIF_IMAGE_BLOCK_ID = 0x2C;
+    static const int GIF_TRAILER_ID = 0x3B;
+    static const byte[] GIF89a = cast(byte[])"GIF89a";
+    static const byte[] NETSCAPE2_0 = cast(byte[])"NETSCAPE2.0";
 
     /**
      * Answer a palette containing numGrays
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/JPEGDecoder.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/JPEGDecoder.d	Fri Mar 27 12:59:54 2009 +0100
@@ -2951,9 +2951,9 @@
     }
 }
 
-static final int CONST_BITS = 13;
-static final int PASS1_BITS = 2;
-static final int RANGE_MASK =(MAXJSAMPLE * 4 + 3);
+static const int CONST_BITS = 13;
+static const int PASS1_BITS = 2;
+static const int RANGE_MASK =(MAXJSAMPLE * 4 + 3);
 static void jpeg_idct_islow (jpeg_decompress_struct cinfo, jpeg_component_info compptr,
     short[] coef_block,
     byte[][] output_buf, int output_buf_offset, int output_col)
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LEDataInputStream.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LEDataInputStream.d	Fri Mar 27 12:59:54 2009 +0100
@@ -124,8 +124,8 @@
         if (buf is null) throw new IOException("buf is null");
         if (offset < 0 || offset > buffer.length ||
             len < 0 || (len > buffer.length - offset)) {
-            throw new ArrayBoundsException(__FILE__,__LINE__);
-            }
+            throw new ArrayIndexOutOfBoundsException(__FILE__,__LINE__);
+        }
 
         int cacheCopied = 0;
         int newOffset = offset;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LZWCodec.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/LZWCodec.d	Fri Mar 27 12:59:54 2009 +0100
@@ -35,7 +35,7 @@
     ImageData image;
     ImageLoader loader;
     bool interlaced;
-    static final int[] MASK_TABLE = [
+    static const int[] MASK_TABLE = [
         0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F,
         0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF
     ];
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/OS2BMPFileFormat.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/OS2BMPFileFormat.d	Fri Mar 27 12:59:54 2009 +0100
@@ -24,8 +24,8 @@
 
 
 final class OS2BMPFileFormat : FileFormat {
-    static final int BMPFileHeaderSize = 14;
-    static final int BMPHeaderFixedSize = 12;
+    static const int BMPFileHeaderSize = 14;
+    static const int BMPHeaderFixedSize = 12;
     int width, height, bitCount;
 
 override bool isFileFormat(LEDataInputStream stream) {
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PNGFileFormat.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PNGFileFormat.d	Fri Mar 27 12:59:54 2009 +0100
@@ -35,8 +35,8 @@
 
 
 final class PNGFileFormat : FileFormat {
-    static final int SIGNATURE_LENGTH = 8;
-    static final int PRIME = 65521;
+    static const int SIGNATURE_LENGTH = 8;
+    static const int PRIME = 65521;
     PngIhdrChunk headerChunk;
     PngPlteChunk paletteChunk;
     ImageData imageData;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngDecodingDataStream.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngDecodingDataStream.d	Fri Mar 27 12:59:54 2009 +0100
@@ -31,8 +31,8 @@
     PngLzBlockReader lzBlockReader;
     int adlerValue;
 
-    static final int PRIME = 65521;
-    static final int MAX_BIT = 7;
+    static const int PRIME = 65521;
+    static const int MAX_BIT = 7;
 
 this(InputStream stream) {
     super();
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngHuffmanTables.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngHuffmanTables.d	Fri Mar 27 12:59:54 2009 +0100
@@ -25,8 +25,8 @@
     static PngHuffmanTable FixedLiteralTable;
     static PngHuffmanTable FixedDistanceTable;
 
-    static final int LiteralTableSize = 288;
-    static final int[] FixedLiteralLengths = [
+    static const int LiteralTableSize = 288;
+    static const int[] FixedLiteralLengths = [
         8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
         8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
         8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
@@ -41,14 +41,14 @@
         7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8,
     ];
 
-    static final int DistanceTableSize = 32;
-    static final int[] FixedDistanceLengths = [
+    static const int DistanceTableSize = 32;
+    static const int[] FixedDistanceLengths = [
         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
     ];
 
-    static final int LengthCodeTableSize = 19;
-    static final int[] LengthCodeOrder = [
+    static const int LengthCodeTableSize = 19;
+    static const int[] LengthCodeOrder = [
         16, 17, 18, 0, 8, 7, 9, 6, 10, 5,
         11, 4, 12, 3, 13, 2, 14, 1, 15
     ];
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngInputStream.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/PngInputStream.d	Fri Mar 27 12:59:54 2009 +0100
@@ -28,7 +28,7 @@
     PngChunk chunk;
     int offset, length;
 
-    final static int DATA_OFFSET = 8;
+    const static int DATA_OFFSET = 8;
 
 public this(PngIdatChunk chunk, PngChunkReader reader) {
     this.chunk = chunk;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFModifiedHuffmanCodec.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFModifiedHuffmanCodec.d	Fri Mar 27 12:59:54 2009 +0100
@@ -24,7 +24,7 @@
 *   (TIFF compression type 3 option 1D)
 */
 final class TIFFModifiedHuffmanCodec {
-    static final short[][][] BLACK_CODE = [
+    static const short[][][] BLACK_CODE = [
         /* 2 bits  */
         [[ cast(short)2, 3], [ cast(short)3, 2]],
         /* 3 bits  */
@@ -62,7 +62,7 @@
         [ cast(short)119, 1216]]
     ];
 
-    static final short[][][] WHITE_CODE = [
+    static const short[][][] WHITE_CODE = [
         /* 4 bits */
         [[ cast(short)7, 2], [ cast(short)8, 3], [ cast(short)11, 4], [ cast(short)12, 5], [ cast(short)14, 6], [ cast(short)15, 7]],
         /* 5 bits */
@@ -93,8 +93,8 @@
         [ cast(short)28, 2368], [ cast(short)29, 2432], [ cast(short)30, 2496], [ cast(short)31, 2560]]
     ];
 
-    static final int BLACK_MIN_BITS = 2;
-    static final int WHITE_MIN_BITS = 4;
+    static const int BLACK_MIN_BITS = 2;
+    static const int WHITE_MIN_BITS = 4;
 
     bool isWhite;
     int whiteValue = 0;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFRandomFileAccess.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/TIFFRandomFileAccess.d	Fri Mar 27 12:59:54 2009 +0100
@@ -22,8 +22,8 @@
     int start, current, next;
     byte[][] buffers;
 
-    static final int CHUNK_SIZE = 8192;
-    static final int LIST_SIZE = 128;
+    static const int CHUNK_SIZE = 8192;
+    static const int LIST_SIZE = 128;
 
 public this(LEDataInputStream stream) {
     inputStream = stream;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/WinBMPFileFormat.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/WinBMPFileFormat.d	Fri Mar 27 12:59:54 2009 +0100
@@ -23,8 +23,8 @@
 
 final class WinBMPFileFormat : FileFormat {
 
-    static final int BMPFileHeaderSize = 14;
-    static final int BMPHeaderFixedSize = 40;
+    static const int BMPFileHeaderSize = 14;
+    static const int BMPHeaderFixedSize = 40;
     int importantColors;
     Point pelsPerMeter;
 
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsEmbedString.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsEmbedString.d	Fri Mar 27 12:59:54 2009 +0100
@@ -2,11 +2,6 @@
 
 import java.lang.all;
 
-version(Tango){
-import Utf = tango.text.convert.Utf;
-} else { // Phobos
-}
-
 import org.eclipse.swt.internal.mozilla.Common;
 import org.eclipse.swt.internal.mozilla.nsStringAPI;
 import XPCOM = org.eclipse.swt.internal.mozilla.XPCOM;
@@ -42,9 +37,9 @@
         return buffer[0 .. len].dup;
     }
     
-    char[] toString()
+    override String toString()
     {
-        return Utf.toString(this.toString16());
+        return String_valueOf(this.toString16());
     }
     ~this()
     {
@@ -78,12 +73,12 @@
         return cast(nsACString*)&str;
     }
 
-    char[] toString()
+    String toString()
     {
         char* buffer = null;
         PRBool terminated;
         uint len = NS_CStringGetData(cast(nsACString*)&str, &buffer, &terminated);
-        return buffer[0 .. len].dup;
+        return buffer[0 .. len]._idup();
     }
 
     ~this()
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsILocalFile.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsILocalFile.d	Fri Mar 27 12:59:54 2009 +0100
@@ -11,8 +11,9 @@
 import org.eclipse.swt.internal.mozilla.nsStringAPI;
 
 version(Tango){
-import tango.stdc.stdio : FILE;
+    import tango.stdc.stdio : FILE;
 } else { // Phobos
+    import std.c.stdio : FILE;
 }
 
 const char[] NS_ILOCALFILE_IID_STR = "aa610f20-a889-11d3-8c81-000064657374";
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/printing/Printer.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/printing/Printer.d	Fri Mar 27 12:59:54 2009 +0100
@@ -23,7 +23,7 @@
 import org.eclipse.swt.graphics.GCData;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.internal.cairo.Cairo;
+import org.eclipse.swt.internal.cairo.Cairo : Cairo;
 import org.eclipse.swt.internal.gtk.OS;
 import org.eclipse.swt.printing.PrinterData;
 import java.lang.all;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Caret.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Caret.d	Fri Mar 27 12:59:54 2009 +0100
@@ -49,7 +49,7 @@
     Image image;
     Font font;
 
-    static final int DEFAULT_WIDTH = 1;
+    static const int DEFAULT_WIDTH = 1;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DateTime.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DateTime.d	Fri Mar 27 12:59:54 2009 +0100
@@ -31,9 +31,10 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.TypedListener;
 
+import java.lang.all;
+
 version(Tango){
 import tango.util.Convert;
-import java.lang.all;
 
 static import tango.text.Util;
 //static import tango.text.locale.Core;
@@ -986,8 +987,8 @@
     if (index !is currentField) {
         commitCurrentField();
     }
-    final int start = fieldIndices[index].x;
-    final int end = fieldIndices[index].y;
+    int start = fieldIndices[index].x;
+    int end = fieldIndices[index].y;
     Point pt = text.getSelection();
     if (index is currentField && start is pt.x && end is pt.y) return;
     currentField = index;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DirectoryDialog.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/DirectoryDialog.d	Fri Mar 27 12:59:54 2009 +0100
@@ -24,9 +24,9 @@
 import org.eclipse.swt.widgets.Display;
 
 version(Tango){
-static import tango.io.model.IFile;
-static import tango.text.Util;
+    static import tango.io.model.IFile;
 } else { // Phobos
+    static import std.path;
 }
 
 /**
@@ -49,7 +49,11 @@
  */
 public class DirectoryDialog : Dialog {
     String message = "", filterPath = "";
-    static const String SEPARATOR = tango.io.model.IFile.FileConst.PathSeparatorString;
+    version(Tango){
+        static const String SEPARATOR = tango.io.model.IFile.FileConst.PathSeparatorString;
+    } else { // Phobos
+        static const String SEPARATOR = std.path.sep;
+    }
 
 /**
  * Constructs a new instance of this class given only its parent.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Display.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Display.d	Fri Mar 27 12:59:54 2009 +0100
@@ -166,8 +166,8 @@
     /* Modality */
     Shell [] modalShells;
     Dialog modalDialog;
-    static final String GET_MODAL_DIALOG = "org.eclipse.swt.internal.gtk.getModalDialog"; //$NON-NLS-1$
-    static final String SET_MODAL_DIALOG = "org.eclipse.swt.internal.gtk.setModalDialog"; //$NON-NLS-1$
+    static const String GET_MODAL_DIALOG = "org.eclipse.swt.internal.gtk.getModalDialog"; //$NON-NLS-1$
+    static const String SET_MODAL_DIALOG = "org.eclipse.swt.internal.gtk.setModalDialog"; //$NON-NLS-1$
 
     /* Focus */
     int focusEvent;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/EventTable.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/EventTable.d	Fri Mar 27 12:59:54 2009 +0100
@@ -33,7 +33,7 @@
     int [] types;
     Listener [] listeners;
     int level;
-    static final int GROW_SIZE = 4;
+    static const int GROW_SIZE = 4;
     
 public Listener [] getListeners (int eventType) {
     if (types is null) return new Listener [0];
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ExpandItem.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ExpandItem.d	Fri Mar 27 12:59:54 2009 +0100
@@ -62,9 +62,9 @@
     bool expanded;
     int x, y, width, height;
     int imageHeight, imageWidth;
-    static final int TEXT_INSET = 6;
-    static final int BORDER = 1;
-    static final int CHEVRON_SIZE = 24;
+    static const int TEXT_INSET = 6;
+    static const int BORDER = 1;
+    static const int CHEVRON_SIZE = 24;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/FileDialog.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/FileDialog.d	Fri Mar 27 12:59:54 2009 +0100
@@ -23,8 +23,7 @@
 import java.lang.all;
 
 version(Tango){
-static import tango.io.model.IFile;
-static import tango.text.Util;
+    static import tango.io.model.IFile;
 } else { // Phobos
 }
 
@@ -58,8 +57,12 @@
     int filterIndex = -1;
     bool overwrite = false;
     GtkWidget* handle;
-    static final char SEPARATOR = tango.io.model.IFile.FileConst.PathSeparatorChar;
-    static final char EXTENSION_SEPARATOR = ';';
+    version(Tango){
+        static const char SEPARATOR = tango.io.model.IFile.FileConst.PathSeparatorChar;
+    } else { // Phobos
+        static const char SEPARATOR = std.path.sep;
+    }
+    static const char EXTENSION_SEPARATOR = ';';
 
 /**
  * Constructs a new instance of this class given only its parent.
@@ -121,8 +124,7 @@
             OS.g_free (name);
             if (utf8Ptr !is null) {
                 fullPath = utf8Ptr[ 0 .. items_written ].dup;
-                int start = tango.text.Util.locatePrior( fullPath, SEPARATOR);
-                if( start is fullPath.length ) start = -1;
+                int start = fullPath.lastIndexOf( SEPARATOR);
                 fileNames [writePos++] = fullPath[ start + 1 .. $ ].dup;
                 OS.g_free (utf8Ptr);
             }
@@ -143,8 +145,7 @@
             if (utf8Ptr !is null) {
                 fullPath = utf8Ptr[ 0 .. items_written ].dup;
                 fileNames = new String [1];
-                int start = tango.text.Util.locatePrior( fullPath, SEPARATOR);
-                if( start == fullPath.length ) start = -1;
+                int start = fullPath.lastIndexOf( SEPARATOR);
                 fileNames[0] = fullPath[ start + 1 .. $ ];
                 OS.g_free (utf8Ptr);
             }
@@ -173,8 +174,7 @@
         }
     }
     if (fullPath !is null) {
-        int separatorIndex = tango.text.Util.locatePrior( fullPath, SEPARATOR);
-        if( separatorIndex is fullPath.length ) separatorIndex = -1;
+        int separatorIndex = fullPath.lastIndexOf( SEPARATOR);
         fileName = fullPath[separatorIndex + 1 .. $ ];
         filterPath = fullPath[0 .. separatorIndex ];
     }
@@ -219,8 +219,7 @@
     OS.g_free (utf8Ptr);
 
     if (osAnswer.length is 0) return null;
-    int separatorIndex = tango.text.Util.locatePrior( osAnswer, SEPARATOR);
-    if (separatorIndex is osAnswer.length ) separatorIndex = -1;
+    int separatorIndex = osAnswer.lastIndexOf( SEPARATOR);
     if (separatorIndex+1 is osAnswer.length ) return null;
 
     String answer = fullPath = osAnswer;
@@ -241,8 +240,7 @@
         for (int i = 0; i < length_; i++) {
             utf8Ptr = OS.g_filename_to_utf8 (namesPtr [i], -1, null, &items_written, null);
             String name = utf8Ptr[ 0 .. items_written ].dup;
-            int start = tango.text.Util.locatePrior( name, SEPARATOR);
-            if( start == name.length ) start = -1;
+            int start = name.lastIndexOf( SEPARATOR);
             fileNames [i] = name[ start + 1 .. $ ].dup;
             OS.g_free (utf8Ptr);
         }
@@ -529,13 +527,13 @@
                 OS.gtk_file_filter_set_name (filter, name);
             }
             int start = 0;
-            int index = tango.text.Util.locate( filterExtensions [i], EXTENSION_SEPARATOR );
-            while (index !is filterExtensions [i].length ) {
+            int index = filterExtensions [i].indexOf( EXTENSION_SEPARATOR );
+            while (index !is -1 ) {
                 String current = filterExtensions [i][ start .. index ];
                 char* filterString = toStringz(current);
                 OS.gtk_file_filter_add_pattern (filter, filterString);
                 start = index + 1;
-                index = tango.text.Util.locate( filterExtensions [i], EXTENSION_SEPARATOR, start);
+                index = filterExtensions [i].indexOf( EXTENSION_SEPARATOR, start);
             }
             String current = filterExtensions [i][ start .. $ ];
             char* filterString = toStringz(current);
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/List.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/List.d	Fri Mar 27 12:59:54 2009 +0100
@@ -60,7 +60,7 @@
 
     GtkWidget* modelHandle;
 
-    static final int TEXT_COLUMN = 0;
+    static const int TEXT_COLUMN = 0;
     CallbackData treeSelectionProcCallbackData;
 
 /**
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Listener.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Listener.d	Fri Mar 27 12:59:54 2009 +0100
@@ -17,9 +17,11 @@
 import org.eclipse.swt.widgets.Event;
 
 version(Tango){
-import tango.core.Traits;
-import tango.core.Tuple;
+    import tango.core.Traits;
+    import tango.core.Tuple;
 } else { // Phobos
+    import std.traits;
+    import std.typetuple;
 }
 
 /**
@@ -66,9 +68,22 @@
 /// Helper class for the dgListener template function
 private class _DgListenerT(Dg,T...) : Listener {
 
-    alias ParameterTupleOf!(Dg) DgArgs;
-    static assert( is(DgArgs == Tuple!(Event,T)),
-                "Delegate args not correct: delegate args: ("~DgArgs.stringof~") vs. passed args: ("~Tuple!(Event,T).stringof~")" );
+    version(Tango){
+        alias ParameterTupleOf!(Dg) DgArgs;
+        static assert( is(DgArgs == Tuple!(Event,T)),
+            "Delegate args not correct: delegate args: ("~
+            DgArgs.stringof~
+            ") vs. passed args: ("~
+            Tuple!(Event,T).stringof~")" );
+    } else { // Phobos
+        alias ParameterTypeTuple!(Dg) DgArgs;
+        static assert( is(DgArgs == TypeTuple!(Event,T)),
+            "Delegate args not correct: delegate args: ("~
+            DgArgs.stringof~
+            ") vs. passed args: ("~
+            TypeTuple!(Event,T).stringof~")" );
+    }
+
 
     Dg dg;
     T  t;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/RunnableLock.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/RunnableLock.d	Fri Mar 27 12:59:54 2009 +0100
@@ -16,9 +16,10 @@
 
 import java.lang.Thread;
 version(Tango){
-import tango.core.sync.Condition;
-import tango.core.sync.Mutex;
+    import tango.core.sync.Condition;
+    import tango.core.sync.Mutex;
 } else { // Phobos
+    alias Object Mutex; // FIXME, real mutex is needed
 }
 
 /**
@@ -33,11 +34,18 @@
     Thread thread;
     Exception throwable;
 
-    Condition cond;
+    version(Tango){
+        Condition cond;
+    } else { // Phobos
+    }
 
 this (Runnable runnable) {
     this.runnable = runnable;
-    this.cond = new Condition(this);
+    version(Tango){
+        this.cond = new Condition(this);
+    } else { // Phobos
+        implMissing(__FILE__, __LINE__);
+    }
 }
 
 bool done () {
@@ -50,10 +58,18 @@
 }
 
 void notifyAll(){
-    cond.notifyAll();
+    version(Tango){
+        cond.notifyAll();
+    } else { // Phobos
+        implMissing(__FILE__, __LINE__);
+    }
 }
 void wait(){
-    cond.wait();
+    version(Tango){
+        cond.wait();
+    } else { // Phobos
+        implMissing(__FILE__, __LINE__);
+    }
 }
 
 }
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Sash.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Sash.d	Fri Mar 27 12:59:54 2009 +0100
@@ -58,8 +58,8 @@
     int startX, startY, lastX, lastY;
     GtkWidget* defaultCursor;
 
-    private final static int INCREMENT = 1;
-    private final static int PAGE_INCREMENT = 9;
+    private const static int INCREMENT = 1;
+    private const static int PAGE_INCREMENT = 9;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Shell.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Shell.d	Fri Mar 27 12:59:54 2009 +0100
@@ -16,7 +16,7 @@
 
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.internal.c.gtk;
+//import org.eclipse.swt.internal.c.gtk;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.internal.gtk.OS;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Spinner.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Spinner.d	Fri Mar 27 12:59:54 2009 +0100
@@ -64,8 +64,8 @@
     alias Composite.setCursor setCursor;
     alias Composite.translateTraversal translateTraversal;
 
-    static final int INNER_BORDER = 2;
-    static final int MIN_ARROW_WIDTH = 6;
+    static const int INNER_BORDER = 2;
+    static const int MIN_ARROW_WIDTH = 6;
     int lastEventTime = 0;
     GdkEventKey* gdkEventKey;
     int fixStart = -1, fixEnd = -1;
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Synchronizer.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Synchronizer.d	Fri Mar 27 12:59:54 2009 +0100
@@ -49,8 +49,8 @@
     RunnableLock [] messages;
     Object messageLock;
     Thread syncThread;
-    static final int GROW_SIZE = 4;
-    static final int MESSAGE_LIMIT = 64;
+    static const int GROW_SIZE = 4;
+    static const int MESSAGE_LIMIT = 64;
 
 /**
  * Constructs a new instance of this class.
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ToolTip.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/ToolTip.d	Fri Mar 27 12:59:54 2009 +0100
@@ -62,12 +62,12 @@
     bool spikeAbove, autohide;
     CallbackData timerProcCallbackData;
 
-    static final int BORDER = 5;
-    static final int PADDING = 5;
-    static final int INSET = 4;
-    static final int TIP_HEIGHT = 20;
-    static final int IMAGE_SIZE = 16;
-    static final int DELAY = 8000;
+    static const int BORDER = 5;
+    static const int PADDING = 5;
+    static const int INSET = 4;
+    static const int TIP_HEIGHT = 20;
+    static const int IMAGE_SIZE = 16;
+    static const int DELAY = 8000;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Tracker.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Tracker.d	Fri Mar 27 12:59:54 2009 +0100
@@ -65,8 +65,8 @@
     int cursorOrientation = SWT.NONE;
     int oldX, oldY;
 
-    final static int STEPSIZE_SMALL = 1;
-    final static int STEPSIZE_LARGE = 9;
+    const static int STEPSIZE_SMALL = 1;
+    const static int STEPSIZE_LARGE = 9;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/TreeItem.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/TreeItem.d	Fri Mar 27 12:59:54 2009 +0100
@@ -50,7 +50,7 @@
     Font font;
     Font[] cellFont;
     bool cached, grayed;
-    static final int EXPANDER_EXTRA_PADDING = 4;
+    static const int EXPANDER_EXTRA_PADDING = 4;
 
 /**
  * Constructs a new instance of this class given its parent
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Widget.d	Fri Mar 27 12:05:20 2009 +0100
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/widgets/Widget.d	Fri Mar 27 12:59:54 2009 +0100
@@ -179,73 +179,79 @@
     static const int MONTH_CHANGED = 62;
     static const int LAST_SIGNAL = 63;
 
-    template UD_Getter( String name ){
-        const String UD_Getter = "void* ud"~name~"(){ return getDisplay().getWindowProcUserData( "~name~"); }\n";
-    }
+    //version(D_Version2){
+        static String UD_Getter(String name){
+            return "void* ud"~name~"(){ return getDisplay().getWindowProcUserData( "~name~"); }\n";
+        }
+    //} else { // D1
+    //template UD_Getter( String name ){
+    //    const String UD_Getter = "void* ud"~name~"(){ return getDisplay().getWindowProcUserData( "~name~"); }\n";
+    //}
+    //}
 
-    mixin ( UD_Getter!( "ACTIVATE" ));
-    mixin ( UD_Getter!( "BUTTON_PRESS_EVENT" ));
-    mixin ( UD_Getter!( "BUTTON_PRESS_EVENT_INVERSE" ));
-    mixin ( UD_Getter!( "BUTTON_RELEASE_EVENT" ));
-    mixin ( UD_Getter!( "BUTTON_RELEASE_EVENT_INVERSE" ));
-    mixin ( UD_Getter!( "CHANGED" ));
-    mixin ( UD_Getter!( "CHANGE_VALUE" ));
-    mixin ( UD_Getter!( "CLICKED" ));
-    mixin ( UD_Getter!( "COMMIT" ));
-    mixin ( UD_Getter!( "CONFIGURE_EVENT" ));
-    mixin ( UD_Getter!( "DELETE_EVENT" ));
-    mixin ( UD_Getter!( "DELETE_RANGE" ));
-    mixin ( UD_Getter!( "DELETE_TEXT" ));
-    mixin ( UD_Getter!( "ENTER_NOTIFY_EVENT" ));
-    mixin ( UD_Getter!( "EVENT" ));
-    mixin ( UD_Getter!( "EVENT_AFTER" ));
-    mixin ( UD_Getter!( "EXPAND_COLLAPSE_CURSOR_ROW" ));
-    mixin ( UD_Getter!( "EXPOSE_EVENT" ));
-    mixin ( UD_Getter!( "EXPOSE_EVENT_INVERSE" ));
-    mixin ( UD_Getter!( "FOCUS" ));
-    mixin ( UD_Getter!( "FOCUS_IN_EVENT" ));
-    mixin ( UD_Getter!( "FOCUS_OUT_EVENT" ));
-    mixin ( UD_Getter!( "GRAB_FOCUS" ));
-    mixin ( UD_Getter!( "HIDE" ));
-    mixin ( UD_Getter!( "INPUT" ));
-    mixin ( UD_Getter!( "INSERT_TEXT" ));
-    mixin ( UD_Getter!( "KEY_PRESS_EVENT" ));
-    mixin ( UD_Getter!( "KEY_RELEASE_EVENT" ));
-    mixin ( UD_Getter!( "LEAVE_NOTIFY_EVENT" ));
-    mixin ( UD_Getter!( "MAP" ));
-    mixin ( UD_Getter!( "MAP_EVENT" ));
-    mixin ( UD_Getter!( "MNEMONIC_ACTIVATE" ));
-    mixin ( UD_Getter!( "MOTION_NOTIFY_EVENT" ));
-    mixin ( UD_Getter!( "MOTION_NOTIFY_EVENT_INVERSE" ));
-    mixin ( UD_Getter!( "MOVE_FOCUS" ));
-    mixin ( UD_Getter!( "OUTPUT" ));
-    mixin ( UD_Getter!( "POPULATE_POPUP" ));
-    mixin ( UD_Getter!( "POPUP_MENU" ));
-    mixin ( UD_Getter!( "PREEDIT_CHANGED" ));
-    mixin ( UD_Getter!( "REALIZE" ));
-    mixin ( UD_Getter!( "ROW_ACTIVATED" ));
-    mixin ( UD_Getter!( "SCROLL_CHILD" ));
-    mixin ( UD_Getter!( "SCROLL_EVENT" ));
-    mixin ( UD_Getter!( "SELECT" ));
-    mixin ( UD_Getter!( "SHOW" ));
-    mixin ( UD_Getter!( "SHOW_HELP" ));
-    mixin ( UD_Getter!( "SIZE_ALLOCATE" ));
-    mixin ( UD_Getter!( "STYLE_SET" ));
-    mixin ( UD_Getter!( "SWITCH_PAGE" ));
-    mixin ( UD_Getter!( "TEST_COLLAPSE_ROW" ));
-    mixin ( UD_Getter!( "TEST_EXPAND_ROW" ));
-    mixin ( UD_Getter!( "TEXT_BUFFER_INSERT_TEXT" ));
-    mixin ( UD_Getter!( "TOGGLED" ));
-    mixin ( UD_Getter!( "UNMAP" ));
-    mixin ( UD_Getter!( "UNMAP_EVENT" ));
-    mixin ( UD_Getter!( "UNREALIZE" ));
-    mixin ( UD_Getter!( "VALUE_CHANGED" ));
-    mixin ( UD_Getter!( "VISIBILITY_NOTIFY_EVENT" ));
-    mixin ( UD_Getter!( "WINDOW_STATE_EVENT" ));
-    mixin ( UD_Getter!( "ACTIVATE_INVERSE" ));
-    mixin ( UD_Getter!( "DAY_SELECTED" ));
-    mixin ( UD_Getter!( "MONTH_CHANGED" ));
-    mixin ( UD_Getter!( "LAST_SIGNAL" ));
+    mixin ( UD_Getter( "ACTIVATE" ));
+    mixin ( UD_Getter( "BUTTON_PRESS_EVENT" ));
+    mixin ( UD_Getter( "BUTTON_PRESS_EVENT_INVERSE" ));
+    mixin ( UD_Getter( "BUTTON_RELEASE_EVENT" ));
+    mixin ( UD_Getter( "BUTTON_RELEASE_EVENT_INVERSE" ));
+    mixin ( UD_Getter( "CHANGED" ));
+    mixin ( UD_Getter( "CHANGE_VALUE" ));
+    mixin ( UD_Getter( "CLICKED" ));
+    mixin ( UD_Getter( "COMMIT" ));
+    mixin ( UD_Getter( "CONFIGURE_EVENT" ));
+    mixin ( UD_Getter( "DELETE_EVENT" ));
+    mixin ( UD_Getter( "DELETE_RANGE" ));
+    mixin ( UD_Getter( "DELETE_TEXT" ));
+    mixin ( UD_Getter( "ENTER_NOTIFY_EVENT" ));
+    mixin ( UD_Getter( "EVENT" ));
+    mixin ( UD_Getter( "EVENT_AFTER" ));
+    mixin ( UD_Getter( "EXPAND_COLLAPSE_CURSOR_ROW" ));
+    mixin ( UD_Getter( "EXPOSE_EVENT" ));
+    mixin ( UD_Getter( "EXPOSE_EVENT_INVERSE" ));
+    mixin ( UD_Getter( "FOCUS" ));
+    mixin ( UD_Getter( "FOCUS_IN_EVENT" ));
+    mixin ( UD_Getter( "FOCUS_OUT_EVENT" ));
+    mixin ( UD_Getter( "GRAB_FOCUS" ));
+    mixin ( UD_Getter( "HIDE" ));
+    mixin ( UD_Getter( "INPUT" ));
+    mixin ( UD_Getter( "INSERT_TEXT" ));
+    mixin ( UD_Getter( "KEY_PRESS_EVENT" ));
+    mixin ( UD_Getter( "KEY_RELEASE_EVENT" ));
+    mixin ( UD_Getter( "LEAVE_NOTIFY_EVENT" ));
+    mixin ( UD_Getter( "MAP" ));
+    mixin ( UD_Getter( "MAP_EVENT" ));
+    mixin ( UD_Getter( "MNEMONIC_ACTIVATE" ));
+    mixin ( UD_Getter( "MOTION_NOTIFY_EVENT" ));
+    mixin ( UD_Getter( "MOTION_NOTIFY_EVENT_INVERSE" ));
+    mixin ( UD_Getter( "MOVE_FOCUS" ));
+    mixin ( UD_Getter( "OUTPUT" ));
+    mixin ( UD_Getter( "POPULATE_POPUP" ));
+    mixin ( UD_Getter( "POPUP_MENU" ));
+    mixin ( UD_Getter( "PREEDIT_CHANGED" ));
+    mixin ( UD_Getter( "REALIZE" ));
+    mixin ( UD_Getter( "ROW_ACTIVATED" ));
+    mixin ( UD_Getter( "SCROLL_CHILD" ));
+    mixin ( UD_Getter( "SCROLL_EVENT" ));
+    mixin ( UD_Getter( "SELECT" ));
+    mixin ( UD_Getter( "SHOW" ));
+    mixin ( UD_Getter( "SHOW_HELP" ));
+    mixin ( UD_Getter( "SIZE_ALLOCATE" ));
+    mixin ( UD_Getter( "STYLE_SET" ));
+    mixin ( UD_Getter( "SWITCH_PAGE" ));
+    mixin ( UD_Getter( "TEST_COLLAPSE_ROW" ));
+    mixin ( UD_Getter( "TEST_EXPAND_ROW" ));
+    mixin ( UD_Getter( "TEXT_BUFFER_INSERT_TEXT" ));
+    mixin ( UD_Getter( "TOGGLED" ));
+    mixin ( UD_Getter( "UNMAP" ));
+    mixin ( UD_Getter( "UNMAP_EVENT" ));
+    mixin ( UD_Getter( "UNREALIZE" ));
+    mixin ( UD_Getter( "VALUE_CHANGED" ));
+    mixin ( UD_Getter( "VISIBILITY_NOTIFY_EVENT" ));
+    mixin ( UD_Getter( "WINDOW_STATE_EVENT" ));
+    mixin ( UD_Getter( "ACTIVATE_INVERSE" ));
+    mixin ( UD_Getter( "DAY_SELECTED" ));
+    mixin ( UD_Getter( "MONTH_CHANGED" ));
+    mixin ( UD_Getter( "LAST_SIGNAL" ));
 
 /**
  * Prevents uninitialized instances from being created outside the package.