diff --git a/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF b/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF index 7a3ceb0f12e..b6c30d5553d 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF +++ b/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-SymbolicName: org.eclipse.cdt.dsf.ui;singleton:=true -Bundle-Version: 2.5.1.qualifier +Bundle-Version: 2.5.100.qualifier Bundle-Activator: org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui;bundle-version="3.5.0", diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/AddressRulerColumn.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/AddressRulerColumn.java index 7c4263ded50..b4c0dbeb56d 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/AddressRulerColumn.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/AddressRulerColumn.java @@ -54,6 +54,7 @@ public class AddressRulerColumn extends DisassemblyRulerColumn setForeground(getColor(DisassemblyPreferenceConstants.ADDRESS_COLOR)); setRadix(prefs.getInt(DisassemblyPreferenceConstants.ADDRESS_RADIX)); setShowRadixPrefix(prefs.getBoolean(DisassemblyPreferenceConstants.SHOW_ADDRESS_RADIX)); + setBackground(getColor(DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR)); setAddressSize(32); } @@ -199,6 +200,9 @@ public class AddressRulerColumn extends DisassemblyRulerColumn computeIndentations(); layout(false); needRedraw = true; + } else if (DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR.equals(property)) { + setBackground(getColor(property)); + needRedraw = true; } if (needRedraw) { redraw(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.java index b3a0a09d9d6..5812994e0a8 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.java @@ -68,6 +68,14 @@ public final class DisassemblyMessages extends NLS { public static String DisassemblyPreferencePage_OpcodeFormat; public static String DisassemblyPreferencePage_OpcodeFormatTooltip; public static String DisassemblyPreferencePage_showRadixTooltip; + public static String DisassemblyPreferencePage_addressColor; + public static String DisassemblyPreferencePage_rulerBackgroundColor; + public static String DisassemblyPreferencePage_errorColor; + public static String DisassemblyPreferencePage_instructionColor; + public static String DisassemblyPreferencePage_sourceColor; + public static String DisassemblyPreferencePage_labelColor; + public static String DisassemblyPreferencePage_codeBytesColor; + public static String DisassemblyPreferencePage_offsetsColor; public static String DisassemblyIPAnnotation_primary; public static String DisassemblyIPAnnotation_secondary; public static String SourceReadingJob_name; diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.properties b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.properties index 189448e0c71..dea56eafa68 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.properties +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyMessages.properties @@ -64,6 +64,14 @@ DisassemblyPreferencePage_radix_hexadecimal=Hexadecimal DisassemblyPreferencePage_OpcodeFormatTooltip=Use this format for the instruction value DisassemblyPreferencePage_OpcodeFormat=Opcode display format: DisassemblyPreferencePage_showRadixTooltip=Show '0x' with hexadecimal addresses +DisassemblyPreferencePage_addressColor=Address color +DisassemblyPreferencePage_codeBytesColor=Code bytes color +DisassemblyPreferencePage_offsetsColor=Offsets color +DisassemblyPreferencePage_rulerBackgroundColor=Ruler background color +DisassemblyPreferencePage_errorColor=Error color +DisassemblyPreferencePage_instructionColor=Instruction color +DisassemblyPreferencePage_sourceColor=Source color +DisassemblyPreferencePage_labelColor=Label color DisassemblyIPAnnotation_primary=Debug Current Instruction Pointer DisassemblyIPAnnotation_secondary=Debug Call Stack diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java index f855d49a4a4..d23e0576b52 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java @@ -725,8 +725,23 @@ public abstract class DisassemblyPart extends WorkbenchPart support.setColumnVisible(desc, newState); } } + } else if (property.equals(DisassemblyPreferenceConstants.ERROR_COLOR)) { + fErrorColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.ERROR_COLOR)); + refreshView(10); + } else if (property.equals(DisassemblyPreferenceConstants.INSTRUCTION_COLOR)) { + fInstructionColor = EditorsUI.getSharedTextColors().getColor(PreferenceConverter + .getColor(getPreferenceStore(), DisassemblyPreferenceConstants.INSTRUCTION_COLOR)); + refreshView(10); + } else if (property.equals(DisassemblyPreferenceConstants.SOURCE_COLOR)) { + fSourceColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.SOURCE_COLOR)); + refreshView(10); + } else if (property.equals(DisassemblyPreferenceConstants.LABEL_COLOR)) { + fLabelColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.LABEL_COLOR)); + refreshView(10); } - } /** @@ -741,7 +756,7 @@ public abstract class DisassemblyPart extends WorkbenchPart parent.setLayout(layout); fVerticalRuler = createVerticalRuler(); int styles = SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION; - fViewer = new DisassemblyViewer(parent, fVerticalRuler, getOverviewRuler(), true, styles); + fViewer = new DisassemblyViewer(parent, fVerticalRuler, getOverviewRuler(), true, styles, getPreferenceStore()); SourceViewerConfiguration sourceViewerConfig = new DisassemblyViewerConfiguration(this); fViewer.addTextPresentationListener(this); fViewer.configure(sourceViewerConfig); @@ -785,10 +800,14 @@ public abstract class DisassemblyPart extends WorkbenchPart } }); - fErrorColor = getSharedColors().getColor(new RGB(96, 0, 0)); - fInstructionColor = getSharedColors().getColor(new RGB(0, 0, 96)); - fSourceColor = getSharedColors().getColor(new RGB(64, 0, 80)); - fLabelColor = getSharedColors().getColor(new RGB(0, 0, 96)); + fErrorColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.ERROR_COLOR)); + fInstructionColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.INSTRUCTION_COLOR)); + fSourceColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.SOURCE_COLOR)); + fLabelColor = EditorsUI.getSharedTextColors().getColor( + PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.LABEL_COLOR)); IVerticalRuler ruler = getVerticalRuler(); if (ruler instanceof CompositeRuler) { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/FunctionOffsetRulerColumn.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/FunctionOffsetRulerColumn.java index 1e314e637a3..9f67aae49cb 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/FunctionOffsetRulerColumn.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/FunctionOffsetRulerColumn.java @@ -37,6 +37,7 @@ public class FunctionOffsetRulerColumn extends DisassemblyRulerColumn { public FunctionOffsetRulerColumn() { super(); setForeground(getColor(DisassemblyPreferenceConstants.FUNCTION_OFFSETS_COLOR)); + setBackground(getColor(DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR)); } /* @@ -78,6 +79,9 @@ public class FunctionOffsetRulerColumn extends DisassemblyRulerColumn { if (DisassemblyPreferenceConstants.FUNCTION_OFFSETS_COLOR.equals(property)) { setForeground(getColor(property)); needRedraw = true; + } else if (DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR.equals(property)) { + setBackground(getColor(property)); + needRedraw = true; } if (needRedraw) { redraw(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/OpcodeRulerColumn.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/OpcodeRulerColumn.java index a62c300e2d2..43a09856829 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/OpcodeRulerColumn.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/OpcodeRulerColumn.java @@ -40,6 +40,7 @@ public class OpcodeRulerColumn extends DisassemblyRulerColumn { */ public OpcodeRulerColumn() { super(); + setBackground(getColor(DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR)); setForeground(getColor(DisassemblyPreferenceConstants.CODE_BYTES_COLOR)); setRadix(getPreferenceStore().getInt(DisassemblyPreferenceConstants.OPCODE_RADIX)); } @@ -120,6 +121,9 @@ public class OpcodeRulerColumn extends DisassemblyRulerColumn { setRadix(store.getInt(property)); layout(false); needRedraw = true; + } else if (DisassemblyPreferenceConstants.RULER_BACKGROUND_COLOR.equals(property)) { + setBackground(getColor(property)); + needRedraw = true; } if (needRedraw) { redraw(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferenceConstants.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferenceConstants.java index e8e0544c03b..44687f1666f 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferenceConstants.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferenceConstants.java @@ -41,6 +41,11 @@ public class DisassemblyPreferenceConstants { public static final String AVOID_READ_BEFORE_PC = "disassembly.avoidReadBeforePC"; //$NON-NLS-1$ public static final String TRACK_EXPRESSION = "disassembly.trackExpression"; //$NON-NLS-1$ public static final String SYNC_ACTIVE_CONTEXT = "disassembly.syncActiveContext"; //$NON-NLS-1$ + public static final String RULER_BACKGROUND_COLOR = "disassembly.rulerBackgroundColor"; //$NON-NLS-1$ + public static final String ERROR_COLOR = "disassembly.errorColor"; //$NON-NLS-1$ + public static final String INSTRUCTION_COLOR = "disassembly.instructionColor"; //$NON-NLS-1$ + public static final String SOURCE_COLOR = "disassembly.sourceColor"; //$NON-NLS-1$ + public static final String LABEL_COLOR = "disassembly.labelColor"; //$NON-NLS-1$ /** * @@ -66,6 +71,11 @@ public class DisassemblyPreferenceConstants { PreferenceConverter.setDefault(store, ADDRESS_COLOR, new RGB(0, 96, 0)); PreferenceConverter.setDefault(store, FUNCTION_OFFSETS_COLOR, new RGB(96, 0, 0)); PreferenceConverter.setDefault(store, CODE_BYTES_COLOR, new RGB(96, 0, 0)); + PreferenceConverter.setDefault(store, RULER_BACKGROUND_COLOR, new RGB(255, 255, 255)); + PreferenceConverter.setDefault(store, ERROR_COLOR, new RGB(96, 0, 0)); + PreferenceConverter.setDefault(store, INSTRUCTION_COLOR, new RGB(0, 0, 96)); + PreferenceConverter.setDefault(store, SOURCE_COLOR, new RGB(64, 0, 80)); + PreferenceConverter.setDefault(store, LABEL_COLOR, new RGB(0, 0, 96)); } public static class Initializer extends AbstractPreferenceInitializer { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferencePage.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferencePage.java index f8e509309be..b63e96698ff 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferencePage.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/preferences/DisassemblyPreferencePage.java @@ -21,8 +21,11 @@ import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyMessages; import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.IDisassemblyHelpContextIds; import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin; import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.preference.ColorSelector; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; +import org.eclipse.jface.resource.DataFormatException; +import org.eclipse.jface.resource.StringConverter; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -46,6 +49,7 @@ public class DisassemblyPreferencePage extends PreferencePage implements IWorkbe private List