From a8c374cdb97cadca74bd7e1c6489e8eb10dd54cc Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 24 Sep 2013 19:13:53 +0200 Subject: [PATCH] =?UTF-8?q?XSuspendPolicyPanel=20=E2=80=94=20"Make=20defau?= =?UTF-8?q?lt"=20(requires=20for=20new=20JavaBreakpointType)=20remove=20un?= =?UTF-8?q?used=20methods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AnyExceptionBreakpointFactory.java | 12 --- .../ui/breakpoints/BreakpointFactory.java | 12 --- .../ExceptionBreakpointFactory.java | 47 ---------- .../breakpoints/FieldBreakpointFactory.java | 21 ----- .../ui/breakpoints/LineBreakpointFactory.java | 22 +---- .../breakpoints/MethodBreakpointFactory.java | 26 ++---- .../ide/util/PropertiesComponent.java | 5 ++ .../ide/util/PropertiesComponentImpl.java | 10 +++ .../src/messages/XDebuggerBundle.properties | 12 +-- .../breakpoints/ui/XSuspendPolicyPanel.form | 24 +++-- .../breakpoints/ui/XSuspendPolicyPanel.java | 90 ++++++++++++++++--- 11 files changed, 125 insertions(+), 156 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/AnyExceptionBreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/AnyExceptionBreakpointFactory.java index 79398de4991e..f595c1d81c65 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/AnyExceptionBreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/AnyExceptionBreakpointFactory.java @@ -15,13 +15,10 @@ */ package com.intellij.debugger.ui.breakpoints; -import com.intellij.debugger.ui.breakpoints.actions.BreakpointPanelAction; import com.intellij.icons.AllIcons; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Key; import org.jdom.Element; -import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -57,20 +54,11 @@ public class AnyExceptionBreakpointFactory extends BreakpointFactory{ return new ExceptionBreakpointPropertiesPanel(project, compact); } - @Override - protected BreakpointPanelAction[] createBreakpointPanelActions(Project project, DialogWrapper parentDialog) { - return new BreakpointPanelAction[0]; //To change body of implemented methods use File | Settings | File Templates. - } - @Override public boolean breakpointCanBeRemoved(Breakpoint breakpoint) { return false; } - public @Nullable BreakpointPanel createBreakpointPanel(Project project, DialogWrapper parentDialog) { - return null; - } - public Key getBreakpointCategory() { return AnyExceptionBreakpoint.ANY_EXCEPTION_BREAKPOINT; } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointFactory.java index 6389fdd1693e..2077b56dc34e 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointFactory.java @@ -15,11 +15,9 @@ */ package com.intellij.debugger.ui.breakpoints; -import com.intellij.debugger.ui.breakpoints.actions.BreakpointPanelAction; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Key; import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointItem; import org.jdom.Element; @@ -42,14 +40,6 @@ public abstract class BreakpointFactory { public abstract Key getBreakpointCategory(); - public BreakpointPanel createBreakpointPanel(final Project project, final DialogWrapper parentDialog) { - BreakpointPanel panel = - new BreakpointPanel(project, createBreakpointPropertiesPanel(project, false), createBreakpointPanelActions(project, parentDialog), - getBreakpointCategory(), getDisplayName(), getHelpID()); - configureBreakpointPanel(panel); - return panel; - } - public abstract Icon getIcon(); public abstract Icon getDisabledIcon(); @@ -75,8 +65,6 @@ public abstract class BreakpointFactory { @Nullable public abstract BreakpointPropertiesPanel createBreakpointPropertiesPanel(Project project, boolean compact); - protected abstract BreakpointPanelAction[] createBreakpointPanelActions(Project project, DialogWrapper parentDialog); - @Nullable public Breakpoint addBreakpoint(Project project) { return null; diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpointFactory.java index f1742f00ad89..465a96828347 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpointFactory.java @@ -19,12 +19,10 @@ import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.DebuggerManagerEx; import com.intellij.debugger.HelpID; import com.intellij.debugger.engine.JVMNameUtil; -import com.intellij.debugger.ui.breakpoints.actions.*; import com.intellij.icons.AllIcons; import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Key; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; @@ -72,51 +70,6 @@ public class ExceptionBreakpointFactory extends BreakpointFactory { return new ExceptionBreakpointPropertiesPanel(project, compact); } - @Override - protected BreakpointPanelAction[] createBreakpointPanelActions(final Project project, DialogWrapper parentDialog) { - return new BreakpointPanelAction[]{ - new SwitchViewAction(), - new AddAction(this, project), - new RemoveAction(project) { - public void update() { - super.update(); - if (getButton().isEnabled()) { - Breakpoint[] selectedBreakpoints = getPanel().getSelectedBreakpoints(); - for (Breakpoint bp : selectedBreakpoints) { - if (bp instanceof AnyExceptionBreakpoint) { - getButton().setEnabled(false); - } - } - } - } - }, new ToggleGroupByClassesAction(), new ToggleFlattenPackagesAction(),}; - } - - public BreakpointPanel createBreakpointPanel(final Project project, final DialogWrapper parentDialog) { - BreakpointPanel panel = - new BreakpointPanel(project, createBreakpointPropertiesPanel(project, false), createBreakpointPanelActions(project, parentDialog), - getBreakpointCategory(), getDisplayName(), getHelpID()) { - public void resetBreakpoints() { - super.resetBreakpoints(); - Breakpoint[] breakpoints = getBreakpointManager().getBreakpoints(getBreakpointCategory()); - final AnyExceptionBreakpoint anyExceptionBreakpoint = - DebuggerManagerEx.getInstanceEx(project).getBreakpointManager().getAnyExceptionBreakpoint(); - boolean found = false; - for (Breakpoint breakpoint : breakpoints) { - if (breakpoint.equals(anyExceptionBreakpoint)) { - found = true; - break; - } - } - if (!found) { - insertBreakpointAt(anyExceptionBreakpoint, 0); - } - } - }; - configureBreakpointPanel(panel); - return panel; - } - public Key getBreakpointCategory() { return ExceptionBreakpoint.CATEGORY; } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpointFactory.java index 496e01313621..18d30f74b2d1 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpointFactory.java @@ -19,11 +19,9 @@ import com.intellij.CommonBundle; import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.DebuggerManagerEx; import com.intellij.debugger.HelpID; -import com.intellij.debugger.ui.breakpoints.actions.*; import com.intellij.icons.AllIcons; import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Ref; @@ -32,7 +30,6 @@ import com.intellij.psi.search.GlobalSearchScope; import org.jdom.Element; import javax.swing.*; -import java.awt.event.ActionEvent; /** * @author Eugene Zhuravlev @@ -71,24 +68,6 @@ public class FieldBreakpointFactory extends BreakpointFactory{ return new FieldBreakpointPropertiesPanel(project, compact); } - @Override - protected BreakpointPanelAction[] createBreakpointPanelActions(final Project project, final DialogWrapper parentDialog) { - return new BreakpointPanelAction[] { - new SwitchViewAction(), - new AddAction(this, project), - new GotoSourceAction(project) { - public void actionPerformed(ActionEvent e) { - super.actionPerformed(e); - parentDialog.close(DialogWrapper.OK_EXIT_CODE); - } - }, - new ViewSourceAction(project), - new RemoveAction(project), - new ToggleGroupByClassesAction(), - new ToggleFlattenPackagesAction(), - }; - } - public Key getBreakpointCategory() { return FieldBreakpoint.CATEGORY; } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpointFactory.java index dede7de736de..0042074dc798 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpointFactory.java @@ -17,29 +17,29 @@ package com.intellij.debugger.ui.breakpoints; import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.HelpID; -import com.intellij.debugger.ui.breakpoints.actions.*; import com.intellij.icons.AllIcons; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Key; import org.jdom.Element; import javax.swing.*; -import java.awt.event.ActionEvent; /** * @author Eugene Zhuravlev * Date: Apr 26, 2005 */ public class LineBreakpointFactory extends BreakpointFactory { + @Override public Breakpoint createBreakpoint(Project project, final Element element) { return new LineBreakpoint(project); } + @Override public Icon getIcon() { return AllIcons.Debugger.Db_set_breakpoint; } + @Override public Icon getDisabledIcon() { return AllIcons.Debugger.Db_disabled_breakpoint; } @@ -60,22 +60,6 @@ public class LineBreakpointFactory extends BreakpointFactory { } @Override - protected BreakpointPanelAction[] createBreakpointPanelActions(Project project, final DialogWrapper parentDialog) { - return new BreakpointPanelAction[]{new SwitchViewAction(), - new GotoSourceAction(project) { - public void actionPerformed(ActionEvent e) { - super.actionPerformed(e); - parentDialog.close(DialogWrapper.OK_EXIT_CODE); - } - }, - new ViewSourceAction(project), - new RemoveAction(project), - new ToggleGroupByMethodsAction(), - new ToggleGroupByClassesAction(), - new ToggleFlattenPackagesAction(), - }; - } - public Key getBreakpointCategory() { return LineBreakpoint.CATEGORY; } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpointFactory.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpointFactory.java index c2ad3dc3f1be..2574e224efbd 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpointFactory.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpointFactory.java @@ -18,29 +18,29 @@ package com.intellij.debugger.ui.breakpoints; import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.DebuggerManagerEx; import com.intellij.debugger.HelpID; -import com.intellij.debugger.ui.breakpoints.actions.*; import com.intellij.icons.AllIcons; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Key; import org.jdom.Element; import javax.swing.*; -import java.awt.event.ActionEvent; /** * @author Eugene Zhuravlev * Date: Apr 26, 2005 */ public class MethodBreakpointFactory extends BreakpointFactory{ + @Override public Breakpoint createBreakpoint(Project project, final Element element) { return element.getAttributeValue(WildcardMethodBreakpoint.JDOM_LABEL) != null? new WildcardMethodBreakpoint(project) : new MethodBreakpoint(project); } + @Override public Icon getIcon() { return AllIcons.Debugger.Db_method_breakpoint; } + @Override public Icon getDisabledIcon() { return AllIcons.Debugger.Db_disabled_method_breakpoint; } @@ -60,30 +60,13 @@ public class MethodBreakpointFactory extends BreakpointFactory{ return new MethodBreakpointPropertiesPanel(project, compact); } - @Override - protected BreakpointPanelAction[] createBreakpointPanelActions(Project project, final DialogWrapper parentDialog) { - return new BreakpointPanelAction[]{ - new SwitchViewAction(), - new AddAction(this, project), - new GotoSourceAction(project) { - public void actionPerformed(ActionEvent e) { - super.actionPerformed(e); - parentDialog.close(DialogWrapper.OK_EXIT_CODE); - } - }, - new ViewSourceAction(project), - new RemoveAction(project), - new ToggleGroupByClassesAction(), - new ToggleFlattenPackagesAction(), - }; - } - @Override protected void configureBreakpointPanel(BreakpointPanel panel) { super.configureBreakpointPanel(panel); panel.getTree().setGroupByMethods(false); } + @Override public Key getBreakpointCategory() { return MethodBreakpoint.CATEGORY; } @@ -93,6 +76,7 @@ public class MethodBreakpointFactory extends BreakpointFactory{ return true; } + @Override public WildcardMethodBreakpoint addBreakpoint(Project project) { AddWildcardBreakpointDialog dialog = new AddWildcardBreakpointDialog(project); dialog.show(); diff --git a/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java b/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java index 92f1e6b05f10..f3b883d0b60f 100644 --- a/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java +++ b/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java @@ -35,6 +35,11 @@ public abstract class PropertiesComponent { public abstract void setValue(@NonNls String name, String value); + /** + * Set value or unset if equals to default value + */ + public abstract void setValue(@NotNull String name, @NotNull String value, @NotNull String defaultValue); + public abstract String[] getValues(@NonNls String name); public abstract void setValues(@NonNls String name, String[] values); diff --git a/platform/platform-impl/src/com/intellij/ide/util/PropertiesComponentImpl.java b/platform/platform-impl/src/com/intellij/ide/util/PropertiesComponentImpl.java index cf6d25d306c2..a743569b1798 100644 --- a/platform/platform-impl/src/com/intellij/ide/util/PropertiesComponentImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/util/PropertiesComponentImpl.java @@ -74,6 +74,16 @@ public class PropertiesComponentImpl extends PropertiesComponent implements Pers myMap.put(name, value); } + @Override + public void setValue(@NotNull String name, @NotNull String value, @NotNull String defaultValue) { + if (value.equals(defaultValue)) { + myMap.remove(name); + } + else { + myMap.put(name, value); + } + } + @Override public void unsetValue(String name) { myMap.remove(name); diff --git a/platform/platform-resources-en/src/messages/XDebuggerBundle.properties b/platform/platform-resources-en/src/messages/XDebuggerBundle.properties index 8b5133dd4e93..8e0d36d3e49a 100644 --- a/platform/platform-resources-en/src/messages/XDebuggerBundle.properties +++ b/platform/platform-resources-en/src/messages/XDebuggerBundle.properties @@ -25,11 +25,13 @@ xbreakpoints.dialog.button.view.source=&View Source xbreakpoints.dialog.button.remove=&Remove xbreakpoints.dialog.button.add=&Add... xbreakpoints.conditions.group.title=Conditions -xbreakpoints.suspend.group.title=Suspend policy -xbreakpoints.suspend.checkbox=&Suspend -xbreakpoints.suspend.all.radio=All -xbreakpoints.suspend.thread.radio=Thread -xbreakpoints.suspend.none.radio=None + +suspend.policy.panel.title=Suspend policy +suspend.policy.panel.suspend=&Suspend +suspend.policy.panel.all=All +suspend.policy.panel.thread=Thread +suspend.policy.panel.makeDefault=Make De&fault + xbreakpoints.properties.actions.group.title=Actions xbreakpoints.log.message.checkbox=Log &message to console xbreakpoints.log.expression.checkbox=Log evaluated &expression diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.form b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.form index 898fe1ed85de..4c9a69507a6b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.form +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.form @@ -1,33 +1,33 @@
- + - + - + - + - + - + - + @@ -36,7 +36,15 @@ - + + + + + + + + + diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.java index 23cb26951195..c46914fa06b8 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/XSuspendPolicyPanel.java @@ -15,6 +15,7 @@ */ package com.intellij.xdebugger.impl.breakpoints.ui; +import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.project.Project; import com.intellij.xdebugger.breakpoints.SuspendPolicy; import com.intellij.xdebugger.breakpoints.XBreakpoint; @@ -22,15 +23,21 @@ import com.intellij.xdebugger.breakpoints.XBreakpointManager; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; public class XSuspendPolicyPanel> extends XBreakpointPropertiesSubPanel { private JCheckBox mySuspendCheckBox; - private JRadioButton mySuspendAllRadioButton; - private JRadioButton mySuspendThreadRadioButton; + private JRadioButton mySuspendAll; + private JRadioButton mySuspendThread; private JPanel myContentPane; + private JButton myMakeDefaultButton; + + private ButtonGroup mySuspendPolicyGroup; public interface Delegate { void showMoreOptionsIfNeeded(); @@ -56,16 +63,78 @@ public class XSuspendPolicyPanel> extends XBreakpointPr } } }); + + if (!myBreakpoint.getType().isSuspendThreadSupported()) { + return; + } + + mySuspendPolicyGroup = new ButtonGroup(); + mySuspendPolicyGroup.add(mySuspendAll); + mySuspendPolicyGroup.add(mySuspendThread); + + updateSuspendPolicyFont(createSettingsKey()); + + ItemListener suspendPolicyChangeListener = new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + updateMakeDefaultEnableState(); + } + }; + updateMakeDefaultEnableState(); + + mySuspendAll.addItemListener(suspendPolicyChangeListener); + mySuspendThread.addItemListener(suspendPolicyChangeListener); + + myMakeDefaultButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + SuspendPolicy suspendPolicy = getSelectedSuspendPolicy(); + String settingsKey = createSettingsKey(); + PropertiesComponent.getInstance().setValue(settingsKey, suspendPolicy.name()); + updateSuspendPolicyFont(settingsKey); + if (SuspendPolicy.THREAD == suspendPolicy) { + mySuspendThread.requestFocus(); + } + else { + mySuspendAll.requestFocus(); + } + myMakeDefaultButton.setEnabled(false); + } + }); + } + + private void updateMakeDefaultEnableState() { + myMakeDefaultButton.setEnabled(!getSelectedSuspendPolicy().name().equalsIgnoreCase(PropertiesComponent.getInstance().getValue(createSettingsKey(), SuspendPolicy.ALL.name()))); + } + + private String createSettingsKey() { + return "debugger.suspend.policy-" + myBreakpointType.getId(); + } + + private void updateSuspendPolicyFont(String settingsKey) { + String defaultPolicy = PropertiesComponent.getInstance().getValue(settingsKey, SuspendPolicy.ALL.name()); + Font font = mySuspendAll.getFont().deriveFont(Font.PLAIN); + Font boldFont = font.deriveFont(Font.BOLD); + + mySuspendAll.setFont(SuspendPolicy.ALL.name().equalsIgnoreCase(defaultPolicy) ? boldFont : font); + mySuspendThread.setFont(SuspendPolicy.THREAD.name().equalsIgnoreCase(defaultPolicy) ? boldFont : font); } private void changeEnableState(boolean selected) { - mySuspendAllRadioButton.setEnabled(selected); - mySuspendThreadRadioButton.setEnabled(selected); + mySuspendAll.setEnabled(selected); + mySuspendThread.setEnabled(selected); + if (selected) { + updateMakeDefaultEnableState(); + } + else { + myMakeDefaultButton.setEnabled(false); + } } private void changeVisibleState(boolean suspendThreadSupported) { - mySuspendAllRadioButton.setVisible(suspendThreadSupported); - mySuspendThreadRadioButton.setVisible(suspendThreadSupported); + mySuspendAll.setVisible(suspendThreadSupported); + mySuspendThread.setVisible(suspendThreadSupported); + myMakeDefaultButton.setVisible(suspendThreadSupported); } @Override @@ -82,8 +151,7 @@ public class XSuspendPolicyPanel> extends XBreakpointPr changeVisibleState(suspendThreadSupported); if (suspendThreadSupported) { - mySuspendAllRadioButton.setSelected(suspendPolicy == SuspendPolicy.ALL); - mySuspendThreadRadioButton.setSelected(suspendPolicy == SuspendPolicy.THREAD); + mySuspendPolicyGroup.setSelected(suspendPolicy == SuspendPolicy.THREAD ? mySuspendThread.getModel() : mySuspendAll.getModel(), true); changeEnableState(selected); } @@ -93,12 +161,12 @@ public class XSuspendPolicyPanel> extends XBreakpointPr } } - private SuspendPolicy getConfiguredSuspendPolicy() { + private SuspendPolicy getSelectedSuspendPolicy() { if (!mySuspendCheckBox.isSelected()) { return SuspendPolicy.NONE; } else if (myBreakpoint.getType().isSuspendThreadSupported()) { - return mySuspendAllRadioButton.isSelected() ? SuspendPolicy.ALL : SuspendPolicy.THREAD; + return mySuspendAll.isSelected() ? SuspendPolicy.ALL : SuspendPolicy.THREAD; } else { return SuspendPolicy.ALL; @@ -107,7 +175,7 @@ public class XSuspendPolicyPanel> extends XBreakpointPr @Override void saveProperties() { - myBreakpoint.setSuspendPolicy(getConfiguredSuspendPolicy()); + myBreakpoint.setSuspendPolicy(getSelectedSuspendPolicy()); } public Delegate getDelegate() {