ToolbarDecorators added for some new icons

This commit is contained in:
Evgeny Zakrevsky
2012-05-19 03:29:39 +04:00
parent 734a8b6db4
commit cb168567f3
7 changed files with 78 additions and 194 deletions
@@ -20,6 +20,9 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.ui.classFilter.ClassFilter;
import com.intellij.ui.classFilter.ClassFilterEditor;
import com.intellij.util.IconUtil;
import javax.swing.*;
/**
* User: lex
@@ -29,7 +32,6 @@ import com.intellij.ui.classFilter.ClassFilterEditor;
public class InstanceFilterEditor extends ClassFilterEditor {
public InstanceFilterEditor(Project project) {
super(project);
myAddPatternButton.setVisible(false);
}
protected void addClassFilter() {
@@ -51,6 +53,16 @@ public class InstanceFilterEditor extends ClassFilterEditor {
return DebuggerBundle.message("button.add");
}
@Override
protected Icon getAddButtonIcon() {
return IconUtil.getAddIcon();
}
@Override
protected boolean addPatternButtonVisible() {
return false;
}
protected ClassFilter createFilter(String pattern) {
try {
Long.parseLong(pattern);
@@ -47,7 +47,6 @@ import java.util.LinkedList;
import java.util.List;
public class ClassFilterEditor extends JPanel implements ComponentWithEmptyText {
protected AnActionButton myAddPatternButton;
protected JBTable myTable = null;
protected FilterTableModel myTableModel = null;
protected final Project myProject;
@@ -68,20 +67,21 @@ public class ClassFilterEditor extends JPanel implements ComponentWithEmptyText
myPatternsHelpId = patternsHelpId;
myTable = new JBTable();
add(
ToolbarDecorator.createDecorator(myTable)
.addExtraAction(new AnActionButton(getAddButtonText(), IconUtil.getAddClassIcon()) {
@Override
public void actionPerformed(AnActionEvent e) {
addClassFilter();
}
final ToolbarDecorator decorator = ToolbarDecorator.createDecorator(myTable)
.addExtraAction(new AnActionButton(getAddButtonText(), getAddButtonIcon()) {
@Override
public void actionPerformed(AnActionEvent e) {
addClassFilter();
}
@Override
public void updateButton(AnActionEvent e) {
super.updateButton(e);
setEnabled(!myProject.isDefault());
}
}).addExtraAction(myAddPatternButton = new AnActionButton(getAddPatternButtonText(), IconUtil.getAddPatternIcon()) {
@Override
public void updateButton(AnActionEvent e) {
super.updateButton(e);
setEnabled(!myProject.isDefault());
}
});
if (addPatternButtonVisible()) {
decorator.addExtraAction(new AnActionButton(getAddPatternButtonText(), getAddPatternButtonIcon()) {
@Override
public void actionPerformed(AnActionEvent e) {
addPatternFilter();
@@ -92,14 +92,15 @@ public class ClassFilterEditor extends JPanel implements ComponentWithEmptyText
super.updateButton(e);
setEnabled(!myProject.isDefault());
}
}).setRemoveAction(new AnActionButtonRunnable() {
@Override
public void run(AnActionButton button) {
TableUtil.removeSelectedItems(myTable);
}
}).setButtonComparator(getAddButtonText(), getAddPatternButtonText(), "Remove")
.disableUpDownActions().createPanel(), BorderLayout.CENTER
);
});
}
add(decorator.setRemoveAction(new AnActionButtonRunnable() {
@Override
public void run(AnActionButton button) {
TableUtil.removeSelectedItems(myTable);
}
}).setButtonComparator(getAddButtonText(), getAddPatternButtonText(), "Remove")
.disableUpDownActions().createPanel(), BorderLayout.CENTER);
myChooserFilter = classFilter;
myProject = project;
@@ -137,6 +138,18 @@ public class ClassFilterEditor extends JPanel implements ComponentWithEmptyText
return UIBundle.message("button.add.pattern");
}
protected Icon getAddButtonIcon() {
return IconUtil.getAddClassIcon();
}
protected Icon getAddPatternButtonIcon() {
return IconUtil.getAddPatternIcon();
}
protected boolean addPatternButtonVisible() {
return true;
}
public void setFilters(com.intellij.ui.classFilter.ClassFilter[] filters) {
myTableModel.setFilters(filters);
}