diff options
Diffstat (limited to 'bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java')
-rw-r--r-- | bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java index 928bc432440..6af48e9225f 100644 --- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java +++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java @@ -122,7 +122,16 @@ public abstract class AbstractTreeViewer extends StructuredViewer { if (widget == null) return; - Control tree = getControl(); + internalAdd(widget, parentElement, childElements); + } + + /** + * XXX: temporary API in support of Dirk's explorations + * into grouping by working sets, which requires viewers + * to support multiple equal elements. + */ + protected void internalAdd(Widget widget, Object parentElement, Object[] childElements) { + Control tree = getControl(); // optimization! // if the widget is not expanded we just invalidate the subtree @@ -163,9 +172,9 @@ public abstract class AbstractTreeViewer extends StructuredViewer { createAddedElement(widget, filtered[i]); } } - } + } - /** + /** * Create the new element in the parent widget. If the * child already exists do nothing. * @param widget @@ -1026,6 +1035,10 @@ public abstract class AbstractTreeViewer extends StructuredViewer { /** * Refreshes the tree starting at the given widget. + * + * XXX: temporary API in support of Dirk's explorations + * into grouping by working sets, which requires viewers + * to support multiple equal elements. * * @param widget * the widget @@ -1040,7 +1053,7 @@ public abstract class AbstractTreeViewer extends StructuredViewer { * <code>false</code> to only update labels as needed, assuming * that labels for existing elements are unchanged. */ - private void internalRefresh(Widget widget, Object element, + protected void internalRefresh(Widget widget, Object element, boolean doStruct, boolean updateLabels) { if (widget instanceof Item) { |