# HG changeset patch # User Frank Benoit # Date 1208015586 -7200 # Node ID a6683645b0d70867fed1696ca6db40effe573941 # Parent 28f6c339768ee22546f21d6e48c9eb08d0cea092 Fix ignored labelprovider for TreeViewer (See WrapperViewerLabelProvider.d), removed the debugging prints diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/AbstractTreeViewer.d --- a/dwtx/jface/viewers/AbstractTreeViewer.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/AbstractTreeViewer.d Sat Apr 12 17:53:06 2008 +0200 @@ -60,7 +60,6 @@ import dwt.dwthelper.utils; import dwt.dwthelper.Runnable; -import tango.util.log.Trace; /** * Abstract base implementation for tree-structure-oriented viewers (trees and @@ -773,7 +772,7 @@ bool oldBusy = busy; busy = true; try { - final Item[] tis = getChildren(widget); + Item[] tis = getChildren(widget); if (tis !is null && tis.length > 0) { Object data = tis[0].getData(); if (data !is null) { @@ -915,7 +914,6 @@ * the element */ protected void doUpdateItem(Item item, Object element) { -// Trace.formatln( "{} {}: doUpdateItem", __FILE__, __LINE__ ); if (item.isDisposed()) { unmapElement(element, item); return; @@ -931,12 +929,10 @@ // 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); @@ -1786,15 +1782,12 @@ /* (non-Javadoc) Method declared on StructuredViewer. */ protected override 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 @@ -2993,7 +2986,6 @@ * java.lang.Object) */ protected override void buildLabel(ViewerLabel updateLabel, Object elementOrPath) { -// Trace.formatln( "{} {}:", __FILE__, __LINE__ ); Object element; if (auto path = cast(TreePath)elementOrPath ) { IBaseLabelProvider provider = getLabelProvider(); diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/CellLabelProvider.d --- a/dwtx/jface/viewers/CellLabelProvider.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/CellLabelProvider.d Sat Apr 12 17:53:06 2008 +0200 @@ -65,13 +65,20 @@ bool noColumnTreeViewer = ( null !is cast(AbstractTreeViewer)viewer ) && viewer .doGetColumnCount_package() is 0; - if (!noColumnTreeViewer - && (null !is cast(ITableLabelProvider) labelProvider - || null !is cast(ITableColorProvider) labelProvider || null !is cast(ITableFontProvider)labelProvider )) - return new TableColumnViewerLabelProvider(labelProvider); - if ( cast(CellLabelProvider)labelProvider ) - return cast(CellLabelProvider) labelProvider; - return new WrappedViewerLabelProvider(labelProvider); + if (!noColumnTreeViewer && + ( null !is cast(ITableLabelProvider) labelProvider + || null !is cast(ITableColorProvider) labelProvider + || null !is cast(ITableFontProvider)labelProvider )){ + auto res = new TableColumnViewerLabelProvider(labelProvider); + return res; + } + if ( cast(CellLabelProvider)labelProvider ){ + auto res = cast(CellLabelProvider) labelProvider; + return res; + } + + auto res = new WrappedViewerLabelProvider(labelProvider); + return res; } diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/ColumnViewer.d --- a/dwtx/jface/viewers/ColumnViewer.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/ColumnViewer.d Sat Apr 12 17:53:06 2008 +0200 @@ -43,7 +43,6 @@ 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 @@ -220,7 +219,6 @@ * there is none for the given index */ /* package */ViewerColumn getViewerColumn(int columnIndex) { -// Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ ); ViewerColumn viewer; Widget columnOwner = getColumnViewerOwner(columnIndex); @@ -358,7 +356,6 @@ * @return ViewerCell */ /* package */ViewerCell updateCell(ViewerRow rowItem, int column, Object element) { -// Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ ); cell.update(rowItem, column, element); return cell; } @@ -405,7 +402,6 @@ * */ public override void setLabelProvider(IBaseLabelProvider labelProvider) { -// Trace.formatln( "{} {}: setLabelProvider", __FILE__, __LINE__ ); Assert.isTrue( null !is cast(ITableLabelProvider)labelProvider || null !is cast(ILabelProvider)labelProvider || null !is cast(CellLabelProvider)labelProvider ); @@ -421,9 +417,7 @@ ViewerColumn column; int i = 0; -// Trace.formatln( "{} {}: updateColumnParts", __FILE__, __LINE__ ); while ((column = getViewerColumn(i++)) !is null) { -// Trace.formatln( "{} {}: updateColumnParts loop", __FILE__, __LINE__ ); column.setLabelProvider(CellLabelProvider .createViewerLabelProvider(this, labelProvider), false); } @@ -687,10 +681,10 @@ * @since 3.3 */ public CellLabelProvider getLabelProvider(int columnIndex) { -// Trace.formatln( "{} {}: getLabelProvider", __FILE__, __LINE__ ); ViewerColumn column = getViewerColumn(columnIndex); if (column !is null) { - return column.getLabelProvider(); + auto res = column.getLabelProvider(); + return res; } return null; } diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/ContentViewer.d --- a/dwtx/jface/viewers/ContentViewer.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/ContentViewer.d Sat Apr 12 17:53:06 2008 +0200 @@ -25,7 +25,6 @@ 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 @@ -138,12 +137,9 @@ * @return a label provider */ public IBaseLabelProvider getLabelProvider() { -// Trace.formatln( "{} {}:", __FILE__, __LINE__ ); if (labelProvider is null) { -// Trace.formatln( "{} {}:", __FILE__, __LINE__ ); labelProvider = new LabelProvider(); } -// PrintStackTrace(); return labelProvider; } @@ -169,7 +165,6 @@ labelProvider.removeListener(labelProviderListener); labelProvider.dispose(); labelProvider = null; -// Trace.formatln( "{} {}: labelProvider = null;", __FILE__, __LINE__ ); } input = null; } @@ -282,7 +277,6 @@ * @param labelProvider the label provider, or null if none */ public void setLabelProvider(IBaseLabelProvider labelProvider) { -// Trace.formatln( "{} {}: setLabelProvider", __FILE__, __LINE__ ); IBaseLabelProvider oldProvider = this.labelProvider; // If it hasn't changed, do nothing. // This also ensures that the provider is not disposed @@ -303,6 +297,5 @@ if (oldProvider !is null) { oldProvider.dispose(); } -// Trace.formatln( "{} {}: setLabelProvider", __FILE__, __LINE__ ); } } diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/LabelProvider.d --- a/dwtx/jface/viewers/LabelProvider.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/LabelProvider.d Sat Apr 12 17:53:06 2008 +0200 @@ -18,7 +18,6 @@ import dwt.graphics.Image; import dwt.dwthelper.utils; -import tango.util.log.Trace; /** * A label provider implementation which, by default, uses an element's @@ -59,7 +58,6 @@ * toString string. Subclasses may override. */ public String getText(Object element) { -// Trace.formatln( "{} {}: getText", __FILE__, __LINE__ ); return element is null ? "" : element.toString();//$NON-NLS-1$ } } diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/StructuredViewer.d --- 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)); } diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/TreeViewer.d --- a/dwtx/jface/viewers/TreeViewer.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/TreeViewer.d Sat Apr 12 17:53:06 2008 +0200 @@ -54,7 +54,6 @@ import dwt.dwthelper.utils; import dwt.dwthelper.Runnable; -import tango.util.log.Trace; /** * A concrete viewer based on an DWT Tree control. diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/ViewerColumn.d --- a/dwtx/jface/viewers/ViewerColumn.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/ViewerColumn.d Sat Apr 12 17:53:06 2008 +0200 @@ -28,7 +28,6 @@ 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 @@ -61,7 +60,6 @@ * 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_; diff -r 28f6c339768e -r a6683645b0d7 dwtx/jface/viewers/WrappedViewerLabelProvider.d --- a/dwtx/jface/viewers/WrappedViewerLabelProvider.d Fri Apr 11 17:10:32 2008 +0200 +++ b/dwtx/jface/viewers/WrappedViewerLabelProvider.d Sat Apr 12 17:53:06 2008 +0200 @@ -64,8 +64,8 @@ * @param labelProvider */ public this(IBaseLabelProvider labelProvider) { + this.labelProvider = defaultLabelProvider; super(); - labelProvider = defaultLabelProvider; setProviders(cast(Object)labelProvider); }