Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Rennie2013-01-22 19:26:50 +0000
committerMike Rennie2013-01-22 19:26:50 +0000
commit29e2f9786c3b279bbaf7b7b01696eddabfb2940c (patch)
tree7eb532306be1f81f8106aa4bc508a73012e9832a
parent74573dd6051f576108bc315f1fdc478fb3f5ebb3 (diff)
downloadeclipse.platform.debug-29e2f9786c3b279bbaf7b7b01696eddabfb2940c.tar.gz
eclipse.platform.debug-29e2f9786c3b279bbaf7b7b01696eddabfb2940c.tar.xz
eclipse.platform.debug-29e2f9786c3b279bbaf7b7b01696eddabfb2940c.zip
Bug 380614 - Breakpoints view does not refresh when new breakpoint is
added to Others Category
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
index b95ffa248..dd6d1d455 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
@@ -1360,13 +1360,34 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
}
protected void handleInsert(IModelDelta delta) {
- // TODO: filters
IModelDelta parentDelta = delta.getParentDelta();
if (parentDelta == null) {
DebugUIPlugin.log(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "Invalid viewer update: " + delta + ", in " + getPresentationContext().getId(), null )); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
- getViewer().insert(getViewerTreePath(parentDelta), delta.getElement(), delta.getIndex());
+
+ TreePath parentPath = getViewerTreePath(delta.getParentDelta());
+ Object element = delta.getElement();
+ int modelIndex = delta.getIndex();
+ if (modelIndex >= 0) {
+ int viewIndex = modelToViewIndex(parentPath, modelIndex);
+ if (viewIndex >= 0) {
+ if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
+ DebugUIPlugin.trace("handleInsert(" + parentPath.getLastSegment() + ", (model) " + modelIndex + " (view) " + viewIndex + ", " + element); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ }
+ getViewer().insert(parentPath, element, viewIndex);
+ } else {
+ if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
+ DebugUIPlugin.trace("[filtered] handleInsert(" + delta.getElement() + ") > modelIndex: " + modelIndex); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ // Element is filtered - do not insert
+ }
+ } else {
+ if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
+ DebugUIPlugin.trace("handleInsert(" + delta.getElement() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ doUpdateChildCount(getViewerTreePath(delta.getParentDelta()));
+ }
}
protected void handleRemove(IModelDelta delta) {

Back to the top