Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2012-01-20 06:38:34 +0000
committerPawel Piech2012-01-20 06:38:34 +0000
commitce3d917d9d070f117ee30f4c982efb5a4d1b5f24 (patch)
treea70a1ddc97df3ffc44df819ac38b4f95952cc5bc /org.eclipse.debug.ui/ui/org/eclipse
parent835bb4b9dd92f1317eea08ce38fcfaed0a73bb31 (diff)
downloadeclipse.platform.debug-ce3d917d9d070f117ee30f4c982efb5a4d1b5f24.tar.gz
eclipse.platform.debug-ce3d917d9d070f117ee30f4c982efb5a4d1b5f24.tar.xz
eclipse.platform.debug-ce3d917d9d070f117ee30f4c982efb5a4d1b5f24.zip
Bug 316316 - [memory] Pin Memory Monitor action not workingv20120120-0638
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java105
2 files changed, 59 insertions, 48 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 c16e354d9..01d2f67bb 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
@@ -1143,7 +1143,7 @@ public class TreeModelContentProvider implements ITreeModelContentProvider, ICon
* @param mask the model delta mask
* @see IModelDelta for a list of masks
*/
- private void updateNodes(IModelDelta[] nodes, int mask) {
+ protected void updateNodes(IModelDelta[] nodes, int mask) {
for (int i = 0; i < nodes.length; i++) {
IModelDelta node = nodes[i];
int flags = node.getFlags() & mask;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java
index 18856e19f..e549622d0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java
@@ -14,6 +14,7 @@ package org.eclipse.debug.internal.ui.views.memory;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
+import org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProvider;
import org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer;
@@ -27,59 +28,69 @@ public class MemoryViewTreeModelContentProvider extends
{
for (int i = 0; i < nodes.length; i++) {
IModelDelta node = nodes[i];
- int flags = node.getFlags() & mask;
+ int flags = node.getFlags();
- if ((flags & IModelDelta.ADDED) != 0) {
- if (node.getElement() instanceof IMemoryBlock) {
- if ((flags & IModelDelta.SELECT) != 0) {
- if (getPresentationContext() instanceof MemoryView) {
- MemoryView view = (MemoryView) getPresentationContext().getPart();
- if (view.isPinMBDisplay()) {
- // turn off select if the view is currently
- // pinned
- flags |= IModelDelta.SELECT;
- flags ^= IModelDelta.SELECT;
- }
+ if((mask & ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS) != 0 &&
+ (flags & IModelDelta.ADDED) != 0 &&
+ (flags & IModelDelta.SELECT) != 0 &&
+ node.getElement() instanceof IMemoryBlock)
+ {
+ if ((flags & IModelDelta.SELECT) != 0) {
+ if (getPresentationContext().getPart() instanceof MemoryView) {
+ MemoryView view = (MemoryView) getPresentationContext().getPart();
+ if (view.isPinMBDisplay() && !isFirstMemoryBlock()) {
+ // turn off select if the view is currently
+ // pinned and not the first memory block
+ flags |= IModelDelta.SELECT;
+ flags ^= IModelDelta.SELECT;
}
}
+ }
- // override and select the first memory block
- if (isFirstMemoryBlock()) {
- flags |= IModelDelta.SELECT;
- }
+ // override and select the first memory block
+ if (isFirstMemoryBlock()) {
+ flags |= IModelDelta.SELECT;
}
}
- if ((flags & IModelDelta.ADDED) != 0) {
- handleAdd(node);
- }
- if ((flags & IModelDelta.REMOVED) != 0) {
- handleRemove(node);
- }
- if ((flags & IModelDelta.CONTENT) != 0) {
- handleContent(node);
- }
- if ((flags & IModelDelta.EXPAND) != 0) {
- handleExpand(node);
- }
- if ((flags & IModelDelta.SELECT) != 0) {
- handleSelect(node);
- }
- if ((flags & IModelDelta.STATE) != 0) {
- handleState(node);
- }
- if ((flags & IModelDelta.INSERTED) != 0) {
- handleInsert(node);
- }
- if ((flags & IModelDelta.REPLACED) != 0) {
- handleReplace(node);
- }
- if ((flags & IModelDelta.INSTALL) != 0) {
- handleInstall(node);
- }
- if ((flags & IModelDelta.UNINSTALL) != 0) {
- handleUninstall(node);
- }
- updateNodes(node.getChildDeltas(), mask);
+ flags = flags & mask;
+
+ if ((flags & IModelDelta.ADDED) != 0) {
+ handleAdd(node);
+ }
+ if ((flags & IModelDelta.REMOVED) != 0) {
+ handleRemove(node);
+ }
+ if ((flags & IModelDelta.CONTENT) != 0) {
+ handleContent(node);
+ }
+ if ((flags & IModelDelta.STATE) != 0) {
+ handleState(node);
+ }
+ if ((flags & IModelDelta.INSERTED) != 0) {
+ handleInsert(node);
+ }
+ if ((flags & IModelDelta.REPLACED) != 0) {
+ handleReplace(node);
+ }
+ if ((flags & IModelDelta.INSTALL) != 0) {
+ handleInstall(node);
+ }
+ if ((flags & IModelDelta.UNINSTALL) != 0) {
+ handleUninstall(node);
+ }
+ if ((flags & IModelDelta.EXPAND) != 0) {
+ handleExpand(node);
+ }
+ if ((flags & IModelDelta.COLLAPSE) != 0) {
+ handleCollapse(node);
+ }
+ if ((flags & IModelDelta.SELECT) != 0) {
+ handleSelect(node);
+ }
+ if ((flags & IModelDelta.REVEAL) != 0) {
+ handleReveal(node);
+ }
+ updateNodes(node.getChildDeltas(), mask);
}
}
}

Back to the top