1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +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.dm.AbstractDMVMProvider;
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.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.IElementEditor;
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.IModelDelta;
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.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
@ -71,7 +66,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
{
protected class BitFieldVMC extends DMVMContext
implements IVariable, IFormattedValueVMContext
implements IFormattedValueVMContext
{
private IExpression fExpression;
public BitFieldVMC(IDMContext dmc) {
@ -91,7 +86,7 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) {
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fBitFieldExpressionFactory;
} else {
return super.getAdapter(adapter);
@ -112,29 +107,16 @@ public class RegisterBitFieldVMNode extends AbstractExpressionVMNode
public int hashCode() {
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) {
return variable instanceof BitFieldVMC;
public boolean canCreateWatchExpression(Object element) {
return element instanceof BitFieldVMC;
}
public String createWatchExpression(IVariable variable) throws CoreException {
BitFieldVMC bitFieldVmc = ((BitFieldVMC)variable);
public String createWatchExpression(Object element) throws CoreException {
BitFieldVMC bitFieldVmc = ((BitFieldVMC)element);
StringBuffer exprBuf = new StringBuffer();
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.CompositeDMVMContext;
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.IValue;
import org.eclipse.debug.core.model.IVariable;
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.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.IPresentationContext;
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.ICellModifier;
import org.eclipse.jface.viewers.TextCellEditor;
@ -62,7 +57,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
implements IElementEditor, IElementLabelProvider
{
protected class RegisterGroupVMC extends DMVMContext implements IVariable
protected class RegisterGroupVMC extends DMVMContext
{
private IExpression fExpression;
public RegisterGroupVMC(IDMContext dmc) {
@ -78,7 +73,7 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) {
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fRegisterGroupExpressionFactory;
} else {
return super.getAdapter(adapter);
@ -99,29 +94,16 @@ public class RegisterGroupVMNode extends AbstractExpressionVMNode
public int hashCode() {
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) {
return variable instanceof RegisterGroupVMC;
public boolean canCreateWatchExpression(Object element) {
return element instanceof RegisterGroupVMC;
}
public String createWatchExpression(IVariable variable) throws CoreException {
RegisterGroupVMC registerVmc = ((RegisterGroupVMC)variable);
public String createWatchExpression(Object element) throws CoreException {
RegisterGroupVMC registerVmc = ((RegisterGroupVMC)element);
StringBuffer exprBuf = new StringBuffer();
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.CompositeDMVMContext;
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.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.DebugPluginImages;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
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.IPresentationContext;
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.viewers.CellEditor;
import org.eclipse.jface.viewers.ICellModifier;
@ -70,7 +65,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
implements IElementEditor, IElementLabelProvider
{
protected class RegisterVMC extends DMVMContext
implements IVariable, IFormattedValueVMContext
implements IFormattedValueVMContext
{
private IExpression fExpression;
public RegisterVMC(IDMContext dmc) {
@ -86,7 +81,7 @@ public class RegisterVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) {
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fRegisterExpressionFactory;
} else {
return super.getAdapter(adapter);
@ -111,29 +106,16 @@ public class RegisterVMNode extends AbstractExpressionVMNode
public IFormattedValuePreferenceStore getPreferenceStore() {
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) {
return variable instanceof RegisterVMC;
public boolean canCreateWatchExpression(Object element) {
return element instanceof RegisterVMC;
}
public String createWatchExpression(IVariable variable) throws CoreException {
RegisterVMC registerVmc = ((RegisterVMC)variable);
public String createWatchExpression(Object element) throws CoreException {
RegisterVMC registerVmc = ((RegisterVMC)element);
StringBuffer exprBuf = new StringBuffer();
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.CompositeDMVMContext;
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.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
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.IPresentationContext;
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.viewers.CellEditor;
import org.eclipse.jface.viewers.ICellModifier;
@ -128,7 +123,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
private final SyncVariableDataAccess fSyncVariableDataAccess;
public class VariableExpressionVMC extends DMVMContext implements IFormattedValueVMContext, IVariable {
public class VariableExpressionVMC extends DMVMContext implements IFormattedValueVMContext {
private IExpression fExpression;
@ -149,7 +144,7 @@ public class VariableVMNode extends AbstractExpressionVMNode
public Object getAdapter(Class adapter) {
if (fExpression != null && adapter.isAssignableFrom(fExpression.getClass())) {
return fExpression;
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapterExtension.class)) {
} else if (adapter.isAssignableFrom(IWatchExpressionFactoryAdapter2.class)) {
return fVariableExpressionFactory;
} else {
return super.getAdapter(adapter);
@ -170,30 +165,17 @@ public class VariableVMNode extends AbstractExpressionVMNode
public int hashCode() {
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) {
return variable instanceof VariableExpressionVMC;
public boolean canCreateWatchExpression(Object element) {
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);
if (exprDmc != null) {