GP-1625: Improve consistency of DebuggerMemoryBytesProvider

This commit is contained in:
Dan 2024-03-08 12:36:17 -05:00
parent 7d189001d6
commit 8e3f97056b
9 changed files with 131 additions and 29 deletions

View file

@ -57,7 +57,7 @@ public abstract class AbstractByteViewerPlugin<P extends ProgramByteViewerCompon
public P createNewDisconnectedProvider() {
P newProvider = createProvider(false);
disconnectedProviders.add(newProvider);
addProvider(newProvider);
tool.showComponentProvider(newProvider, true);
return newProvider;
}

View file

@ -90,7 +90,7 @@ public class ProgramByteViewerComponentProvider extends ByteViewerComponentProvi
}
decorationComponent = new DecoratorPanel(panel, isConnected);
clipboardProvider = new ByteViewerClipboardProvider(this, tool);
clipboardProvider = newClipboardProvider();
addToTool();
createProgramActions();
@ -98,6 +98,10 @@ public class ProgramByteViewerComponentProvider extends ByteViewerComponentProvi
registerNavigatable();
}
protected ByteViewerClipboardProvider newClipboardProvider() {
return new ByteViewerClipboardProvider(this, tool);
}
public void createProgramActions() {
cloneByteViewerAction = new CloneByteViewerAction();
tool.addLocalAction(this, cloneByteViewerAction);
@ -343,11 +347,11 @@ public class ProgramByteViewerComponentProvider extends ByteViewerComponentProvi
@Override
public Icon getIcon() {
if (isConnected()) {
return super.getIcon();
return getBaseIcon();
}
if (navigatableIcon == null) {
Icon primaryIcon = super.getIcon();
Icon primaryIcon = getBaseIcon();
navigatableIcon = NavigatableIconFactory.createSnapshotOverlayIcon(primaryIcon);
}
return navigatableIcon;