Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java')
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java
index 1a4e393859c..217da6925b5 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/register/RegisterVMNode.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 Wind River Systems and others.
+ * Copyright (c) 2006, 2014 Wind River Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
package org.eclipse.cdt.dsf.debug.ui.viewmodel.register;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.dsf.concurrent.ConfinedToDsfExecutor;
@@ -39,6 +40,7 @@ import org.eclipse.cdt.dsf.debug.ui.viewmodel.expression.AbstractExpressionVMNod
import org.eclipse.cdt.dsf.debug.ui.viewmodel.numberformat.FormattedValueLabelText;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.numberformat.FormattedValueRetriever;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.numberformat.IFormattedValueVMContext;
+import org.eclipse.cdt.dsf.debug.ui.viewmodel.update.ElementFormatEvent;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.variable.VariableLabelFont;
import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin;
import org.eclipse.cdt.dsf.service.DsfSession;
@@ -688,6 +690,13 @@ public class RegisterVMNode extends AbstractExpressionVMNode
return IModelDelta.STATE;
}
+ if (e instanceof ElementFormatEvent) {
+ int depth = ((ElementFormatEvent)e).getApplyDepth();
+ if (depth == 0) return IModelDelta.NO_CHANGE;
+ if (depth == 1) return IModelDelta.STATE;
+ return IModelDelta.CONTENT;
+ }
+
return IModelDelta.NO_CHANGE;
}
@@ -714,7 +723,20 @@ public class RegisterVMNode extends AbstractExpressionVMNode
if (e instanceof IRegisterChangedDMEvent) {
parentDelta.addNode( createVMContext(((IRegisterChangedDMEvent)e).getDMContext()), IModelDelta.STATE );
}
-
+ else if ( e instanceof ElementFormatEvent )
+ {
+ int depth = ((ElementFormatEvent)e).getApplyDepth();
+ if (depth != 0) {
+ int deltaType = IModelDelta.CONTENT;
+ if (depth == 1) deltaType = IModelDelta.STATE;
+
+ Set<Object> elements = ((ElementFormatEvent)e).getElements();
+ for (Object elem : elements) {
+ parentDelta.addNode(elem, deltaType);
+ }
+ }
+ }
+
rm.done();
}

Back to the top