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

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

View file

@ -165,6 +165,10 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
return fSyncRegisterDataAccess; return fSyncRegisterDataAccess;
} }
public IFormattedValuePreferenceStore getPreferenceStore() {
return fFormattedPrefStore;
}
/** /**
* Private data access routine which performs the extra level of data access needed to * Private data access routine which performs the extra level of data access needed to
* get the formatted data value for a specific register. * get the formatted data value for a specific register.
@ -411,20 +415,13 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
return; return;
} }
((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter())).getModelData( String regName = expression.substring(1);
dmc, if (regName.equals(dmc.getName())) {
new DataRequestMonitor<IRegisterDMData>(getSession().getExecutor(), rm) { rm.setData(Boolean.TRUE);
@Override } else {
protected void handleOK() { rm.setData(Boolean.FALSE);
String regName = expression.substring(1); }
if (regName.equals(getData().getName())) { rm.done();
rm.setData(Boolean.TRUE);
} else {
rm.setData(Boolean.FALSE);
}
rm.done();
}
});
} }
@Override @Override
@ -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) 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) { 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); parentDelta.addFlags(IModelDelta.CONTENT);
} }

View file

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