changeset 40:da5ad8eedf5d

debug prints, dwt.dwthelper restructure, ...
author Frank Benoit <benoit@tionex.de>
date Thu, 10 Apr 2008 08:59:39 +0200
parents 644f1334b451
children 1ab001d67011
files dwtx/core/commands/CommandManager.d dwtx/core/commands/operations/DefaultOperationHistory.d dwtx/jface/action/ContributionManager.d dwtx/jface/action/CoolBarManager.d dwtx/jface/action/ExternalActionManager.d dwtx/jface/action/LegacyActionTools.d dwtx/jface/action/StatusLine.d dwtx/jface/bindings/keys/IKeyLookup.d dwtx/jface/bindings/keys/SWTKeyLookup.d dwtx/jface/dialogs/DialogSettings.d dwtx/jface/resource/AbstractResourceManager.d dwtx/jface/resource/FileImageDescriptor.d dwtx/jface/resource/ImageDescriptor.d dwtx/jface/resource/JFaceResources.d dwtx/jface/util/Geometry.d dwtx/jface/util/Policy.d dwtx/jface/viewers/AbstractTreeViewer.d dwtx/jface/viewers/ColumnViewer.d dwtx/jface/viewers/ContentViewer.d dwtx/jface/viewers/StructuredViewer.d dwtx/jface/viewers/TreeViewer.d dwtx/jface/viewers/ViewerColumn.d dwtx/jface/window/Window.d
diffstat 23 files changed, 64 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/dwtx/core/commands/CommandManager.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/core/commands/CommandManager.d	Thu Apr 10 08:59:39 2008 +0200
@@ -59,6 +59,8 @@
 static import tango.text.Text;
 alias tango.text.Text.Text!(char) StringBuffer;
 
+import dwt.dwthelper.WeakHashMap;
+
 /**
  * <p>
  * A central repository for commands -- both in the defined and undefined
@@ -199,7 +201,7 @@
         definedCategoryIds = new HashSet!(String);
         definedParameterTypeIds = new HashSet!(String);
         parameterTypesById = new HashMap!(String,ParameterType);
-        helpContextIdsByHandler = new WeakHashMap!(IHandler,String);
+        helpContextIdsByHandler = new WeakHashMap();
     }
 
     /**
@@ -309,7 +311,7 @@
      *
      * @since 3.2
      */
