From c7f6460147442c065e8e1f26da0fbe82fb6fb77b Mon Sep 17 00:00:00 2001 From: Randy Rohrbach Date: Tue, 12 Feb 2008 20:23:27 +0000 Subject: [PATCH] Bugzilla 218654. This commit shows some files contain errors. This is because they are being compiled against M4. I will rebuild against M5 shortly. I did a diff of the files and the changes are exactly what I wanted. They will compile against HEAD and M5 when that is resolved. --- .../ui/viewmodel/register/RegisterGroupVMNode.java | 3 +-- .../debug/ui/viewmodel/register/RegisterVMNode.java | 3 +-- .../debug/ui/viewmodel/variable/VariableVMNode.java | 3 +-- .../dd/dsf/ui/viewmodel/dm/AbstractDMVMNode.java | 12 +++++++++++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterGroupVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterGroupVMNode.java index 06d1a9d0154..69380da24dc 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterGroupVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterGroupVMNode.java @@ -34,7 +34,6 @@ import org.eclipse.dd.dsf.service.IDsfService; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.VMDelta; import org.eclipse.dd.dsf.ui.viewmodel.dm.AbstractDMVMProvider; -import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.internal.ui.DebugPluginImages; @@ -134,7 +133,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode @Override protected void updateElementsInSessionThread(final IChildrenUpdate update) { getServicesTracker().getService(IRegisters.class).getRegisterGroups( - new CompositeDMVMContext(update), + createCompositeDMVMContext(update), new DataRequestMonitor(getSession().getExecutor(), null) { @Override public void handleCompleted() { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterVMNode.java index 6d45b85d03f..b222bed823e 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterVMNode.java @@ -39,7 +39,6 @@ import org.eclipse.dd.dsf.service.IDsfService; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.VMDelta; import org.eclipse.dd.dsf.ui.viewmodel.dm.AbstractDMVMProvider; -import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.internal.ui.DebugPluginImages; @@ -364,7 +363,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode @Override protected void updateElementsInSessionThread(final IChildrenUpdate update) { getServicesTracker().getService(IRegisters.class).getRegisters( - new CompositeDMVMContext(update), + createCompositeDMVMContext(update), new DataRequestMonitor(getSession().getExecutor(), null) { @Override public void handleCompleted() { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableVMNode.java index 26ed1b8e26c..9a594f7ab21 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/variable/VariableVMNode.java @@ -46,7 +46,6 @@ import org.eclipse.dd.dsf.service.IDsfService; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.VMDelta; import org.eclipse.dd.dsf.ui.viewmodel.dm.AbstractDMVMProvider; -import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.internal.ui.DebugUIPlugin; @@ -458,7 +457,7 @@ public class VariableVMNode extends AbstractExpressionVMNode final IExpressions expressionService = getServicesTracker().getService(IExpressions.class); if (expressionService != null) { IExpressionDMContext expressionDMC = expressionService.createExpression( - new CompositeDMVMContext(update), + createCompositeDMVMContext(update), update.getExpression().getExpressionText()); VariableExpressionVMC variableVmc = new VariableExpressionVMC(expressionDMC); variableVmc.setExpression(update.getExpression()); diff --git a/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/dm/AbstractDMVMNode.java b/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/dm/AbstractDMVMNode.java index 9bdb2d6569d..d265947d89b 100644 --- a/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/dm/AbstractDMVMNode.java +++ b/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/dm/AbstractDMVMNode.java @@ -297,6 +297,16 @@ abstract public class AbstractDMVMNode extends AbstractVMNode implements IVMNode return new DMVMContext(dmc); } + /** + * Creates a default CompositeDMVMContext which represents the selection. + * This can be overridden by view model providers which for their own purposes. + * @param update defines the selection to be updated to + * @return DM Context which represent the current selection + */ + protected IDMContext createCompositeDMVMContext(IViewerUpdate update) { + return new CompositeDMVMContext(update); + } + /** * Searches for a DMC of given type in the tree patch contained in given * VMC. Only a DMC in the same session will be returned. @@ -305,7 +315,7 @@ abstract public class AbstractDMVMNode extends AbstractVMNode implements IVMNode * @param dmcType Class object for matching the type. * @return DMC, or null if not found. */ - public T findDmcInPath(Object inputObject, TreePath path, Class dmcType) { + protected T findDmcInPath(Object inputObject, TreePath path, Class dmcType) { T retVal = null; for (int i = path.getSegmentCount() - 1; i >= 0; i--) { if (path.getSegment(i) instanceof IDMVMContext) {