|
Lines 41-47
Link Here
|
| 41 |
import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension; |
41 |
import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension; |
| 42 |
import org.eclipse.debug.core.model.MemoryByte; |
42 |
import org.eclipse.debug.core.model.MemoryByte; |
| 43 |
import org.eclipse.debug.internal.ui.memory.MemoryRenderingManager; |
43 |
import org.eclipse.debug.internal.ui.memory.MemoryRenderingManager; |
| 44 |
import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil; |
|
|
| 45 |
import org.eclipse.debug.ui.DebugUITools; |
44 |
import org.eclipse.debug.ui.DebugUITools; |
| 46 |
import org.eclipse.debug.ui.contexts.DebugContextEvent; |
45 |
import org.eclipse.debug.ui.contexts.DebugContextEvent; |
| 47 |
import org.eclipse.debug.ui.contexts.IDebugContextListener; |
46 |
import org.eclipse.debug.ui.contexts.IDebugContextListener; |
|
Lines 388-401
Link Here
|
| 388 |
final Object context = activeFolder.getData(KEY_CONTEXT); |
387 |
final Object context = activeFolder.getData(KEY_CONTEXT); |
| 389 |
|
388 |
|
| 390 |
CTabItem item = activeFolder.getSelection(); |
389 |
CTabItem item = activeFolder.getSelection(); |
| 391 |
if (inNewTab || item == null) { |
390 |
if(inNewTab || item == null) |
| 392 |
item = createTab(activeFolder, activeFolder.getSelectionIndex() + 1); |
391 |
{ |
| 393 |
populateTabWithRendering(item, retrieval, context, memorySpaceId); |
392 |
try { |
| 394 |
|
393 |
IMemoryBlockExtension block = createMemoryBlock(retrieval, expression, context, memorySpaceId); //$NON-NLS-1$ |
| 395 |
fContextFolders.put(retrieval, activeFolder); |
394 |
item = createTab(activeFolder, activeFolder.getSelectionIndex() + 1); |
| 396 |
activeFolder.setSelection(item); |
395 |
populateTabWithRendering(item, retrieval, context, memorySpaceId, block); |
| 397 |
getSite().getSelectionProvider().setSelection(new StructuredSelection(item.getData(KEY_RENDERING))); |
396 |
fContextFolders.put(retrieval, activeFolder); |
| 398 |
} |
397 |
activeFolder.setSelection(item); |
|
|
398 |
getSite().getSelectionProvider().setSelection(new StructuredSelection(item.getData(KEY_RENDERING))); |
| 399 |
} catch (DebugException e1) { |
| 400 |
fGotoAddressBar.handleExpressionStatus(new Status(Status.ERROR, MemoryBrowserPlugin.PLUGIN_ID, |
| 401 |
Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), e1)); |
| 402 |
return; |
| 403 |
} |
| 404 |
} |
| 399 |
|
405 |
|
| 400 |
IRepositionableMemoryRendering rendering = (IRepositionableMemoryRendering) activeFolder.getSelection().getData(KEY_RENDERING); |
406 |
IRepositionableMemoryRendering rendering = (IRepositionableMemoryRendering) activeFolder.getSelection().getData(KEY_RENDERING); |
| 401 |
IMemoryRenderingContainer container = (IMemoryRenderingContainer)item.getData(KEY_CONTAINER); |
407 |
IMemoryRenderingContainer container = (IMemoryRenderingContainer)item.getData(KEY_CONTAINER); |
|
Lines 419-431
Link Here
|
| 419 |
block.setBaseAddress(newBase); |
425 |
block.setBaseAddress(newBase); |
| 420 |
} |
426 |
} |
| 421 |
renderingFinal.goToAddress(newBase); |
427 |
renderingFinal.goToAddress(newBase); |
|
|
428 |
fGotoAddressBar.handleExpressionStatus(Status.OK_STATUS); |
| 422 |
runOnUIThread(new Runnable(){ |
429 |
runOnUIThread(new Runnable(){ |
| 423 |
public void run() { |
430 |
public void run() { |
| 424 |
updateLabel(activeFolder.getSelection(), renderingFinal); |
431 |
updateLabel(activeFolder.getSelection(), renderingFinal); |
| 425 |
} |
432 |
} |
| 426 |
}); |
433 |
}); |
| 427 |
} catch (DebugException e1) { |
434 |
} catch (final DebugException e1) { |
| 428 |
MemoryViewUtil.openError(Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), "", e1); //$NON-NLS-1$ |
435 |
// widgets update require Display |
|
|
436 |
runOnUIThread(new Runnable(){ |
| 437 |
public void run() { |
| 438 |
fGotoAddressBar.handleExpressionStatus(new Status(Status.ERROR, MemoryBrowserPlugin.PLUGIN_ID, |
| 439 |
Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), e1)); |
| 440 |
} |
| 441 |
}); |
| 429 |
} |
442 |
} |
| 430 |
} |
443 |
} |
| 431 |
}.start(); |
444 |
}.start(); |
|
Lines 746-753
Link Here
|
| 746 |
|
759 |
|
| 747 |
tabFolder.setData(KEY_RETRIEVAL, retrieval); |
760 |
tabFolder.setData(KEY_RETRIEVAL, retrieval); |
| 748 |
|
761 |
|
| 749 |
CTabItem item = createTab(tabFolder, 0); |
|
|
| 750 |
populateTabWithRendering(item, retrieval, context, null); |
| 751 |
fContextFolders.put(retrieval, tabFolder); |
762 |
fContextFolders.put(retrieval, tabFolder); |
| 752 |
fStackLayout.topControl = tabFolder; |
763 |
fStackLayout.topControl = tabFolder; |
| 753 |
} |
764 |
} |
|
Lines 831-837
Link Here
|
| 831 |
store.setValue(PREF_DEFAULT_RENDERING, defaultRenderingTypeId); |
842 |
store.setValue(PREF_DEFAULT_RENDERING, defaultRenderingTypeId); |
| 832 |
} |
843 |
} |
| 833 |
|
844 |
|
| 834 |
private void populateTabWithRendering(final CTabItem tab, final IMemoryBlockRetrieval retrieval, Object context, String memorySpaceId) { |
845 |
private void populateTabWithRendering(final CTabItem tab, final IMemoryBlockRetrieval retrieval, Object context, String memorySpaceId, IMemoryBlockExtension block) { |
| 835 |
IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getDefaultRenderingTypeId()); |
846 |
IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getDefaultRenderingTypeId()); |
| 836 |
try { |
847 |
try { |
| 837 |
final IMemoryRendering rendering = type.createRendering(); |
848 |
final IMemoryRendering rendering = type.createRendering(); |
|
Lines 863-870
Link Here
|
| 863 |
|
874 |
|
| 864 |
}; |
875 |
}; |
| 865 |
|
876 |
|
| 866 |
IMemoryBlockExtension block = createMemoryBlock(retrieval, "0", context, memorySpaceId); //$NON-NLS-1$ |
|
|
| 867 |
|
| 868 |
fCurrentContainers.add(container); |
877 |
fCurrentContainers.add(container); |
| 869 |
rendering.init(container, block); |
878 |
rendering.init(container, block); |
| 870 |
rendering.createControl(tab.getParent()); |
879 |
rendering.createControl(tab.getParent()); |
|
Lines 1077-1081
Link Here
|
| 1077 |
} |
1086 |
} |
| 1078 |
} |
1087 |
} |
| 1079 |
} |
1088 |
} |
| 1080 |
|
|
|
| 1081 |
|