-    private const WeakHashMap!(IHandler,String) helpContextIdsByHandler;
+    private const WeakHashMap helpContextIdsByHandler;
 
     /**
      * The map of parameter type identifiers (<code>String</code>) to
@@ -705,8 +707,7 @@
         // Check the handler.
         IHandler handler = command.getHandler();
         if (handler !is null) {
-            String helpContextId = cast(String) helpContextIdsByHandler
-                    .get(handler);
+            String helpContextId = stringcast( helpContextIdsByHandler.get( cast(Object) handler) );
             if (helpContextId !is null) {
                 return helpContextId;
             }
@@ -942,9 +943,9 @@
             throw new NullPointerException("The handler cannot be null"); //$NON-NLS-1$
         }
         if (helpContextId is null) {
-            helpContextIdsByHandler.removeKey(handler);
+            helpContextIdsByHandler.removeKey(cast(Object) handler);
         } else {
-            helpContextIdsByHandler.add(handler, helpContextId);
+            helpContextIdsByHandler.add(cast(Object) handler, stringcast(helpContextId));
         }
     }
 
--- a/dwtx/core/commands/operations/DefaultOperationHistory.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/core/commands/operations/DefaultOperationHistory.d	Thu Apr 10 08:59:39 2008 +0200
@@ -40,7 +40,6 @@
 import dwtx.core.commands.operations.IAdvancedUndoableOperation;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 
 /**
  * <p>
--- a/dwtx/jface/action/ContributionManager.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/action/ContributionManager.d	Thu Apr 10 08:59:39 2008 +0200
@@ -25,7 +25,6 @@
 import dwtx.jface.util.Policy;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 import tango.io.Stdout;
 import tango.core.Exception;
 import tango.text.convert.Format;
--- a/dwtx/jface/action/CoolBarManager.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/action/CoolBarManager.d	Thu Apr 10 08:59:39 2008 +0200
@@ -41,7 +41,6 @@
 import dwtx.jface.util.Policy;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 import tango.io.Stdout;
 
 /**
--- a/dwtx/jface/action/ExternalActionManager.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/action/ExternalActionManager.d	Thu Apr 10 08:59:39 2008 +0200
@@ -42,7 +42,6 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.ResourceBundle;
-import dwt.dwthelper.Integer;
 import tango.text.convert.Format;
 
 /**
--- a/dwtx/jface/action/LegacyActionTools.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/action/LegacyActionTools.d	Thu Apr 10 08:59:39 2008 +0200
@@ -20,7 +20,6 @@
 import dwtx.jface.resource.JFaceResources;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 static import tango.text.Text;
 alias tango.text.Text.Text!(char) StringBuffer;
 
@@ -337,8 +336,8 @@
             initLocalizedKeyCodes();
         }
         token = token.toUpperCase();
-        Integer i = cast(Integer) localizedKeyCodes.get(token);
-        if (i !is null) {
+        Integer i;
+        if (localizedKeyCodes.containsKey(token) && (i = cast(Integer) localizedKeyCodes.get(token)) !is null ) {
             return i.intValue();
         }
         if (token.length is 1) {
--- a/dwtx/jface/action/StatusLine.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/action/StatusLine.d	Thu Apr 10 08:59:39 2008 +0200
@@ -115,7 +115,8 @@
 
     static this() {
         fgStopImage = ImageDescriptor.createFromFile(
-            import("dwtx.jface.action.images.stop.gif"));//$NON-NLS-1$
+            getImportData!("dwtx.jface.action.images.stop.gif"));//$NON-NLS-1$
+            //getImportData!("file.png"));//$NON-NLS-1$
     //DWT Note: Not used in jface, but needs Display instance, which is not yet available.
     //    JFaceResources.getImageRegistry().put(
     //    "dwtx.jface.parts.StatusLine.stopImage", fgStopImage);//$NON-NLS-1$
--- a/dwtx/jface/bindings/keys/IKeyLookup.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/bindings/keys/IKeyLookup.d	Thu Apr 10 08:59:39 2008 +0200
@@ -13,7 +13,6 @@
 module dwtx.jface.bindings.keys.IKeyLookup;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 
 /**
  * <p>
--- a/dwtx/jface/bindings/keys/SWTKeyLookup.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/bindings/keys/SWTKeyLookup.d	Thu Apr 10 08:59:39 2008 +0200
@@ -21,7 +21,6 @@
 import dwtx.jface.util.Util;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 
 /**
  * <p>
--- a/dwtx/jface/dialogs/DialogSettings.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/dialogs/DialogSettings.d	Thu Apr 10 08:59:39 2008 +0200
@@ -37,6 +37,7 @@
 static import tango.text.convert.Format;
 import tango.core.Exception;
 alias tango.text.Text.Text!(char) StringBuffer;
+import dwt.dwthelper.XmlTranscode;
 
 /**
  * Concrete implementation of a dialog settings (<code>IDialogSettings</code>)
--- a/dwtx/jface/resource/AbstractResourceManager.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/resource/AbstractResourceManager.d	Thu Apr 10 08:59:39 2008 +0200
@@ -81,7 +81,7 @@
         }
 
         // Get the current reference count
-        RefCount count = map.get(descriptor);
+        RefCount count = map.containsKey(descriptor) ? map.get(descriptor) : null;
         if (count !is null) {
             // If this resource already exists, increment the reference count and return
             // the existing resource.
--- a/dwtx/jface/resource/FileImageDescriptor.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/resource/FileImageDescriptor.d	Thu Apr 10 08:59:39 2008 +0200
@@ -30,6 +30,8 @@
 import dwt.dwthelper.BufferedInputStream;
 import dwt.dwthelper.ByteArrayInputStream;
 
+import tango.util.log.Trace;
+
 /**
  * An image descriptor that loads its image information
  * from a file.
@@ -45,7 +47,7 @@
     /**
      * The name of the file.
      */
-//     private String name;
+    private String name;
     private void[] importdata;
 
     /**
@@ -62,10 +64,10 @@
      *   <code>null</code>
      * @param filename the name of the file
      */
-    this(void[] importdata/+ClassInfo clazz, String filename+/) {
+    this(ImportData importdata) {
 //         this.location = clazz;
-//         this.name = filename;
-        this.importdata = importdata;
+        this.name = importdata.name;
+        this.importdata = importdata.data;
     }
 
     /* (non-Javadoc)
@@ -99,7 +101,8 @@
             try {
                 result = new ImageData(in_);
             } catch (DWTException e) {
-                if (e.code !is DWT.ERROR_INVALID_IMAGE) {
+                if (e.code !is DWT.ERROR_INVALID_IMAGE /+&& e.code !is DWT.ERROR_UNSUPPORTED_FORMAT+/) {
+                    Trace.formatln( "FileImageDescriptor getImageData DWTException for name={}", name );
                     throw e;
                 // fall through otherwise
                 }
@@ -121,6 +124,7 @@
         InputStream is_ = null;
 
 //         if (location !is null) {
+// Trace.formatln( "FileImageDescriptor getStream importdata.length={} name={}",importdata.length, name );
             is_ = new ByteArrayInputStream(cast(byte[]) importdata);
 //             is_ = ClassInfoGetResourceAsStream( location, name);
 
--- a/dwtx/jface/resource/ImageDescriptor.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/resource/ImageDescriptor.d	Thu Apr 10 08:59:39 2008 +0200
@@ -89,8 +89,8 @@
      * @param filename the file name
      * @return a new image descriptor
      */
-    public static ImageDescriptor createFromFile( void[] importdata/+ClassInfo location, String filename+/) {
-        return new FileImageDescriptor(importdata/+location, filename+/);
+    public static ImageDescriptor createFromFile( ImportData importData) {
+        return new FileImageDescriptor(importData);
     }
 
     /**
--- a/dwtx/jface/resource/JFaceResources.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/resource/JFaceResources.d	Thu Apr 10 08:59:39 2008 +0200
@@ -221,9 +221,11 @@
         if (reg is null) {
             toQuery.disposeExec(new class(toQuery) Runnable {
                 DeviceResourceManager mgr;
+                Display toQuery_;
                 this(Display d){
                     mgr = new DeviceResourceManager(d);
                     reg = mgr;
+                    toQuery_ = d;
                     registries.add(d, reg);
                 }
                 /*
@@ -233,7 +235,7 @@
                  */
                 public void run() {
                     mgr.dispose();
-                    registries.removeKey(toQuery);
+                    registries.removeKey(toQuery_);
                 }
             });
         }
@@ -442,20 +444,20 @@
 //             // Test to see if OSGI is present
 //         }
         declareImage(bundle, Wizard.DEFAULT_IMAGE, ICONS_PATH
-                ~ "page.gif", import( "dwtx.jface.wizard.images.page.gif" )); //$NON-NLS-1$
+                ~ "page.gif", getImportData!( "dwtx.jface.wizard.images.page.gif" )); //$NON-NLS-1$
         // register default images for dialogs
         declareImage(bundle, Dialog.DLG_IMG_MESSAGE_INFO, ICONS_PATH
-                ~ "message_info.gif", import( "dwtx.jface.dialogs.images.message_info.gif")); //$NON-NLS-1$ //$NON-NLS-2$
+                ~ "message_info.gif", getImportData!( "dwtx.jface.dialogs.images.message_info.gif")); //$NON-NLS-1$ //$NON-NLS-2$
         declareImage(bundle, Dialog.DLG_IMG_MESSAGE_WARNING, ICONS_PATH
-                ~ "message_warning.gif", import( "dwtx.jface.dialogs.images.message_warning.gif")); //$NON-NLS-1$
+                ~ "message_warning.gif", getImportData!( "dwtx.jface.dialogs.images.message_warning.gif")); //$NON-NLS-1$
         declareImage(bundle, Dialog.DLG_IMG_MESSAGE_ERROR, ICONS_PATH
-                ~ "message_error.gif", import( "dwtx.jface.dialogs.images.message_error.gif"));//$NON-NLS-1$ //$NON-NLS-2$
+                ~ "message_error.gif", getImportData!( "dwtx.jface.dialogs.images.message_error.gif"));//$NON-NLS-1$ //$NON-NLS-2$
         declareImage(bundle, Dialog.DLG_IMG_HELP, ICONS_PATH
-                ~ "help.gif", import( "dwtx.jface.dialogs.images.help.gif"));//$NON-NLS-1$ //$NON-NLS-2$
+                ~ "help.gif", getImportData!( "dwtx.jface.dialogs.images.help.gif"));//$NON-NLS-1$ //$NON-NLS-2$
         declareImage(bundle, TitleAreaDialog.DLG_IMG_TITLE_BANNER, ICONS_PATH
-                ~ "title_banner.png", import( "dwtx.jface.dialogs.images.title_banner.gif"));//$NON-NLS-1$ //$NON-NLS-2$
+                ~ "title_banner.png", getImportData!( "dwtx.jface.dialogs.images.title_banner.gif"));//$NON-NLS-1$ //$NON-NLS-2$
         declareImage(bundle, PreferenceDialog.PREF_DLG_TITLE_IMG, ICONS_PATH
-                ~ "pref_dialog_title.gif", import( "dwtx.jface.preference.images.pref_dialog_title.gif"));//$NON-NLS-1$ //$NON-NLS-2$
+                ~ "pref_dialog_title.gif", getImportData!( "dwtx.jface.preference.images.pref_dialog_title.gif"));//$NON-NLS-1$ //$NON-NLS-2$
     }
 
     /**
@@ -479,7 +481,7 @@
      *
      */
     private static final void declareImage(Object bundle, String key,
-            String path, void[] importdata/+ClassInfo fallback, String fallbackPath+/) {
+            String path, ImportData importdata/+ClassInfo fallback, String fallbackPath+/) {
 
 
         ImageDescriptor descriptor = null;
--- a/dwtx/jface/util/Geometry.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/util/Geometry.d	Thu Apr 10 08:59:39 2008 +0200
@@ -18,7 +18,6 @@
 import dwt.widgets.Control;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 
 /**
  * Contains static methods for performing simple geometric operations
--- a/dwtx/jface/util/Policy.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/util/Policy.d	Thu Apr 10 08:59:39 2008 +0200
@@ -75,9 +75,9 @@
                 Stderr.formatln(status.getMessage());
                 if (status.getException() !is null) {
                     auto e = status.getException();
-                    Stderr( "Exception in {}({}): {}", e.file, e.line, e.msg );
+                    Stderr.formatln( "Exception of type {} in {}({}): {}", e.classinfo.name, e.file, e.line, e.msg );
                     foreach( msg; e.info ){
-                        Stderr( "    trc: {}", msg );
+                        Stderr.formatln( "    trc: {}", msg );
                     }
 //                     status.getException().printStackTrace();
                 }
--- a/dwtx/jface/viewers/AbstractTreeViewer.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/AbstractTreeViewer.d	Thu Apr 10 08:59:39 2008 +0200
@@ -60,6 +60,7 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
+import tango.util.log.Trace;
 
 /**
  * Abstract base implementation for tree-structure-oriented viewers (trees and
@@ -914,6 +915,7 @@
      *            the element
      */
     protected void doUpdateItem(Item item, Object element) {
+        Trace.formatln( "{} {}: doUpdateItem", __FILE__, __LINE__ );
         if (item.isDisposed()) {
             unmapElement(element, item);
             return;
@@ -929,10 +931,12 @@
 
         // If the control is virtual, we cannot use the cached viewer row object. See bug 188663.
         if (isVirtual) {
+        Trace.formatln( "{} {}: doUpdateItem", __FILE__, __LINE__ );
             viewerRowFromItem = cast(ViewerRow) viewerRowFromItem.clone();
         }
 
         for (int column = 0; column < columnCount; column++) {
+        Trace.formatln( "{} {}: doUpdateItem", __FILE__, __LINE__ );
             ViewerColumn columnViewer = getViewerColumn(column);
             ViewerCell cellToUpdate = updateCell(viewerRowFromItem, column,
                     element);
@@ -1782,12 +1786,15 @@
 
     /* (non-Javadoc) Method declared on StructuredViewer. */
     protected void internalRefresh(Object element, bool updateLabels) {
+    Trace.formatln( "{} {}: ", __FILE__, __LINE__ );
+    PrintStackTrace();
         // If element is null, do a full refresh.
         if (element is null) {
             internalRefresh(getControl(), getRoot(), true, updateLabels);
             return;
         }
         Widget[] items = findItems(element);
+    Trace.formatln( "{} {}: ,items.length={}", __FILE__, __LINE__ ,items.length);
         if (items.length !is 0) {
             for (int i = 0; i < items.length; i++) {
                 // pick up structure changes too
@@ -2986,6 +2993,7 @@
      *      java.lang.Object)
      */
     protected void buildLabel(ViewerLabel updateLabel, Object elementOrPath) {
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
         Object element;
         if (auto path = cast(TreePath)elementOrPath ) {
             IBaseLabelProvider provider = getLabelProvider();
--- a/dwtx/jface/viewers/ColumnViewer.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/ColumnViewer.d	Thu Apr 10 08:59:39 2008 +0200
@@ -43,6 +43,7 @@
 import dwtx.jface.util.Policy;
 
 import dwt.dwthelper.utils;
+import tango.util.log.Trace;
 
 /**
  * The ColumnViewer is the abstract superclass of viewers that have columns
@@ -219,6 +220,7 @@
      *         there is none for the given index
      */
     /* package */ViewerColumn getViewerColumn(int columnIndex) {
+        Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ );
 
         ViewerColumn viewer;
         Widget columnOwner = getColumnViewerOwner(columnIndex);
@@ -227,8 +229,7 @@
             return null;
         }
 
-        viewer = cast(ViewerColumn) columnOwner
-                .getData(ViewerColumn.COLUMN_VIEWER_KEY);
+        viewer = cast(ViewerColumn) columnOwner.getData(ViewerColumn.COLUMN_VIEWER_KEY);
 
         if (viewer is null) {
             viewer = createViewerColumn(columnOwner, CellLabelProvider
@@ -357,6 +358,7 @@
      * @return ViewerCell
      */
     /* package */ViewerCell updateCell(ViewerRow rowItem, int column, Object element) {
+        Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ );
         cell.update(rowItem, column, element);
         return cell;
     }
@@ -682,6 +684,7 @@
      * @since 3.3
      */
     public CellLabelProvider getLabelProvider(int columnIndex) {
+        Trace.formatln( "{} {}: getLabelProvider", __FILE__, __LINE__ );
         ViewerColumn column = getViewerColumn(columnIndex);
         if (column !is null) {
             return column.getLabelProvider();
--- a/dwtx/jface/viewers/ContentViewer.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/ContentViewer.d	Thu Apr 10 08:59:39 2008 +0200
@@ -25,6 +25,7 @@
 import dwtx.core.runtime.Assert;
 
 import dwt.dwthelper.utils;
+import tango.util.log.Trace;
 
 /**
  * A content viewer is a model-based adapter on a widget which accesses its
@@ -137,7 +138,9 @@
      * @return a label provider
      */
     public IBaseLabelProvider getLabelProvider() {
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
         if (labelProvider is null) {
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
             labelProvider = new LabelProvider();
         }
         return labelProvider;
@@ -277,6 +280,7 @@
      * @param labelProvider the label provider, or <code>null</code> if none
      */
     public void setLabelProvider(IBaseLabelProvider labelProvider) {
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
         IBaseLabelProvider oldProvider = this.labelProvider;
         // If it hasn't changed, do nothing.
         // This also ensures that the provider is not disposed
@@ -297,5 +301,6 @@
         if (oldProvider !is null) {
             oldProvider.dispose();
         }
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
     }
 }
--- a/dwtx/jface/viewers/StructuredViewer.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/StructuredViewer.d	Thu Apr 10 08:59:39 2008 +0200
@@ -70,6 +70,7 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
+import tango.util.log.Trace;
 
 /**
  * Abstract base implementation for structure-oriented viewers (trees, lists,
@@ -2053,6 +2054,7 @@
      *            indicate unknown
      */
     protected void internalUpdate(Widget widget, Object element, String[] properties) {
+        Trace.formatln( "{} {}:", __FILE__, __LINE__ );
         bool needsRefilter_ = false;
         if (properties !is null) {
             for (int i = 0; i < properties.length; ++i) {
@@ -2160,6 +2162,7 @@
      * @param element The element being decorated.
      */
     protected void buildLabel(ViewerLabel updateLabel, Object element){
+        Trace.formatln( "{} {}:", __FILE__, __LINE__ );
 
         if ( auto vlp = cast(IViewerLabelProvider)getLabelProvider() ) {
             IViewerLabelProvider itemProvider = cast(IViewerLabelProvider) getLabelProvider();
@@ -2197,6 +2200,7 @@
      * @param labelProvider ILabelProvider the labelProvider for the receiver.
      */
     void buildLabel(ViewerLabel updateLabel, Object element, IViewerLabelProvider labelProvider){
+        Trace.formatln( "{} {}:", __FILE__, __LINE__ );
 
             labelProvider.updateLabel(updateLabel, element);
 
@@ -2223,6 +2227,7 @@
      * @param labelProvider ILabelProvider the labelProvider for the receiver.
      */
     void buildLabel(ViewerLabel updateLabel, TreePath elementPath,ITreePathLabelProvider labelProvider){
+    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
 
             labelProvider.updateLabel(updateLabel, elementPath);
 
@@ -2249,6 +2254,7 @@
      * @param labelProvider ILabelProvider the labelProvider for the receiver.
      */
     void buildLabel(ViewerLabel updateLabel, Object element,ILabelProvider labelProvider){
+        Trace.formatln( "{} {}:", __FILE__, __LINE__ );
             updateLabel.setText(labelProvider.getText(element));
             updateLabel.setImage(labelProvider.getImage(element));
     }
--- a/dwtx/jface/viewers/TreeViewer.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/TreeViewer.d	Thu Apr 10 08:59:39 2008 +0200
@@ -54,6 +54,7 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
+import tango.util.log.Trace;
 
 /**
  * A concrete viewer based on an DWT <code>Tree</code> control.
--- a/dwtx/jface/viewers/ViewerColumn.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/viewers/ViewerColumn.d	Thu Apr 10 08:59:39 2008 +0200
@@ -28,6 +28,7 @@
 import dwtx.jface.util.Policy;
 
 import dwt.dwthelper.utils;
+import tango.util.log.Trace;
 
 /**
  * Instances of this class represent a column of a {@link ColumnViewer}. Label
@@ -60,6 +61,7 @@
      *            this could be the widget itself
      */
     protected this(ColumnViewer viewer, Widget columnOwner) {
+        Trace.formatln( "{} {}: this() columnOwner={:X} this={:X}", __FILE__, __LINE__, cast(uint)cast(void*)columnOwner, cast(uint)cast(void*)this );
         columnOwner.setData(ViewerColumn.COLUMN_VIEWER_KEY, this);
         this.listener = new class(viewer) ILabelProviderListener {
             ColumnViewer viewer_;
--- a/dwtx/jface/window/Window.d	Tue Apr 08 22:05:42 2008 +0200
+++ b/dwtx/jface/window/Window.d	Thu Apr 10 08:59:39 2008 +0200
@@ -41,7 +41,6 @@
 import dwtx.jface.util.PropertyChangeEvent;
 
 import dwt.dwthelper.utils;
-import dwt.dwthelper.Integer;
 import tango.io.Stdout;
 
 /**