diff dwtx/jface/viewers/StructuredViewer.d @ 54:a6683645b0d7

Fix ignored labelprovider for TreeViewer (See WrapperViewerLabelProvider.d), removed the debugging prints
author Frank Benoit <benoit@tionex.de>
date Sat, 12 Apr 2008 17:53:06 +0200
parents ea8ff534f622
children 46a6e0e6ccd4
line wrap: on
line diff
--- a/dwtx/jface/viewers/StructuredViewer.d	Fri Apr 11 17:10:32 2008 +0200
+++ b/dwtx/jface/viewers/StructuredViewer.d	Sat Apr 12 17:53:06 2008 +0200
@@ -70,7 +70,6 @@
 
 import dwt.dwthelper.utils;
 import dwt.dwthelper.Runnable;
-import tango.util.log.Trace;
 
 /**
  * Abstract base implementation for structure-oriented viewers (trees, lists,
@@ -831,13 +830,15 @@
     protected void fireDoubleClick(DoubleClickEvent event) {
         Object[] listeners = doubleClickListeners.getListeners();
         for (int i = 0; i < listeners.length; ++i) {
-            SafeRunnable.run(new class(cast(IDoubleClickListener) listeners[i]) SafeRunnable {
+            SafeRunnable.run(new class(cast(IDoubleClickListener) listeners[i], event) SafeRunnable {
                 IDoubleClickListener l;
-                this(IDoubleClickListener a){
+                DoubleClickEvent event_;
+                this(IDoubleClickListener a,DoubleClickEvent b){
                     l = a;
+                    event_=b;
                 }
                 public void run() {
-                    l.doubleClick(event);
+                    l.doubleClick(event_);
                 }
             });
         }
@@ -858,13 +859,15 @@
     protected void fireOpen(OpenEvent event) {
         Object[] listeners = openListeners.getListeners();
         for (int i = 0; i < listeners.length; ++i) {
-            SafeRunnable.run(new class(cast(IOpenListener) listeners[i]) SafeRunnable {
+            SafeRunnable.run(new class(cast(IOpenListener) listeners[i],event) SafeRunnable {
                 IOpenListener l;
-                this(IOpenListener a){
+                OpenEvent event_;
+                this(IOpenListener a, OpenEvent b){
                     l = a;
+                    event_=b;
                 }
                 public void run() {
-                    l.open(event);
+                    l.open(event_);
                 }
             });
         }
@@ -886,13 +889,15 @@
     protected void firePostSelectionChanged(SelectionChangedEvent event) {
         Object[] listeners = postSelectionChangedListeners.getListeners();
         for (int i = 0; i < listeners.length; ++i) {
-            SafeRunnable.run(new class(cast(ISelectionChangedListener) listeners[i]) SafeRunnable {
+            SafeRunnable.run(new class(cast(ISelectionChangedListener) listeners[i],event) SafeRunnable {
                 ISelectionChangedListener l;
-                this(ISelectionChangedListener a){
+                SelectionChangedEvent event_;
+                this(ISelectionChangedListener a,SelectionChangedEvent b){
                     l = a;
+                    event_=b;
                 }
                 public void run() {
-                    l.selectionChanged(event);
+                    l.selectionChanged(event_);
                 }
             });
         }
@@ -1301,8 +1306,7 @@
                 elementMap.put(element, item);
             } else if ( auto w = cast(Widget)widgetOrWidgets ) {
                 if (widgetOrWidgets !is item) {
-                    elementMap.put(element, new ArrayWrapperObject([ cast(Object)
-                            w, item ]));
+                    elementMap.put(element, new ArrayWrapperT!(Widget)( [ w, item ] ));
                 }
             } else {
                 Widget[] widgets = (cast(ArrayWrapperT!(Widget)) widgetOrWidgets).array;
@@ -1318,7 +1322,7 @@
                     System.arraycopy(widgets, 0,
                             widgets = new Widget[length_ + 1], 0, length_);
                     widgets[length_] = item;
-                    elementMap.put(element, new ArrayWrapperObject(widgets));
+                    elementMap.put(element, new ArrayWrapperT!(Widget)(widgets));
                 }
             }
         }
@@ -1520,12 +1524,12 @@
      * @since 2.0
      */
     public void refresh(Object element, bool updateLabels) {
-        preservingSelection(new class Runnable {
+        preservingSelection(new class(element, updateLabels) Runnable {
             Object element_;
             bool updateLabels_;
-            this(){
-                element_ = element;
-                updateLabels_ = updateLabels;
+            this(Object a, bool b){
+                element_ = a;
+                updateLabels_ = b;
             }
             public void run() {
                 internalRefresh(element_, updateLabels_);
@@ -1621,10 +1625,11 @@
         if (filters.length is 0) {
             resetFilters();
         } else {
-            this.filters = new ArraySeq!(ViewerFilter);
+            auto tmp = new ArraySeq!(ViewerFilter);
             foreach( f; filters ){
-                this.filters.append(f);
+                tmp.append(f);
             }
+            this.filters = tmp;
             refresh();
         }
     }
@@ -1930,13 +1935,13 @@
                     } else {
                         Widget[] updatedWidgets = new Widget[length - 1];
                         System.arraycopy(widgets, 1, updatedWidgets, 0, length -1 );
-                        elementMap.put(element, new ArrayWrapperObject( updatedWidgets));
+                        elementMap.put(element, new ArrayWrapperT!(Widget)( updatedWidgets));
                     }
                 } else {
                     Widget[] updatedWidgets = new Widget[length - 1];
                     System.arraycopy(widgets, 0, updatedWidgets, 0, indexOfItem);
                     System.arraycopy(widgets, indexOfItem + 1, updatedWidgets, indexOfItem, length - indexOfItem - 1);
-                    elementMap.put(element, new ArrayWrapperObject(updatedWidgets));
+                    elementMap.put(element, new ArrayWrapperT!(Widget)(updatedWidgets));
                 }
             }
         }
@@ -2055,7 +2060,6 @@
      *            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) {
@@ -2163,7 +2167,6 @@
      * @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();
@@ -2201,7 +2204,6 @@
      * @param labelProvider ILabelProvider the labelProvider for the receiver.
      */
     void buildLabel(ViewerLabel updateLabel, Object element, IViewerLabelProvider labelProvider){
-        Trace.formatln( "{} {}:", __FILE__, __LINE__ );
 
             labelProvider.updateLabel(updateLabel, element);
 
@@ -2228,7 +2230,6 @@
      * @param labelProvider ILabelProvider the labelProvider for the receiver.
      */
     void buildLabel(ViewerLabel updateLabel, TreePath elementPath,ITreePathLabelProvider labelProvider){
-    Trace.formatln( "{} {}:", __FILE__, __LINE__ );
 
             labelProvider.updateLabel(updateLabel, elementPath);
 
@@ -2255,7 +2256,6 @@
      * @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));
     }