mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 16:56:04 +02:00
Bugzilla 284894
This commit is contained in:
parent
7bfd9bf31e
commit
4f1b016261
1 changed files with 27 additions and 47 deletions
|
@ -114,11 +114,14 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
private Control fGotoAddressBarControl;
|
private Control fGotoAddressBarControl;
|
||||||
private Label fUnsupportedLabel;
|
private Label fUnsupportedLabel;
|
||||||
private Composite fMainComposite;
|
private Composite fMainComposite;
|
||||||
private String defaultRenderingTypeId = null; //$NON-NLS-1$
|
private String defaultRenderingTypeId = null;
|
||||||
|
|
||||||
|
private ArrayList<IMemoryRenderingContainer> fCurrentContainers = new ArrayList<IMemoryRenderingContainer>();
|
||||||
|
|
||||||
private final static String KEY_RENDERING = "RENDERING"; //$NON-NLS-1$
|
private final static String KEY_RENDERING = "RENDERING"; //$NON-NLS-1$
|
||||||
private final static String KEY_CONTEXT = "CONTEXT"; //$NON-NLS-1$
|
private final static String KEY_CONTEXT = "CONTEXT"; //$NON-NLS-1$
|
||||||
private final static String KEY_RETRIEVAL = "RETRIEVAL"; //$NON-NLS-1$
|
private final static String KEY_RETRIEVAL = "RETRIEVAL"; //$NON-NLS-1$
|
||||||
|
private final static String KEY_CONTAINER = "CONTAINER"; //$NON-NLS-1$
|
||||||
|
|
||||||
public MemoryBrowser() {
|
public MemoryBrowser() {
|
||||||
}
|
}
|
||||||
|
@ -277,46 +280,11 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMemoryRenderingContainer[] getMemoryRenderingContainers() {
|
public IMemoryRenderingContainer[] getMemoryRenderingContainers() {
|
||||||
return new IMemoryRenderingContainer[] {
|
IMemoryRenderingContainer[] containerList = new IMemoryRenderingContainer[fCurrentContainers.size()];
|
||||||
new IMemoryRenderingContainer()
|
for ( int idx = 0 ; idx < fCurrentContainers.size() ; idx ++ ) {
|
||||||
{
|
containerList[ idx ] = fCurrentContainers.get( idx );
|
||||||
|
|
||||||
public void addMemoryRendering(IMemoryRendering rendering) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
return containerList;
|
||||||
public IMemoryRendering getActiveRendering() {
|
|
||||||
if(fStackLayout.topControl instanceof CTabFolder)
|
|
||||||
{
|
|
||||||
CTabFolder activeFolder = (CTabFolder) fStackLayout.topControl;
|
|
||||||
if(activeFolder.getSelection() != null)
|
|
||||||
return (IMemoryRendering) activeFolder.getSelection().getData(KEY_RENDERING);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLabel() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryRenderingSite getMemoryRenderingSite() {
|
|
||||||
return MemoryBrowser.this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryRendering[] getRenderings() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeMemoryRendering(IMemoryRendering rendering) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMemoryRenderingSynchronizationService getSynchronizationService() {
|
public IMemoryRenderingSynchronizationService getSynchronizationService() {
|
||||||
|
@ -411,6 +379,9 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
|
folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
|
||||||
public void close(CTabFolderEvent event) {
|
public void close(CTabFolderEvent event) {
|
||||||
event.doit = false;
|
event.doit = false;
|
||||||
|
CTabItem item = (CTabItem) event.item;
|
||||||
|
IMemoryRenderingContainer container = (IMemoryRenderingContainer) item.getData(KEY_CONTAINER);
|
||||||
|
fCurrentContainers.remove( container );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return folder;
|
return folder;
|
||||||
|
@ -448,7 +419,7 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
for(final IMemoryRenderingType type : getRenderingTypes())
|
for(final IMemoryRenderingType type : getRenderingTypes())
|
||||||
{
|
{
|
||||||
final Action action = new Action(
|
final Action action = new Action(
|
||||||
type.getLabel(), IAction.AS_CHECK_BOX)
|
type.getLabel(), IAction.AS_RADIO_BUTTON)
|
||||||
{
|
{
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
@ -537,6 +508,9 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
newFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
|
newFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
|
||||||
public void close(CTabFolderEvent event) {
|
public void close(CTabFolderEvent event) {
|
||||||
event.doit = true;
|
event.doit = true;
|
||||||
|
CTabItem item = (CTabItem) event.item;
|
||||||
|
IMemoryRenderingContainer container = (IMemoryRenderingContainer) item.getData(KEY_CONTAINER);
|
||||||
|
fCurrentContainers.remove( container );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
newFolder.addSelectionListener(new SelectionListener()
|
newFolder.addSelectionListener(new SelectionListener()
|
||||||
|
@ -581,6 +555,7 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getDefaultRenderingTypeId());
|
IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getDefaultRenderingTypeId());
|
||||||
try {
|
try {
|
||||||
final IMemoryRendering rendering = type.createRendering();
|
final IMemoryRendering rendering = type.createRendering();
|
||||||
|
|
||||||
IMemoryRenderingContainer container = new IMemoryRenderingContainer()
|
IMemoryRenderingContainer container = new IMemoryRenderingContainer()
|
||||||
{
|
{
|
||||||
public void addMemoryRendering(IMemoryRendering rendering) {}
|
public void addMemoryRendering(IMemoryRendering rendering) {}
|
||||||
|
@ -602,14 +577,14 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMemoryRendering[] getRenderings() {
|
public IMemoryRendering[] getRenderings() {
|
||||||
return null;
|
return new IMemoryRendering[] { rendering };
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeMemoryRendering(IMemoryRendering rendering) {}
|
public void removeMemoryRendering(IMemoryRendering rendering) {}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
IMemoryBlock block = null;
|
IMemoryBlock block = retrieval.getMemoryBlock(0, 1024) ;
|
||||||
if(retrieval instanceof IAdaptable)
|
if(retrieval instanceof IAdaptable)
|
||||||
{
|
{
|
||||||
IMemoryBlockRetrievalExtension retrievalExtension = (IMemoryBlockRetrievalExtension)
|
IMemoryBlockRetrievalExtension retrievalExtension = (IMemoryBlockRetrievalExtension)
|
||||||
|
@ -618,11 +593,13 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
block = retrievalExtension.getExtendedMemoryBlock("0", context); //$NON-NLS-1$
|
block = retrievalExtension.getExtendedMemoryBlock("0", context); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fCurrentContainers.add(container);
|
||||||
rendering.init(container, block);
|
rendering.init(container, block);
|
||||||
rendering.createControl(tab.getParent());
|
rendering.createControl(tab.getParent());
|
||||||
tab.setControl(rendering.getControl());
|
tab.setControl(rendering.getControl());
|
||||||
tab.getParent().setSelection(0);
|
tab.getParent().setSelection(0);
|
||||||
tab.setData(KEY_RENDERING, rendering);
|
tab.setData(KEY_RENDERING, rendering);
|
||||||
|
tab.setData(KEY_CONTAINER, container);
|
||||||
getSite().getSelectionProvider().setSelection(new StructuredSelection(tab.getData(KEY_RENDERING)));
|
getSite().getSelectionProvider().setSelection(new StructuredSelection(tab.getData(KEY_RENDERING)));
|
||||||
updateLabel(tab, rendering);
|
updateLabel(tab, rendering);
|
||||||
|
|
||||||
|
@ -664,9 +641,12 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
|
||||||
final CTabFolder folder = getTabFolder(context);
|
final CTabFolder folder = getTabFolder(context);
|
||||||
if(folder != null)
|
if(folder != null)
|
||||||
{
|
{
|
||||||
for(CTabItem tab : folder.getItems())
|
for(CTabItem tab : folder.getItems()) {
|
||||||
|
IMemoryRenderingContainer container = (IMemoryRenderingContainer) tab.getData(KEY_CONTAINER);
|
||||||
|
fCurrentContainers.remove( container );
|
||||||
tab.dispose();
|
tab.dispose();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
fContextFolders.remove(context);
|
fContextFolders.remove(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue