GP-0: Fix Debugger theming bugs

This commit is contained in:
Dan 2022-11-16 12:02:49 -05:00
parent 45640e9bc6
commit 1594610376
8 changed files with 30 additions and 27 deletions

View file

@ -274,7 +274,7 @@ public interface DebuggerResources {
String BOOKMARK_CATEGORY_MEMORY_READ_ERROR = "Debugger Memory Read Error";
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";
Color DEFAULT_COLOR_BACKGROUND_ERROR = new GColor("color.bg.debugger.plugin.resources.error");

View file

@ -113,7 +113,7 @@ public class DebuggerTrackLocationTrait {
protected class TrackSelectionGenerator implements SelectionGenerator {
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
private Color trackingColor;
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;;
@SuppressWarnings("unused")
private final AutoOptions.Wiring autoOptionsWiring;

View file

@ -35,7 +35,7 @@ public abstract class DebuggerTrackedRegisterBackgroundColorModel implements Bac
// TODO: Seems I should at least rename this option
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
Color trackingColor;
Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
@SuppressWarnings("unused")
private final AutoOptions.Wiring autoOptionsWiring;

View file

@ -248,7 +248,7 @@ public class DebuggerListingProvider extends CodeViewerProvider {
private final AutoService.Wiring autoServiceWiring;
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_TRACKING_MARKERS)
private Color trackingColor;
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
@SuppressWarnings("unused")
private final AutoOptions.Wiring autoOptionsWiring;

View file

@ -42,10 +42,10 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
private TraceMemoryManager 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)
private Color unknownColor;
private Color unknownBlendedColor;
private GColor unknownColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_STALE;
private Color unknownBlendedColor = unknownColor.withAlpha(127);
@SuppressWarnings("unused")
private final AutoOptions.Wiring autoOptionsWiring;
@ -81,7 +81,7 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
@AutoOptionConsumed(name = DebuggerResources.OPTION_NAME_COLORS_STALE_MEMORY)
protected void setUnknownColor(Color unknownColor) {
computeUnknownBlendedColor(unknownColor, defaultBackgroundColor);
// computeUnknownBlendedColor(unknownColor, defaultBackgroundColor);
}
protected Color getUnknownColor(Address address) {
@ -117,7 +117,7 @@ public class MemoryStateListingBackgroundColorModel implements ListingBackground
@Override
public void setDefaultBackgroundColor(Color c) {
defaultBackgroundColor = c;
computeUnknownBlendedColor(unknownColor, c);
// computeUnknownBlendedColor(unknownColor, c);
}
@Override

View file

@ -115,9 +115,9 @@ public class DebuggerMemoryByteViewerComponent extends ByteViewerComponent
private final DebuggerMemoryBytesPanel panel;
@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)
private Color unknownColor;
private Color unknownColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_STALE;
@SuppressWarnings("unused")
private final AutoOptions.Wiring autoOptionsWiring;

View file

@ -32,6 +32,7 @@ import ghidra.app.plugin.core.byteviewer.*;
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
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.action.LocationTrackingSpec;
import ghidra.app.plugin.core.debug.gui.action.NoneLocationTrackingSpec;
@ -82,11 +83,11 @@ public class DebuggerMemoryBytesPlugin
private AutoService.Wiring autoServiceWiring;
@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)
private Color errorMemoryColor;
private Color errorMemoryColor = DebuggerResources.DEFAULT_COLOR_BACKGROUND_ERROR;
@AutoOptionConsumed(name = OPTION_NAME_COLORS_TRACKING_MARKERS)
private Color trackingColor;
private Color trackingColor = DebuggerResources.DEFAULT_COLOR_REGISTER_MARKERS;
@SuppressWarnings("unused")
private AutoOptions.Wiring autoOptionsWiring;

View file

@ -33,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import docking.action.DockingAction;
import docking.widgets.table.*;
import docking.widgets.table.DefaultEnumeratedColumnTableModel.EnumeratedTableColumn;
import generic.theme.GColor;
import ghidra.GhidraOptions;
import ghidra.app.plugin.core.debug.DebuggerCoordinates;
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
@ -551,20 +552,20 @@ public class DebuggerPcodeStepperProvider extends ComponentProviderAdapter {
help = @HelpInfo(anchor = "colors"))
private Color counterColor = DebuggerResources.DEFAULT_COLOR_PCODE_COUNTER;
private Color backgroundColor;
private Color cursorColor;
private Color backgroundColor = new GColor("color.bg.listing");
private Color cursorColor = new GColor("color.bg.currentline.listing");
private Color addressColor;
private Color registerColor;
private Color scalarColor;
private Color localColor;
private Color mnemonicColor;
private Color unimplColor;
private Color separatorColor;
private Color lineLabelColor;
private Color spaceColor;
private Color rawColor;
private Color useropColor;
private Color addressColor = new GColor("color.fg.listing.address");
private Color registerColor = new GColor("color.fg.listing.register");
private Color scalarColor = new GColor("color.fg.listing.constant");
private Color localColor = new GColor("color.fg.listing.label.local");
private Color mnemonicColor = new GColor("color.fg.listing.mnemonic");
private Color unimplColor = new GColor("color.fg.listing.mnemonic.unimplemented");
private Color separatorColor = new GColor("color.fg.listing.separator");
private Color lineLabelColor = new GColor("color.fg.listing.pcode.label");
private Color spaceColor = new GColor("color.fg.listing.pcode.space");
private Color rawColor = new GColor("color.fg.listing.pcode.varnode");
private Color useropColor = new GColor("color.fg.listing.pcode.userop");
@SuppressWarnings("unused")
private AutoOptions.Wiring autoOptionsWiring;
@ -639,6 +640,7 @@ public class DebuggerPcodeStepperProvider extends ComponentProviderAdapter {
name = ADDRESS_COLOR)
private void setAddressColor(Color addressColor) {
this.addressColor = addressColor;
// TODO: I'll need a callback on color changes if I keep this style approach
recomputeStyle();
}