1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Bugzilla 191784

This commit is contained in:
Randy Rohrbach 2007-06-08 21:34:39 +00:00
parent 51452d7e2c
commit fd8daca687
4 changed files with 35 additions and 48 deletions

View file

@ -168,6 +168,9 @@ public class RegisterBitFieldLayoutNode extends AbstractExpressionLayoutNode<IBi
fFormattedPrefStore = prefStore;
}
public IFormattedValuePreferenceStore getPreferenceStore() {
return fFormattedPrefStore;
}
/**
* Private data access routine which performs the extra level of data access needed to
* get the formatted data value for a specific register.
@ -480,21 +483,14 @@ public class RegisterBitFieldLayoutNode extends AbstractExpressionLayoutNode<IBi
return;
}
((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter())).getModelData(
dmc,
new DataRequestMonitor<IBitFieldDMData>(getSession().getExecutor(), rm) {
@Override
protected void handleOK() {
String bitFieldName = expression.substring(1);
if (bitFieldName.equals(getData().getName())) {
if (bitFieldName.equals(dmc.getName())) {
rm.setData(Boolean.TRUE);
} else {
rm.setData(Boolean.FALSE);
}
rm.done();
}
});
}
public int getExpressionLength(String expression) {
if (expression.charAt(0) == '.' && Character.isLetterOrDigit(expression.charAt(1))) {

View file

@ -18,7 +18,6 @@ import org.eclipse.dd.dsf.concurrent.RequestMonitor;
import org.eclipse.dd.dsf.datamodel.DMContexts;
import org.eclipse.dd.dsf.datamodel.IDMContext;
import org.eclipse.dd.dsf.datamodel.IDMEvent;
import org.eclipse.dd.dsf.datamodel.IDMService;
import org.eclipse.dd.dsf.debug.service.IRegisters;
import org.eclipse.dd.dsf.debug.service.IRunControl;
import org.eclipse.dd.dsf.debug.service.IRegisters.IRegisterGroupDMContext;
@ -144,11 +143,10 @@ public class RegisterGroupLayoutNode extends AbstractExpressionLayoutNode<IRegis
fSyncRegisterDataAccess = syncDataAccess;
}
protected SyncRegisterDataAccess getSyncRegisterDataAccess() {
public SyncRegisterDataAccess getSyncRegisterDataAccess() {
return fSyncRegisterDataAccess;
}
@Override
protected void updateElementsInSessionThread(final IChildrenUpdate update) {
if (!checkService(IRegisters.class, null, update)) return;
@ -279,23 +277,16 @@ public class RegisterGroupLayoutNode extends AbstractExpressionLayoutNode<IRegis
return;
}
((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter())).getModelData(
dmc,
new DataRequestMonitor<IRegisterGroupDMData>(getSession().getExecutor(), rm) {
@Override
protected void handleOK() {
int startIdx = "$$\"".length(); //$NON-NLS-1$
int endIdx = expression.indexOf('"', startIdx);
String groupName = expression.substring(startIdx, endIdx);
if (groupName.equals(getData().getName())) {
if (groupName.equals(dmc.getName())) {
rm.setData(Boolean.TRUE);
} else {
rm.setData(Boolean.FALSE);
}
rm.done();
}
});
}
@Override
protected void associateExpression(Object element, IExpression expression) {

View file

@ -165,6 +165,10 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
return fSyncRegisterDataAccess;
}
public IFormattedValuePreferenceStore getPreferenceStore() {
return fFormattedPrefStore;
}
/**
* Private data access routine which performs the extra level of data access needed to
* get the formatted data value for a specific register.
@ -411,21 +415,14 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
return;
}
((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter())).getModelData(
dmc,
new DataRequestMonitor<IRegisterDMData>(getSession().getExecutor(), rm) {
@Override
protected void handleOK() {
String regName = expression.substring(1);
if (regName.equals(getData().getName())) {
if (regName.equals(dmc.getName())) {
rm.setData(Boolean.TRUE);
} else {
rm.setData(Boolean.FALSE);
}
rm.done();
}
});
}
@Override
protected void associateExpression(Object element, IExpression expression) {
@ -447,7 +444,7 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
public void buildDeltaForExpression(final IExpression expression, final int elementIdx, final String expressionText, final Object event, final VMDelta parentDelta, final TreePath path, final RequestMonitor rm)
{
if (event instanceof IRunControl.ISuspendedDMEvent) {
// Mark the partent delta indicating that elements were added and/or removed.
// Mark the parent delta indicating that elements were added and/or removed.
parentDelta.addFlags(IModelDelta.CONTENT);
}

View file

@ -28,6 +28,9 @@ public class RegisterLayoutValueCellModifier extends WatchExpressionCellModifier
fFormattedValuePreferenceStore = formattedValuePreferenceStore;
}
public SyncRegisterDataAccess getRegisterDataAccess() {
return fDataAccess;
}
/*
* Used to make sure we are dealing with a valid register.
*/