IDEA-88850 Inconsistent checkbox capitalization in breakpoints dialog - also sort buttons by group priority

This commit is contained in:
Egor.Ushakov
2014-04-01 15:58:14 +04:00
parent 3526fe0af4
commit b400f0d9f4
6 changed files with 21 additions and 19 deletions
@@ -15,6 +15,7 @@
*/
package com.intellij.debugger.ui;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.ui.breakpoints.Breakpoint;
import com.intellij.debugger.ui.breakpoints.BreakpointManager;
import com.intellij.icons.AllIcons;
@@ -29,7 +30,7 @@ import java.util.Collection;
class XBreakpointGroupingByClassRule<B> extends XBreakpointGroupingRule<B, XBreakpointClassGroup> {
XBreakpointGroupingByClassRule() {
super("XBreakpointGroupingByClassRule", "Group by Class");
super("XBreakpointGroupingByClassRule", DebuggerBundle.message("rule.name.group.by.class"));
}
@Override
@@ -15,6 +15,7 @@
*/
package com.intellij.debugger.ui;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.ui.breakpoints.Breakpoint;
import com.intellij.debugger.ui.breakpoints.BreakpointManager;
import com.intellij.icons.AllIcons;
@@ -31,7 +32,7 @@ import java.util.Collection;
public class XBreakpointGroupingByPackageRule<B> extends XBreakpointGroupingRule<B, XBreakpointPackageGroup> {
protected XBreakpointGroupingByPackageRule() {
super("XBreakpointGroupingByPackageRule", "Group by package");
super("XBreakpointGroupingByPackageRule", DebuggerBundle.message("rule.name.group.by.package"));
}
@Override
@@ -22,11 +22,20 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.Collection;
import java.util.Comparator;
/**
* @author nik
*/
public abstract class XBreakpointGroupingRule<B, G extends XBreakpointGroup> {
public static final Comparator<XBreakpointGroupingRule> PRIORITY_COMPARATOR = new Comparator<XBreakpointGroupingRule>() {
@Override
public int compare(XBreakpointGroupingRule o1, XBreakpointGroupingRule o2) {
final int res = o2.getPriority() - o1.getPriority();
return res != 0 ? res : (o1.getId().compareTo(o2.getId()));
}
};
private final String myId;
private final String myPresentableName;
@@ -53,13 +53,7 @@ public class BreakpointsFavoriteListProvider extends AbstractFavoritesListProvid
private final BreakpointItemsTreeController myTreeController;
private final List<XBreakpointGroupingRule> myRulesAvailable = new ArrayList<XBreakpointGroupingRule>();
private Set<XBreakpointGroupingRule> myRulesEnabled = new TreeSet<XBreakpointGroupingRule>(new Comparator<XBreakpointGroupingRule>() {
@Override
public int compare(XBreakpointGroupingRule o1, XBreakpointGroupingRule o2) {
final int res = o2.getPriority() - o1.getPriority();
return res != 0 ? res : (o1.getId().compareTo(o2.getId()));
}
});
private Set<XBreakpointGroupingRule> myRulesEnabled = new TreeSet<XBreakpointGroupingRule>(XBreakpointGroupingRule.PRIORITY_COMPARATOR);
public BreakpointsFavoriteListProvider(Project project) {
super(project, "Breakpoints");
@@ -75,19 +75,13 @@ public class BreakpointsDialog extends DialogWrapper {
private final DetailController myDetailController = new DetailController(myMasterController);
private Collection<BreakpointItem> myBreakpointItems = new ArrayList<BreakpointItem>();
private final Collection<BreakpointItem> myBreakpointItems = new ArrayList<BreakpointItem>();
private final List<XBreakpointGroupingRule> myRulesAvailable = new ArrayList<XBreakpointGroupingRule>();
private Set<XBreakpointGroupingRule> myRulesEnabled = new TreeSet<XBreakpointGroupingRule>(new Comparator<XBreakpointGroupingRule>() {
@Override
public int compare(XBreakpointGroupingRule o1, XBreakpointGroupingRule o2) {
final int res = o2.getPriority() - o1.getPriority();
return res != 0 ? res : (o1.getId().compareTo(o2.getId()));
}
});
private Disposable myListenerDisposable = Disposer.newDisposable();
private List<ToggleActionButton> myToggleRuleActions = new ArrayList<ToggleActionButton>();
private final Set<XBreakpointGroupingRule> myRulesEnabled = new TreeSet<XBreakpointGroupingRule>(XBreakpointGroupingRule.PRIORITY_COMPARATOR);
private final Disposable myListenerDisposable = Disposer.newDisposable();
private final List<ToggleActionButton> myToggleRuleActions = new ArrayList<ToggleActionButton>();
private XBreakpointManagerImpl getBreakpointManager() {
return (XBreakpointManagerImpl)XDebuggerManager.getInstance(myProject).getBreakpointManager();
@@ -326,6 +320,7 @@ public class BreakpointsDialog extends DialogWrapper {
for (BreakpointPanelProvider provider : myBreakpointsPanelProviders) {
provider.createBreakpointsGroupingRules(myRulesAvailable);
}
Collections.sort(myRulesAvailable, XBreakpointGroupingRule.PRIORITY_COMPARATOR);
myRulesEnabled.clear();
XBreakpointsDialogState settings = (getBreakpointManager()).getBreakpointsDialogSettings();
@@ -446,3 +446,5 @@ error.corrupt.debug.info=Debug info might be corrupt: {0}
action.kill.process.text=Kill Process
action.kill.process.description=Forcibly terminate debugged application
evaluation.error.unknown.method.return.type=Cannot resolve method return type: {0}
rule.name.group.by.class=Group by class
rule.name.group.by.package=Group by package