Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java384
1 files changed, 192 insertions, 192 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
index 38f00cd75..0aa7c1160 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
@@ -72,58 +72,58 @@ import org.eclipse.ui.IMemento;
/**
* A tree viewer that displays a model.
- *
+ *
* @since 3.3
*/
@SuppressWarnings("deprecation")
public class InternalTreeModelViewer extends TreeViewer implements IInternalTreeModelViewer, org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer
{
-
+
private final IPresentationContext fContext;
-
+
/**
* Current column presentation or <code>null</code>
*/
- private IColumnPresentation fColumnPresentation = null;
-
+ private IColumnPresentation fColumnPresentation = null;
+
/**
* Map of columns presentation id to its visible columns id's (String[])
* When a columns presentation is not in the map, default settings are used.
*/
private final Map<String, String[]> fVisibleColumns = new HashMap<String, String[]>();
-
+
/**
* Map of column id's to persisted sizes
*/
private final Map<Object, Integer> fColumnSizes = new HashMap<Object, Integer>();
-
+
/**
* Map of column presentation id's to an array of integers representing the column order
* for that presentation, or <code>null</code> if default.
*/
private final Map<String, int[]> fColumnOrder = new HashMap<String, int[]>();
-
+
/**
* Map of column presentation id to whether columns should be displayed
- * for that presentation (the user can toggle columns on/off when a
+ * for that presentation (the user can toggle columns on/off when a
* presentation is optional.
*/
private final Map<String, Boolean> fShowColumns = new HashMap<String, Boolean>();
-
+
/**
- * Item's tree path cache
+ * Item's tree path cache
*/
private static final String TREE_PATH_KEY = "TREE_PATH_KEY"; //$NON-NLS-1$
-
+
/**
- * Memento type for column sizes. Sizes are keyed by column presentation id
+ * Memento type for column sizes. Sizes are keyed by column presentation id
*/
private static final String COLUMN_SIZES = "COLUMN_SIZES"; //$NON-NLS-1$
/**
* Memento type for the column order for a presentation context.
* A memento is created for each column presentation
*/
- private static final String COLUMN_ORDER = "COLUMN_ORDER"; //$NON-NLS-1$
+ private static final String COLUMN_ORDER = "COLUMN_ORDER"; //$NON-NLS-1$
/**
* Memento type for the visible columns for a presentation context.
* A memento is created for each column presentation keyed by column number
@@ -133,7 +133,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
* Memento type for whether columns are visible for a presentation context.
* Booleans are keyed by column presentation id
*/
- private static final String SHOW_COLUMNS = "SHOW_COLUMNS"; //$NON-NLS-1$
+ private static final String SHOW_COLUMNS = "SHOW_COLUMNS"; //$NON-NLS-1$
/**
* Memento key for the number of visible columns in a VISIBLE_COLUMNS memento
* or for the width of a column
@@ -142,21 +142,21 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
/**
* Memento key prefix a visible column
*/
- private static final String COLUMN = "COLUMN"; //$NON-NLS-1$
-
+ private static final String COLUMN = "COLUMN"; //$NON-NLS-1$
+
/**
* True while performing an insert... we allow insert with filters
*/
private boolean fInserting = false;
-
+
/**
* Whether to notify the content provider when an element is unmapped
*/
private boolean fNotifyUnmap = true;
-
+
/**
* Persist column sizes when they change.
- *
+ *
* @since 3.2
*/
class ColumnListener implements ControlListener {
@@ -176,14 +176,14 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
persistColumnSizes();
}
}
-
- private final ColumnListener fListener = new ColumnListener();
+
+ private final ColumnListener fListener = new ColumnListener();
/**
* Proxy to cell modifier/editor support
*/
class CellModifierProxy implements ICellModifier {
-
+
private ICellModifier fModifier;
/* (non-Javadoc)
@@ -236,7 +236,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fModifier.modify(element, property, value);
}
}
-
+
/**
* Clears client's column editor and cell editors
*/
@@ -260,12 +260,12 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
}
-
+
}
-
+
private final CellModifierProxy fCellModifier;
-
-
+
+
/**
* @param parent the parent composite
* @param style the widget style bits
@@ -281,9 +281,9 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fContext = context;
setContentProvider(createContentProvider());
setLabelProvider(createLabelProvider());
-
+
// A pop-up viewer is transient and does not automatically expand
- // and select elements up when requested by the model
+ // and select elements up when requested by the model
if ((style & SWT.POP_UP) != 0) {
((ITreeModelContentProvider)getContentProvider()).setModelDeltaMask(
~ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS);
@@ -292,7 +292,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
context.setProperty(ICheckUpdate.PROP_CHECK, Boolean.TRUE);
}
}
-
+
/**
* @return content provider for this tree viewer
*/
@@ -300,7 +300,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
{
return new TreeModelContentProvider();
}
-
+
/**
* @return label provider for this tree viewer
*/
@@ -308,12 +308,12 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
{
return new TreeModelLabelProvider(this);
}
-
+
/* (non-Javadoc)
- *
+ *
* Workaround for bug 159461: when an item is cleared it's label is cleared. To avoid
* flashing, restore its label to its previous value.
- *
+ *
* @see org.eclipse.jface.viewers.TreeViewer#hookControl(org.eclipse.swt.widgets.Control)
*/
@Override
@@ -329,9 +329,9 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
});
super.hookControl(control);
}
-
+
/**
- * @param item the item
+ * @param item the item
*/
private void preserveItem(TreeItem item) {
Object[] labels = (Object[]) item.getData(PREV_LABEL_KEY);
@@ -378,8 +378,8 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.StructuredViewer#handleInvalidSelection
- *
- * Override the default handler for invalid selection to allow model
+ *
+ * Override the default handler for invalid selection to allow model
* selection policy to select the new selection.
*/
@Override
@@ -402,7 +402,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
super.handleInvalidSelection(selection, newSelection);
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ContentViewer#handleDispose(org.eclipse.swt.events.DisposeEvent)
@@ -413,20 +413,20 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fColumnPresentation.dispose();
}
fCellModifier.clear();
-
+
super.handleDispose(event);
}
-
+
/**
* Returns this viewer's presentation context.
- *
+ *
* @return presentation context
*/
@Override
public IPresentationContext getPresentationContext() {
return fContext;
}
-
+
@Override
protected void unmapElement(Object element, Widget widget) {
if (fNotifyUnmap) {
@@ -435,7 +435,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
super.unmapElement(element, widget);
}
-
+
@Override
protected void associate(Object element, Item item) {
// see AbstractTreeViewer.associate(...)
@@ -455,9 +455,9 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
/* (non-Javadoc)
- *
+ *
* We need tree paths when disposed/unmapped in any order so cache the tree path.
- *
+ *
* @see org.eclipse.jface.viewers.TreeViewer#mapElement(java.lang.Object, org.eclipse.swt.widgets.Widget)
*/
@Override
@@ -469,11 +469,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
widget.setData(TREE_PATH_KEY, TreeModelContentProvider.EMPTY_TREE_PATH);
}
}
-
+
/* (non-Javadoc)
- *
+ *
* Override because we allow inserting with filters present.
- *
+ *
* @see org.eclipse.jface.viewers.AbstractTreeViewer#insert(java.lang.Object, java.lang.Object, int)
*/
@Override
@@ -485,11 +485,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fInserting = false;
}
}
-
+
/* (non-Javadoc)
- *
+ *
* Override because we allow inserting with filters present.
- *
+ *
* @see org.eclipse.jface.viewers.StructuredViewer#hasFilters()
*/
@Override
@@ -499,17 +499,17 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return super.hasFilters();
}
-
+
@Override
protected void unmapAllElements() {
- // Do nothing when called from StructuredViewer.setInput(), to avoid
+ // Do nothing when called from StructuredViewer.setInput(), to avoid
// clearing elements before viewer state is saved.
// Bug 326917
if (getControl().isDisposed()) {
unmapAllElements();
}
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.AbstractTreeViewer#inputChanged(java.lang.Object, java.lang.Object)
*/
@@ -521,13 +521,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
super.unmapAllElements();
((ITreeModelContentProvider)getContentProvider()).postInputChanged(this, oldInput, input);
super.inputChanged(input, oldInput);
-
- resetColumns(input);
+
+ resetColumns(input);
}
/**
* Configures the columns for the given viewer input.
- *
+ *
* @param input the viewer input
*/
protected void resetColumns(Object input) {
@@ -562,8 +562,8 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
}
- }
-
+ }
+
/**
* Configures the columns based on the current settings.
*/
@@ -573,16 +573,16 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
if (isShowColumns(fColumnPresentation.getId())) {
build = fColumnPresentation;
}
- buildColumns(build);
+ buildColumns(build);
} else {
// get rid of columns
buildColumns(null);
}
}
-
+
/**
* Toggles columns on/off for the current column presentation, if any.
- *
+ *
* @param show whether to show columns if the current input supports
* columns
*/
@@ -598,7 +598,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
refreshColumns();
}
-
+
/**
* Resets any persisted column size for the given columns
* @param columnIds the identifiers of the columns to reset
@@ -608,11 +608,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fColumnSizes.remove(columnIds[i]);
}
}
-
+
/**
* Sets the id's of visible columns, or <code>null</code> to set default columns.
* Only affects the current column presentation.
- *
+ *
* @param ids visible columns
*/
public void setVisibleColumns(String[] ids) {
@@ -641,12 +641,12 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
presentationContext.setColumns(getVisibleColumns());
refreshColumns();
}
- }
+ }
@Override
protected void internalRefresh(Object element, boolean updateLabels) {
- ITreeModelContentProvider contentProvider = (ITreeModelContentProvider)getContentProvider();
-
+ ITreeModelContentProvider contentProvider = (ITreeModelContentProvider)getContentProvider();
+
if (element == null) {
internalRefresh(getControl(), getRoot(), true, updateLabels);
contentProvider.preserveState(TreePath.EMPTY);
@@ -664,7 +664,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
super.internalRefresh(element, updateLabels);
}
-
+
/**
* Refreshes the columns in the view, based on the viewer input.
*/
@@ -672,11 +672,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
configureColumns();
refresh();
}
-
+
/**
* Returns whether columns are being displayed currently.
- *
- * @return if columns are being shown
+ *
+ * @return if columns are being shown
*/
public boolean isShowColumns() {
if (fColumnPresentation != null) {
@@ -684,29 +684,29 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return false;
}
-
+
/**
* Returns whether columns can be toggled on/off for the current input.
- *
+ *
* @return whether columns can be toggled on/off for the current input
*/
public boolean canToggleColumns() {
return fColumnPresentation != null && fColumnPresentation.isOptional();
}
-
+
protected boolean isShowColumns(String columnPresentationId) {
Boolean bool = fShowColumns.get(columnPresentationId);
if (bool == null) {
return true;
}
return bool.booleanValue();
- }
-
+ }
+
/**
* Creates new columns for the given presentation.
- *
+ *
* TODO: does this need to be asynchronous?
- *
+ *
* @param presentation the column presentation to build from
*/
protected void buildColumns(IColumnPresentation presentation) {
@@ -722,7 +722,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
columns[i].dispose();
}
PresentationContext presentationContext = (PresentationContext) getPresentationContext();
- if (presentation != null) {
+ if (presentation != null) {
for (int i = 0; i < visibleColumnIds.length; i++) {
String id = visibleColumnIds[i];
String header = presentation.getHeader(id);
@@ -753,13 +753,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
setCellModifier(null);
setColumnProperties(null);
}
-
+
int treeWidgetWidth = tree.getSize().x;
int avg = treeWidgetWidth;
if (visibleColumnIds != null) {
avg /= visibleColumnIds.length;
}
-
+
if (avg == 0) {
tree.addPaintListener(new PaintListener() {
@Override
@@ -784,7 +784,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
for (int i = 0; i < columns.length; i++) {
TreeColumn treeColumn = columns[i];
Object colData = treeColumn.getData();
- String columnId = colData instanceof String ? (String) colData : null;
+ String columnId = colData instanceof String ? (String) colData : null;
Integer width = fColumnSizes.get(colData);
if (width == null) {
int ans = getInitialColumnWidth(columnId, treeWidgetWidth, visibleColumnIds);
@@ -798,22 +798,22 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
treeColumn.addControlListener(fListener);
}
- }
-
+ }
+
/**
* Returns the current column presentation for this viewer, or <code>null</code>
* if none.
- *
+ *
* @return column presentation or <code>null</code>
*/
public IColumnPresentation getColumnPresentation() {
return fColumnPresentation;
}
-
+
/**
* Returns identifiers of the visible columns in this viewer, or <code>null</code>
* if there is currently no column presentation.
- *
+ *
* @return visible columns or <code>null</code>
*/
@Override
@@ -833,7 +833,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
columnAvailable = true;
}
}
-
+
if (!columnAvailable || presentation.getHeader(columns[i]) == null) {
// We found a column ID which is not in current list of available column IDs.
// Or the presentation cannot return a header title for the given column.
@@ -849,14 +849,14 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
return null;
- }
-
+ }
+
/**
* Returns initial column width of a given column, or -1
* @param columnId column Id
* @param treeWidgetWidth tree widget width
* @param visibleColumnIds visible columns
- *
+ *
* @return column width
*/
public int getInitialColumnWidth(String columnId, int treeWidgetWidth, String[] visibleColumnIds) {
@@ -873,7 +873,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
/**
* Persists column sizes in cache
*/
- protected void persistColumnSizes() {
+ protected void persistColumnSizes() {
Tree tree = getTree();
TreeColumn[] columns = tree.getColumns();
for (int i = 0; i < columns.length; i++) {
@@ -882,7 +882,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fColumnSizes.put(id, Integer.valueOf(treeColumn.getWidth()));
}
}
-
+
/**
* Persists column ordering
*/
@@ -904,10 +904,10 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
fColumnOrder.remove(presentation.getId());
}
}
-
+
/**
* Save viewer state into the given memento.
- *
+ *
* @param memento the {@link IMemento} to save to
*/
public void saveState(IMemento memento) {
@@ -921,7 +921,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
for (Entry<String, Boolean> entry : fShowColumns.entrySet()) {
IMemento sizes = memento.createChild(SHOW_COLUMNS, entry.getKey());
sizes.putString(SHOW_COLUMNS, entry.getValue().toString());
- }
+ }
}
if (!fVisibleColumns.isEmpty()) {
for (Entry<String, String[]> entry : fVisibleColumns.entrySet()) {
@@ -950,13 +950,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
if (context instanceof PresentationContext) {
PresentationContext pc = (PresentationContext) context;
pc.saveProperites(memento);
-
+
}
- }
-
+ }
+
/**
* Initializes viewer state from the memento
- *
+ *
* @param memento the {@link IMemento} to read from
*/
public void initState(IMemento memento) {
@@ -1014,7 +1014,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
pc.initProperties(memento);
}
}
-
+
/**
* Returns whether the candidate selection should override the current
* selection.
@@ -1035,9 +1035,9 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
/* (non-Javadoc)
- *
+ *
* Consider selection policy
- *
+ *
* @see org.eclipse.jface.viewers.StructuredViewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
*/
@Override
@@ -1047,7 +1047,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
super.setSelection(selection, reveal);
}
-
+
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
@@ -1056,7 +1056,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
public void setSelection(ISelection selection, boolean reveal, boolean force) {
trySelection(selection, reveal, force);
}
-
+
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#trySelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
*/
@@ -1070,17 +1070,17 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
/**
* Registers the specified listener for view update notifications.
- *
+ *
* @param listener listener
*/
@Override
public void addViewerUpdateListener(IViewerUpdateListener listener) {
((ITreeModelContentProvider)getContentProvider()).addViewerUpdateListener(listener);
}
-
+
/**
* Removes the specified listener from update notifications.
- *
+ *
* @param listener listener
*/
@Override
@@ -1090,20 +1090,20 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
cp.removeViewerUpdateListener(listener);
}
}
-
+
/**
* Registers the given listener for model delta notification.
- *
+ *
* @param listener model delta listener
*/
@Override
public void addModelChangedListener(IModelChangedListener listener) {
- ((ITreeModelContentProvider)getContentProvider()).addModelChangedListener(listener);
+ ((ITreeModelContentProvider)getContentProvider()).addModelChangedListener(listener);
}
-
+
/**
* Unregisters the given listener from model delta notification.
- *
+ *
* @param listener model delta listener
*/
@Override
@@ -1118,7 +1118,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
public void addStateUpdateListener(IStateUpdateListener listener) {
((ITreeModelContentProvider)getContentProvider()).addStateUpdateListener(listener);
}
-
+
@Override
public void removeStateUpdateListener(IStateUpdateListener listener) {
ITreeModelContentProvider cp = (ITreeModelContentProvider)getContentProvider();
@@ -1126,7 +1126,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
cp.removeStateUpdateListener(listener);
}
}
-
+
/*
* (non-Javadoc) Method declared in AbstractTreeViewer.
*/
@@ -1140,13 +1140,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
unmapElement(element, treeItem);
return;
}
-
+
if ( !((ITreeModelLabelProvider)getLabelProvider()).update(getTreePathFromItem(item)) ) {
if (element instanceof String) {
item.setData(PREV_LABEL_KEY, new String[] { (String)element } );
- }
+ }
}
-
+
// As it is possible for user code to run the event
// loop check here.
@@ -1154,23 +1154,23 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
unmapElement(element, item);
}
}
-
+
@Override
public void addLabelUpdateListener(ILabelUpdateListener listener) {
((ITreeModelLabelProvider)getLabelProvider()).addLabelUpdateListener(listener);
}
-
+
@Override
public void removeLabelUpdateListener(ILabelUpdateListener listener) {
if (!getControl().isDisposed()) {
((ITreeModelLabelProvider)getLabelProvider()).removeLabelUpdateListener(listener);
}
}
-
+
/**
* Returns the item for the element at the given tree path or <code>null</code>
* if none.
- *
+ *
* @param path tree path
* @return item or <code>null</code>
*/
@@ -1189,12 +1189,12 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return null;
}
-
+
@Override
public Item[] getChildren(Widget widget) {
return super.getChildren(widget);
}
-
+
/**
* Returns the tree path for the given item.
* @param item the item to compute the {@link TreePath} for
@@ -1203,17 +1203,17 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
@Override
protected TreePath getTreePathFromItem(Item item) {
return super.getTreePathFromItem(item);
- }
+ }
-//**************************************************************************
+//**************************************************************************
// These methods were copied from TreeViewer as a workaround for bug 183463:
// Expanded nodes in tree viewer flash on refresh
-
+
/*
* (non-Javadoc)
- *
+ *
* workaround for bug 183463
- *
+ *
* @see org.eclipse.jface.viewers.AbstractTreeViewer#internalRefreshStruct(org.eclipse.swt.widgets.Widget,
* java.lang.Object, boolean)
*/
@@ -1241,8 +1241,8 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
virtualRefreshExpandedItems(parent, widget, element, index);
- }
-
+ }
+
/**
* Traverses the visible (expanded) part of the tree and updates child
* counts.
@@ -1276,10 +1276,10 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
virtualRefreshExpandedItems(widget, item, data, i);
}
}
-
+
/**
* workaround for bug 183463
- *
+ *
* Update the child count
* @param widget the widget
* @param currentChildCount the current child count
@@ -1294,7 +1294,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
((ILazyTreePathContentProvider) getContentProvider())
.updateChildCount(treePath, currentChildCount);
}
-
+
/**
* Update the widget at index.
* <p>
@@ -1321,11 +1321,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
((ILazyTreePathContentProvider) getContentProvider())
.updateElement(treePath, index);
- }
-
-//**************************************************************************
+ }
+
+//**************************************************************************
// Another couple of methods copied from TreeViewer to workaround the UI bug 266189.
-//
+//
@Override
protected void createChildren(Widget widget) {
Object element = widget.getData();
@@ -1375,7 +1375,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
/**
* Performs auto expand on an element at the specified path if the auto expand
* level dictates the element should be expanded.
- *
+ *
* @param elementPath tree path to element to consider for expansion
*/
@Override
@@ -1417,7 +1417,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return true;
}
-
+
@Override
public Display getDisplay() {
Control control = getControl();
@@ -1428,12 +1428,12 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
protected static final String[] STATE_PROPERTIES = new String[]{ IBasicPropertyConstants.P_TEXT, IBasicPropertyConstants.P_IMAGE };
-
+
@Override
public void update(Object element) {
update(element, STATE_PROPERTIES);
}
-
+
/**
* Label data cache keys
* TODO: workaround for bug 159461
@@ -1448,11 +1448,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
@Override
public void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] imageDescriptors,
- FontData[] fontDatas, RGB[] _foregrounds, RGB[] _backgrounds)
+ FontData[] fontDatas, RGB[] _foregrounds, RGB[] _backgrounds)
{
Widget widget = findItem(path);
String[] columnIds = getVisibleColumns();
-
+
if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
TreeItem item = (TreeItem)widget;
/*Object data = item.getData();
@@ -1460,13 +1460,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
item.clearAll(false);
item.setData(data);
item.setItemCount(itemCount);*/
-
+
for (int i=0; i<numColumns; i++){
// text might be null if the launch has been terminated
item.setText(i,(labels[i] == null ? IInternalDebugCoreConstants.EMPTY_STRING : labels[i]));
}
item.setData(PREV_LABEL_KEY, labels);
-
+
if (imageDescriptors == null) {
for (int i=0; i<numColumns; i++){
item.setImage(i,null);
@@ -1484,8 +1484,8 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
item.setData(PREV_IMAGE_KEY, images);
}
-
- if (_foregrounds == null) {
+
+ if (_foregrounds == null) {
for (int i=0; i<numColumns; i++){
item.setForeground(i,null);
}
@@ -1504,7 +1504,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
item.setData(PREV_FOREGROUND_KEY, foregrounds);
}
-
+
if (_backgrounds == null) {
for (int i=0; i<numColumns; i++){
item.setBackground(i,null);
@@ -1524,7 +1524,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
item.setData(PREV_BACKGROUND_KEY, backgrounds);
}
-
+
if (fontDatas == null) {
for (int i=0; i<numColumns; i++){
item.setFont(i,null);
@@ -1546,13 +1546,13 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
}
-
+
@Override
public ViewerLabel getElementLabel(TreePath path, String columnId) {
if (path.getSegmentCount() == 0) {
return null;
}
-
+
int columnIdx = -1;
String[] visibleColumns = getVisibleColumns();
if (columnId != null && visibleColumns != null) {
@@ -1570,7 +1570,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
columnIdx = 0;
}
TreeItem item = (TreeItem)findItem(path);
-
+
if (item != null) {
ViewerLabel label = new ViewerLabel(item.getText(columnIdx), item.getImage(columnIdx));
label.setFont(item.getFont(columnIdx));
@@ -1594,7 +1594,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
getTree().setTopItem(children[index]);
}
}
-
+
@Override
public int getChildCount(TreePath path) {
if (path.getSegmentCount() == 0) {
@@ -1605,11 +1605,11 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
if (items[0] instanceof TreeItem) {
return ((TreeItem)items[0]).getItemCount();
}
- }
+ }
}
return -1;
}
-
+
@Override
public Object getChildElement(TreePath path, int index) {
TreeItem childItem = null;
@@ -1630,7 +1630,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
if (childItem != null) {
return childItem.getData();
- }
+ }
return null;
}
@@ -1642,7 +1642,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return null;
}
-
+
@Override
public boolean saveElementState(TreePath path, ModelDelta delta, int flagsToSave) {
Tree tree = (Tree) getControl();
@@ -1651,7 +1651,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
for (int i = 0; i < selection.length; i++) {
set.add(selection[i]);
}
-
+
TreeItem[] items = null;
Widget w = internalGetWidgetToSelect(path);
if (w instanceof Tree) {
@@ -1660,7 +1660,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
if ((flagsToSave & IModelDelta.EXPAND) != 0) {
delta.setFlags(delta.getFlags() | IModelDelta.EXPAND);
}
- items = tree.getItems();
+ items = tree.getItems();
} else if (w instanceof TreeItem) {
TreeItem item = (TreeItem)w;
if (item.getExpanded()) {
@@ -1672,7 +1672,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
} else if ((flagsToSave & IModelDelta.COLLAPSE) != 0){
delta.setFlags(delta.getFlags() | IModelDelta.COLLAPSE);
}
-
+
if (set.contains(item) && (flagsToSave & IModelDelta.SELECT) != 0) {
delta.setFlags(delta.getFlags() | IModelDelta.SELECT);
}
@@ -1687,7 +1687,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
return false;
}
}
-
+
private void doSaveElementState(TreePath parentPath, ModelDelta delta, TreeItem item, Collection<TreeItem> set, int index, int flagsToSave) {
Object element = item.getData();
if (element != null) {
@@ -1696,7 +1696,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
int flags = IModelDelta.NO_CHANGE;
if (expanded && (flagsToSave & IModelDelta.EXPAND) != 0) {
flags = flags | IModelDelta.EXPAND;
- }
+ }
if (!expanded && (flagsToSave & IModelDelta.COLLAPSE) != 0) {
flags = flags | IModelDelta.COLLAPSE;
}
@@ -1710,7 +1710,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
if (expanded) {
// Only get the item count if the item is expanded. Getting
// item count triggers an update of the element (bug 335734).
- int itemCount = item.getItemCount();
+ int itemCount = item.getItemCount();
int numChildren = ((ITreeModelContentProvider)getContentProvider()).viewToModelCount(elementPath, itemCount);
childDelta.setChildCount(numChildren);
TreeItem[] items = item.getItems();
@@ -1721,7 +1721,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
}
-
+
@Override
public void updateViewer(IModelDelta delta) {
((ITreeModelContentProvider)getContentProvider()).updateModel(delta, ITreeModelContentProvider.ALL_MODEL_DELTA_FLAGS);
@@ -1734,56 +1734,56 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
@Override
public void setElementChecked(TreePath path, boolean checked, boolean grayed) {
Widget widget = findItem(path);
-
+
if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
TreeItem item = (TreeItem)widget;
-
+
item.setChecked(checked);
item.setGrayed(grayed);
-
+
item.setData(PREV_CHECKED_KEY, checked ? Boolean.TRUE : Boolean.FALSE);
item.setData(PREV_GRAYED_KEY, grayed ? Boolean.TRUE : Boolean.FALSE);
}
}
-
+
@Override
public boolean getElementChecked(TreePath path) {
Widget widget = findItem(path);
-
+
if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
TreeItem item = (TreeItem)widget;
-
+
return item.getChecked();
- }
+ }
return false;
}
/**
* Retrieves the element's check box grayed state.
- *
+ *
* @param path the path of the element to set grayed
* @return grayed
*/
@Override
public boolean getElementGrayed(TreePath path) {
Widget widget = findItem(path);
-
+
if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
TreeItem item = (TreeItem)widget;
-
+
return item.getGrayed();
- }
+ }
return false;
}
@Override
public boolean getHasChildren(Object elementOrTreePath) {
- if (elementOrTreePath instanceof TreePath &&
- ((TreePath)elementOrTreePath).getSegmentCount() == 0)
+ if (elementOrTreePath instanceof TreePath &&
+ ((TreePath)elementOrTreePath).getSegmentCount() == 0)
{
return getTree().getItemCount() > 0;
}
-
+
Widget[] items = internalFindItems(elementOrTreePath);
if (items != null && items.length > 0) {
if (items[0] instanceof TreeItem) {
@@ -1792,10 +1792,10 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
return ((Tree)items[0]).getItemCount() > 0;
}
}
-
+
return false;
}
-
+
@Override
public TreePath[] getElementPaths(Object element) {
Widget[] items = internalFindItems(element);
@@ -1809,7 +1809,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
return paths;
}
-
+
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)
@@ -1819,16 +1819,16 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
super.handleSelect(event);
TreeItem item = (TreeItem) event.item;
- if (item != null) { // item can be null when de-selected (bug 296703)
+ if (item != null) { // item can be null when de-selected (bug 296703)
Object element = item.getData();
IContentProvider contentProvider = getContentProvider();
if (element != null && contentProvider instanceof TreeModelContentProvider) {
TreePath path = getTreePathFromItem(item);
-
+
if (event.detail == SWT.CHECK) {
- boolean checked = item.getChecked();
+ boolean checked = item.getChecked();
boolean accepted = ((ITreeModelContentProvider) contentProvider).setChecked(path, checked);
-
+
// if the listen rejects the change or there is not ICheckboxModelProxy, than revert the check state
if (!accepted) {
item.setChecked(!checked);
@@ -1841,7 +1841,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
}
}
}
-
+
@Override
protected void handleTreeExpand(TreeEvent event) {
super.handleTreeExpand(event);
@@ -1851,7 +1851,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
((TreeModelContentProvider) contentProvider).cancelRestore(path, IModelDelta.COLLAPSE);
}
}
-
+
@Override
protected void handleTreeCollapse(TreeEvent event) {
super.handleTreeCollapse(event);
@@ -1861,7 +1861,7 @@ public class InternalTreeModelViewer extends TreeViewer implements IInternalTree
((TreeModelContentProvider) contentProvider).cancelRestore(path, IModelDelta.EXPAND);
}
}
-
+
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProviderTarget#clearSelectionQuiet()
*/

Back to the top