1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-04 14:55:41 +02:00

[216376] Changed expression nodes to use new 3.4M5 watch expression APIs.

This commit is contained in:
Pawel Piech 2008-02-12 00:03:36 +00:00
parent 91e43c46ad
commit 6321552cfe
4 changed files with 32 additions and 104 deletions

View file

@ -44,19 +44,14 @@ import org.eclipse.dd.dsf.ui.viewmodel.IVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta; 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.AbstractDMVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.core.model.IExpression;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext; import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension; import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter2;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor; import org.eclipse.jface.viewers.ComboBoxCellEditor;
@ -71,7 +66,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
{ {
protected class BitFieldVMC extends DMVMContext protected class BitFieldVMC extends DMVMContext
implements IVariable, IFormattedValueVMContext implements IFormattedValueVMContext
{ {
private IExpression fExpression; private IExpression fExpression;
public BitFieldVMC(IDMContext dmc) { public BitFieldVMC(IDMContext dmc) {
@ -91,7 +86,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) { public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) { if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression; return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) { } else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fBitFieldExpressionFactory; return fBitFieldExpressionFactory;
} else { } else {
return super.getAdapter(adapter); return super.getAdapter(adapter);
@ -112,29 +107,16 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
public int hashCode() { public int hashCode() {
return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0); return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0);
} }
public String getName() throws DebugException { return toString(); }
public String getReferenceTypeName() throws DebugException { return ""; } //$NON-NLS-1$
public IValue getValue() throws DebugException { return null; }
public boolean hasValueChanged() throws DebugException { return false; }
public void setValue(IValue value) throws DebugException {}
public void setValue(String expression) throws DebugException {}
public boolean supportsValueModification() { return false; }
public boolean verifyValue(IValue value) throws DebugException { return false; }
public boolean verifyValue(String expression) throws DebugException { return false; }
public IDebugTarget getDebugTarget() { return null;}
public ILaunch getLaunch() { return null; }
public String getModelIdentifier() { return DsfDebugUIPlugin.PLUGIN_ID; }
} }
protected class BitFieldExpressionFactory implements IWatchExpressionFactoryAdapterExtension { protected class BitFieldExpressionFactory implements IWatchExpressionFactoryAdapter2 {
public boolean canCreateWatchExpression(IVariable variable) { public boolean canCreateWatchExpression(Object element) {
return variable instanceof BitFieldVMC; return element instanceof BitFieldVMC;
} }
public String createWatchExpression(IVariable variable) throws CoreException { public String createWatchExpression(Object element) throws CoreException {
BitFieldVMC bitFieldVmc = ((BitFieldVMC)variable); BitFieldVMC bitFieldVmc = ((BitFieldVMC)element);
StringBuffer exprBuf = new StringBuffer(); StringBuffer exprBuf = new StringBuffer();
IRegisterGroupDMContext groupDmc = IRegisterGroupDMContext groupDmc =

View file

@ -36,12 +36,7 @@ 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.AbstractDMVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.core.model.IExpression;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.DebugPluginImages; import org.eclipse.debug.internal.ui.DebugPluginImages;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor;
@ -50,7 +45,7 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext; import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.debug.ui.IDebugUIConstants; import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension; import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter2;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.TextCellEditor; import org.eclipse.jface.viewers.TextCellEditor;
@ -62,7 +57,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
implements IElementEditor, IElementLabelProvider implements IElementEditor, IElementLabelProvider
{ {
protected class RegisterGroupVMC extends DMVMContext implements IVariable protected class RegisterGroupVMC extends DMVMContext
{ {
private IExpression fExpression; private IExpression fExpression;
public RegisterGroupVMC(IDMContext dmc) { public RegisterGroupVMC(IDMContext dmc) {
@ -78,7 +73,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) { public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) { if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression; return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) { } else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fRegisterGroupExpressionFactory; return fRegisterGroupExpressionFactory;
} else { } else {
return super.getAdapter(adapter); return super.getAdapter(adapter);
@ -99,29 +94,16 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
public int hashCode() { public int hashCode() {
return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0); return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0);
} }
public String getName() throws DebugException { return toString(); }
public String getReferenceTypeName() throws DebugException { return ""; } //$NON-NLS-1$
public IValue getValue() throws DebugException { return null; }
public boolean hasValueChanged() throws DebugException { return false; }
public void setValue(IValue value) throws DebugException {}
public void setValue(String expression) throws DebugException {}
public boolean supportsValueModification() { return false; }
public boolean verifyValue(IValue value) throws DebugException { return false; }
public boolean verifyValue(String expression) throws DebugException { return false; }
public IDebugTarget getDebugTarget() { return null;}
public ILaunch getLaunch() { return null; }
public String getModelIdentifier() { return DsfDebugUIPlugin.PLUGIN_ID; }
} }
protected class RegisterGroupExpressionFactory implements IWatchExpressionFactoryAdapterExtension { protected class RegisterGroupExpressionFactory implements IWatchExpressionFactoryAdapter2 {
public boolean canCreateWatchExpression(IVariable variable) { public boolean canCreateWatchExpression(Object element) {
return variable instanceof RegisterGroupVMC; return element instanceof RegisterGroupVMC;
} }
public String createWatchExpression(IVariable variable) throws CoreException { public String createWatchExpression(Object element) throws CoreException {
RegisterGroupVMC registerVmc = ((RegisterGroupVMC)variable); RegisterGroupVMC registerVmc = ((RegisterGroupVMC)element);
StringBuffer exprBuf = new StringBuffer(); StringBuffer exprBuf = new StringBuffer();
IRegisterGroupDMContext groupDmc = DMContexts.getAncestorOfType(registerVmc.getDMContext(), IRegisterGroupDMContext.class); IRegisterGroupDMContext groupDmc = DMContexts.getAncestorOfType(registerVmc.getDMContext(), IRegisterGroupDMContext.class);

View file

@ -41,12 +41,7 @@ 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.AbstractDMVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.core.model.IExpression;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.DebugPluginImages; import org.eclipse.debug.internal.ui.DebugPluginImages;
import org.eclipse.debug.internal.ui.DebugUIPlugin; import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
@ -57,7 +52,7 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext; import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.debug.ui.IDebugUIConstants; import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension; import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter2;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.ICellModifier;
@ -70,7 +65,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
implements IElementEditor, IElementLabelProvider implements IElementEditor, IElementLabelProvider
{ {
protected class RegisterVMC extends DMVMContext protected class RegisterVMC extends DMVMContext
implements IVariable, IFormattedValueVMContext implements IFormattedValueVMContext
{ {
private IExpression fExpression; private IExpression fExpression;
public RegisterVMC(IDMContext dmc) { public RegisterVMC(IDMContext dmc) {
@ -86,7 +81,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) { public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) { if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression; return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) { } else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fRegisterExpressionFactory; return fRegisterExpressionFactory;
} else { } else {
return super.getAdapter(adapter); return super.getAdapter(adapter);
@ -111,29 +106,16 @@ public class RegisterVMNode extends AbstractExpressionVMNode
public IFormattedValuePreferenceStore getPreferenceStore() { public IFormattedValuePreferenceStore getPreferenceStore() {
return fFormattedPrefStore; return fFormattedPrefStore;
} }
public String getName() throws DebugException { return toString(); }
public String getReferenceTypeName() throws DebugException { return ""; } //$NON-NLS-1$
public IValue getValue() throws DebugException { return null; }
public boolean hasValueChanged() throws DebugException { return false; }
public void setValue(IValue value) throws DebugException {}
public void setValue(String expression) throws DebugException {}
public boolean supportsValueModification() { return false; }
public boolean verifyValue(IValue value) throws DebugException { return false; }
public boolean verifyValue(String expression) throws DebugException { return false; }
public IDebugTarget getDebugTarget() { return null;}
public ILaunch getLaunch() { return null; }
public String getModelIdentifier() { return DsfDebugUIPlugin.PLUGIN_ID; }
} }
protected class RegisterExpressionFactory implements IWatchExpressionFactoryAdapterExtension { protected class RegisterExpressionFactory implements IWatchExpressionFactoryAdapter2 {
public boolean canCreateWatchExpression(IVariable variable) { public boolean canCreateWatchExpression(Object element) {
return variable instanceof RegisterVMC; return element instanceof RegisterVMC;
} }
public String createWatchExpression(IVariable variable) throws CoreException { public String createWatchExpression(Object element) throws CoreException {
RegisterVMC registerVmc = ((RegisterVMC)variable); RegisterVMC registerVmc = ((RegisterVMC)element);
StringBuffer exprBuf = new StringBuffer(); StringBuffer exprBuf = new StringBuffer();
IRegisterGroupDMContext groupDmc = IRegisterGroupDMContext groupDmc =

View file

@ -48,12 +48,7 @@ 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.AbstractDMVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.CompositeDMVMContext;
import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext; import org.eclipse.dd.dsf.ui.viewmodel.dm.IDMVMContext;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IExpression; import org.eclipse.debug.core.model.IExpression;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.DebugUIPlugin; import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
@ -63,7 +58,7 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext; import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate;
import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension; import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter2;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.ICellModifier;
@ -128,7 +123,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
private final SyncVariableDataAccess fSyncVariableDataAccess; private final SyncVariableDataAccess fSyncVariableDataAccess;
public class VariableExpressionVMC extends DMVMContext implements IFormattedValueVMContext, IVariable { public class VariableExpressionVMC extends DMVMContext implements IFormattedValueVMContext {
private IExpression fExpression; private IExpression fExpression;
@ -149,7 +144,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) { public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) { if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression; return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) { } else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fVariableExpressionFactory; return fVariableExpressionFactory;
} else { } else {
return super.getAdapter(adapter); return super.getAdapter(adapter);
@ -170,30 +165,17 @@ public class VariableVMNode extends AbstractExpressionVMNode
public int hashCode() { public int hashCode() {
return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0); return super.hashCode() + (fExpression != null ? fExpression.hashCode() : 0);
} }
public String getName() throws DebugException { return toString(); }
public String getReferenceTypeName() throws DebugException { return ""; } //$NON-NLS-1$
public IValue getValue() throws DebugException { return null; }
public boolean hasValueChanged() throws DebugException { return false; }
public void setValue(IValue value) throws DebugException {}
public void setValue(String expression) throws DebugException {}
public boolean supportsValueModification() { return false; }
public boolean verifyValue(IValue value) throws DebugException { return false; }
public boolean verifyValue(String expression) throws DebugException { return false; }
public IDebugTarget getDebugTarget() { return null;}
public ILaunch getLaunch() { return null; }
public String getModelIdentifier() { return DsfDebugUIPlugin.PLUGIN_ID; }
} }
protected class VariableExpressionFactory implements IWatchExpressionFactoryAdapterExtension { protected class VariableExpressionFactory implements IWatchExpressionFactoryAdapter2 {
public boolean canCreateWatchExpression(IVariable variable) { public boolean canCreateWatchExpression(Object element) {
return variable instanceof VariableExpressionVMC; return element instanceof VariableExpressionVMC;
} }
public String createWatchExpression(IVariable variable) throws CoreException { public String createWatchExpression(Object element) throws CoreException {
VariableExpressionVMC exprVmc = (VariableExpressionVMC) variable; VariableExpressionVMC exprVmc = (VariableExpressionVMC) element;
IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(exprVmc.getDMContext(), IExpressionDMContext.class); IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(exprVmc.getDMContext(), IExpressionDMContext.class);
if (exprDmc != null) { if (exprDmc != null) {