mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
GP-0: Fix Debugger theming bugs
This commit is contained in:
parent
45640e9bc6
commit
1594610376
8 changed files with 30 additions and 27 deletions
|
@ -274,7 +274,7 @@ public interface DebuggerResources {
|
||||||
String BOOKMARK_CATEGORY_MEMORY_READ_ERROR = "Debugger Memory Read Error";
|
String BOOKMARK_CATEGORY_MEMORY_READ_ERROR = "Debugger Memory Read Error";
|
||||||
|
|
||||||
String OPTION_NAME_COLORS_STALE_MEMORY = "Colors.Stale Memory";
|
String OPTION_NAME_COLORS_STALE_MEMORY = "Colors.Stale Memory";
|
||||||
Color DEFAULT_COLOR_BACKGROUND_STALE = new GColor("color.bg.debugger.plugin.resources.stale");
|
GColor DEFAULT_COLOR_BACKGROUND_STALE = new GColor("color.bg.debugger.plugin.resources.stale");
|
||||||
|
|
||||||
String OPTION_NAME_COLORS_ERROR_MEMORY = "Colors.Error Memory";
|
String OPTION_NAME_COLORS_ERROR_MEMORY = "Colors.Error Memory";
|
||||||
Color DEFAULT_COLOR_BACKGROUND_ERROR = new GColor("color.bg.debugger.plugin.resources.error");
|
Color DEFAULT_COLOR_BACKGROUND_ERROR = new GColor("color.bg.debugger.plugin.resources.error");
|
||||||
|
|
|
@ -113,7 +113,7 @@ public class DebuggerTrackLocationTrait {
|
||||||
|
|
||||||
protected class TrackSelectionGenerator implements SelectionGenerator {
|
protected class TrackSelectionGenerator implements SelectionGenerator {
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
||||||
private Color trackingColor;
|
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AutoOptions.Wiring autoOptionsWiring;
|
private final AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public abstract class DebuggerTrackedRegisterBackgroundColorModel implements Bac
|
||||||
|
|
||||||
// TODO: Seems I should at least rename this option
|
// TODO: Seems I should at least rename this option
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
||||||
Color trackingColor;
|
Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AutoOptions.Wiring autoOptionsWiring;
|
private final AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
|
|
@ -248,7 +248,7 @@ public class DebuggerListingProvider extends CodeViewerProvider {
|
||||||
private final AutoService.Wiring autoServiceWiring;
|
private final AutoService.Wiring autoServiceWiring;
|
||||||
|
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
|
||||||
private Color trackingColor;
|
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AutoOptions.Wiring autoOptionsWiring;
|
private final AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
|
|
@ -42,10 +42,10 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
|
||||||
private TraceMemoryManager memory;
|
private TraceMemoryManager memory;
|
||||||
|
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_ERROR_MEMORY)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_ERROR_MEMORY)
|
||||||
private Color errorColor;
|
private Color errorColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_ERROR;;
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
||||||
private Color unknownColor;
|
private GColor unknownColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_STALE;
|
||||||
private Color unknownBlendedColor;
|
private Color unknownBlendedColor = unknownColor.withAlpha(127);
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AutoOptions.Wiring autoOptionsWiring;
|
private final AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
|
||||||
|
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
||||||
protected void setUnknownColor(Color unknownColor) {
|
protected void setUnknownColor(Color unknownColor) {
|
||||||
computeUnknownBlendedColor(unknownColor, defaultBackgroundColor);
|
// computeUnknownBlendedColor(unknownColor, defaultBackgroundColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Color getUnknownColor(Address address) {
|
protected Color getUnknownColor(Address address) {
|
||||||
|
@ -117,7 +117,7 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
|
||||||
@Override
|
@Override
|
||||||
public void setDefaultBackgroundColor(Color c) {
|
public void setDefaultBackgroundColor(Color c) {
|
||||||
defaultBackgroundColor = c;
|
defaultBackgroundColor = c;
|
||||||
computeUnknownBlendedColor(unknownColor, c);
|
// computeUnknownBlendedColor(unknownColor, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -115,9 +115,9 @@ public class DebuggerMemoryByteViewerComponent extends ByteViewerComponent
|
||||||
private final DebuggerMemoryBytesPanel panel;
|
private final DebuggerMemoryBytesPanel panel;
|
||||||
|
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_ERROR_MEMORY)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_ERROR_MEMORY)
|
||||||
private Color errorColor;
|
private Color errorColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_ERROR;
|
||||||
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
|
||||||
private Color unknownColor;
|
private Color unknownColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_STALE;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AutoOptions.Wiring autoOptionsWiring;
|
private final AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ import ghidra.app.plugin.core.byteviewer.*;
|
||||||
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
|
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
|
||||||
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
|
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
|
||||||
import ghidra.app.plugin.core.debug.event.*;
|
import ghidra.app.plugin.core.debug.event.*;
|
||||||
|
import ghidra.app.plugin.core.debug.gui.DebuggerResources;
|
||||||
import ghidra.app.plugin.core.debug.gui.DebuggerResources.NewMemoryAction;
|
import ghidra.app.plugin.core.debug.gui.DebuggerResources.NewMemoryAction;
|
||||||
import ghidra.app.plugin.core.debug.gui.action.LocationTrackingSpec;
|
import ghidra.app.plugin.core.debug.gui.action.LocationTrackingSpec;
|
||||||
import ghidra.app.plugin.core.debug.gui.action.NoneLocationTrackingSpec;
|
import ghidra.app.plugin.core.debug.gui.action.NoneLocationTrackingSpec;
|
||||||
|
@ -82,11 +83,11 @@ public class DebuggerMemoryBytesPlugin
|
||||||
private AutoService.Wiring autoServiceWiring;
|
private AutoService.Wiring autoServiceWiring;
|
||||||
|
|
||||||
@AutoOptionConsumed(name = OPTION_NAME_COLORS_STALE_MEMORY)
|
@AutoOptionConsumed(name = OPTION_NAME_COLORS_STALE_MEMORY)
|
||||||
private Color staleMemoryColor;
|
private Color staleMemoryColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_STALE;
|
||||||
@AutoOptionConsumed(name = OPTION_NAME_COLORS_ERROR_MEMORY)
|
@AutoOptionConsumed(name = OPTION_NAME_COLORS_ERROR_MEMORY)
|
||||||
private Color errorMemoryColor;
|
private Color errorMemoryColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_ERROR;
|
||||||
@AutoOptionConsumed(name = OPTION_NAME_COLORS_TRACKING_MARKERS)
|
@AutoOptionConsumed(name = OPTION_NAME_COLORS_TRACKING_MARKERS)
|
||||||
private Color trackingColor;
|
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private AutoOptions.Wiring autoOptionsWiring;
|
private AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
import docking.action.DockingAction;
|
import docking.action.DockingAction;
|
||||||
import docking.widgets.table.*;
|
import docking.widgets.table.*;
|
||||||
import docking.widgets.table.DefaultEnumeratedColumnTableModel.EnumeratedTableColumn;
|
import docking.widgets.table.DefaultEnumeratedColumnTableModel.EnumeratedTableColumn;
|
||||||
|
import generic.theme.GColor;
|
||||||
import ghidra.GhidraOptions;
|
import ghidra.GhidraOptions;
|
||||||
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
|
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
|
||||||
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
|
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
|
||||||
|
@ -551,20 +552,20 @@ public class DebuggerPcodeStepperProvider extends ComponentProviderAdapter {
|
||||||
help = @HelpInfo(anchor = "colors"))
|
help = @HelpInfo(anchor = "colors"))
|
||||||
private Color counterColor = DebuggerResources.DEFAULT_COLOR_PCODE_COUNTER;
|
private Color counterColor = DebuggerResources.DEFAULT_COLOR_PCODE_COUNTER;
|
||||||
|
|
||||||
private Color backgroundColor;
|
private Color backgroundColor = new GColor("color.bg.listing");
|
||||||
private Color cursorColor;
|
private Color cursorColor = new GColor("color.bg.currentline.listing");
|
||||||
|
|
||||||
private Color addressColor;
|
private Color addressColor = new GColor("color.fg.listing.address");
|
||||||
private Color registerColor;
|
private Color registerColor = new GColor("color.fg.listing.register");
|
||||||
private Color scalarColor;
|
private Color scalarColor = new GColor("color.fg.listing.constant");
|
||||||
private Color localColor;
|
private Color localColor = new GColor("color.fg.listing.label.local");
|
||||||
private Color mnemonicColor;
|
private Color mnemonicColor = new GColor("color.fg.listing.mnemonic");
|
||||||
private Color unimplColor;
|
private Color unimplColor = new GColor("color.fg.listing.mnemonic.unimplemented");
|
||||||
private Color separatorColor;
|
private Color separatorColor = new GColor("color.fg.listing.separator");
|
||||||
private Color lineLabelColor;
|
private Color lineLabelColor = new GColor("color.fg.listing.pcode.label");
|
||||||
private Color spaceColor;
|
private Color spaceColor = new GColor("color.fg.listing.pcode.space");
|
||||||
private Color rawColor;
|
private Color rawColor = new GColor("color.fg.listing.pcode.varnode");
|
||||||
private Color useropColor;
|
private Color useropColor = new GColor("color.fg.listing.pcode.userop");
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private AutoOptions.Wiring autoOptionsWiring;
|
private AutoOptions.Wiring autoOptionsWiring;
|
||||||
|
@ -639,6 +640,7 @@ public class DebuggerPcodeStepperProvider extends ComponentProviderAdapter {
|
||||||
name = ADDRESS_COLOR)
|
name = ADDRESS_COLOR)
|
||||||
private void setAddressColor(Color addressColor) {
|
private void setAddressColor(Color addressColor) {
|
||||||
this.addressColor = addressColor;
|
this.addressColor = addressColor;
|
||||||
|
// TODO: I'll need a callback on color changes if I keep this style approach
|
||||||
recomputeStyle();
|
recomputeStyle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue