From 892a7226e1fc8254fdf244e7897f9c25c1071eec Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Thu, 1 May 2008 22:20:58 +0000 Subject: [PATCH] [226005] Fixed the Update Mode sub-menu and added persistance to the update mode selection. --- .../plugin.properties | 15 + .../org.eclipse.dd.dsf.debug.ui/plugin.xml | 421 ++++++++++-------- .../actions/AutomaticUpdatePolicyAction.java | 23 + .../BreakpointHitUpdatePolicyAction.java | 23 + .../actions/ManualUpdatePolicyAction.java | 23 + .../actions/SelectUpdatePolicyAction.java | 109 ++--- .../update/AbstractCachingVMProvider.java | 26 +- 7 files changed, 368 insertions(+), 272 deletions(-) create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/AutomaticUpdatePolicyAction.java create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/BreakpointHitUpdatePolicyAction.java create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/ManualUpdatePolicyAction.java diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties index 20d921a68b9..98a34748e9b 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties +++ b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties @@ -25,4 +25,19 @@ command.gotoSymbol.description=Navigate to symbolic address commandContext.name= In DSF Disassembly commandContext.description= When debugging in assembly mode +# actions action.breakpointProperties.label = Breakpoint Properties... + +action.refresh.label = Refresh + +menu.updatePolicy = Update Policy +action.breakpointHitUpdatePolicy.label = Breakpoint Hit +action.manualUpdatePolicy.label = Manual +action.automaticUpdatePolicy.label = Automatic + +menu.numberFormat = Number Format +action.setDefaultNumberFormatHex.label = Hex +action.setDefaultNumberFormatDecimal.label = Decimal +action.setDefaultNumberFormatOctal.label = Octal +action.setDefaultNumberFormatBinary.label = Binary +action.setDefaultNumberFormatNatural.label = Natural \ No newline at end of file diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml index 21b6f155b7c..655ec12ec88 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml +++ b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml @@ -50,19 +50,10 @@ verticalRulerPreferenceValue="true"> + - - - - + @@ -70,10 +61,174 @@ class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions.RefreshActionDelegate" icon="icons/refresh.gif" id="org.eclipse.dd.dsf.debug.ui.viewmodel.update.actions.Refresh" - label="Refresh" + label="%action.refresh.label" toolbarPath="additions"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -81,185 +236,87 @@ class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions.RefreshActionDelegate" icon="icons/refresh.gif" id="org.eclipse.dd.dsf.debug.ui.viewmodel.update.actions.Refresh" - label="Refresh" + label="%action.refresh.label" toolbarPath="additions"> - - + + + class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.numberformat.actions.SetDefaultFormatHex" + helpContextId="org.eclipse.dd.dsf.debug.ui.NumberFormat_Hex_helpContext" + id="org.eclipse.dd.dsf.debug.ui.NumberFormat_Hex" + label="%action.setDefaultNumberFormatHex.label" + menubarPath="numberFormat/additions" + style="radio"> - - + class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.numberformat.actions.SetDefaultFormatDecimal" + helpContextId="org.eclipse.dd.dsf.debug.ui.NumberFormat_Decimal_helpContext" + id="org.eclipse.dd.dsf.debug.ui.NumberFormat_Decimal" + label="%action.setDefaultNumberFormatDecimal.label" + menubarPath="numberFormat/additions" + style="radio"> + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fRootMarkers = new HashMap(); @@ -238,17 +236,7 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa fCacheListHead.fNext = fCacheListHead; fCacheListHead.fPrevious = fCacheListHead; - String updateModeId = (String)presentationContext.getProperty(SELECTED_UPDATE_MODE); - if (updateModeId != null) { - for (IVMUpdatePolicy updateMode : getAvailableUpdatePolicies()) { - if (updateMode.getID().equals(updateModeId)) { - fCurrentUpdatePolicy = updateMode; - } - } - } - fAvailableUpdatePolicies = createUpdateModes(); - fCurrentUpdatePolicy = fAvailableUpdatePolicies[0]; } protected IVMUpdatePolicy[] createUpdateModes() { @@ -260,11 +248,21 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa } public IVMUpdatePolicy getActiveUpdatePolicy() { - return fCurrentUpdatePolicy; + String updateModeId = (String)getPresentationContext().getProperty(SELECTED_UPDATE_MODE); + if (updateModeId != null) { + for (IVMUpdatePolicy updateMode : getAvailableUpdatePolicies()) { + if (updateMode.getID().equals(updateModeId)) { + return updateMode; + } + } + } + + // Default to the first one. + return getAvailableUpdatePolicies()[0]; } public void setActiveUpdatePolicy(IVMUpdatePolicy updatePolicy) { - fCurrentUpdatePolicy = updatePolicy; + getPresentationContext().setProperty(SELECTED_UPDATE_MODE, updatePolicy.getID()); } public void refresh() {