TableUtil.setupCheckboxColumn

This commit is contained in:
Vladimir Krivosheev
2014-01-03 18:20:25 +01:00
parent ef8f43399f
commit da7f771df8
18 changed files with 85 additions and 72 deletions
@@ -368,7 +368,7 @@ public class EncapsulateFieldsDialog extends RefactoringDialog implements Encaps
columnModel.getColumn(FIELD_COLUMN).setCellRenderer(renderer);
columnModel.getColumn(GETTER_COLUMN).setCellRenderer(renderer);
columnModel.getColumn(SETTER_COLUMN).setCellRenderer(renderer);
columnModel.getColumn(CHECKED_COLUMN).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableUtil.setupCheckboxColumn(columnModel.getColumn(CHECKED_COLUMN));
myTable.setPreferredScrollableViewportSize(new Dimension(550, myTable.getRowHeight() * 12));
myTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
@@ -30,7 +30,6 @@ import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.event.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -147,7 +146,7 @@ public class AutomaticUsageRenamingDialog<T> extends DialogWrapper {
}
});
setupCheckColumn();
TableUtil.setupCheckboxColumn(myTable, CHECK_COLUMN);
setupOldNameColumn();
setupNewNameColumn();
@@ -284,13 +283,6 @@ public class AutomaticUsageRenamingDialog<T> extends DialogWrapper {
});
}
private void setupCheckColumn() {
TableColumn column = myTable.getColumnModel().getColumn(CHECK_COLUMN);
int checkBoxWidth = new JCheckBox().getPreferredSize().width;
column.setMaxWidth(checkBoxWidth);
column.setMinWidth(checkBoxWidth);
}
private void removeListener(JTextField textField) {
if (myCellEditorListener != null) {
textField.getDocument().removeDocumentListener(myCellEditorListener);
@@ -28,6 +28,7 @@ import com.intellij.refactoring.RefactoringBundle;
import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteOverridingMethodUsageInfo;
import com.intellij.ui.BooleanTableCellRenderer;
import com.intellij.ui.ScrollPaneFactory;
import com.intellij.ui.TableUtil;
import com.intellij.usageView.UsageInfo;
import com.intellij.usages.impl.UsagePreviewPanel;
import com.intellij.util.ui.Table;
@@ -38,6 +39,7 @@ import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.*;
import java.awt.event.ActionEvent;
@@ -130,11 +132,9 @@ class OverridingMethodsDialog extends DialogWrapper {
TableColumnModel columnModel = myTable.getColumnModel();
// columnModel.getColumn(DISPLAY_NAME_COLUMN).setCellRenderer(new MemberSelectionTable.MyTableRenderer());
final int checkBoxWidth = new JCheckBox().getPreferredSize().width;
columnModel.getColumn(CHECK_COLUMN).setCellRenderer(new BooleanTableCellRenderer());
columnModel.getColumn(CHECK_COLUMN).setMaxWidth(checkBoxWidth);
columnModel.getColumn(CHECK_COLUMN).setMinWidth(checkBoxWidth);
TableColumn checkboxColumn = columnModel.getColumn(CHECK_COLUMN);
TableUtil.setupCheckboxColumn(checkboxColumn);
checkboxColumn.setCellRenderer(new BooleanTableCellRenderer());
// make SPACE check/uncheck selected rows
@NonNls InputMap inputMap = myTable.getInputMap();
@@ -15,13 +15,13 @@
*/
package com.intellij.refactoring.util;
import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.refactoring.ui.TypeSelector;
import com.intellij.refactoring.ui.TypeSelectorManager;
import com.intellij.refactoring.ui.TypeSelectorManagerImpl;
import com.intellij.ui.BooleanTableCellRenderer;
import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.ui.TableUtil;
import com.intellij.ui.ToolbarDecorator;
import com.intellij.ui.components.JBComboBoxLabel;
@@ -82,8 +82,9 @@ public abstract class ParameterTablePanel extends JPanel {
myTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
myTable.setCellSelectionEnabled(true);
myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN).setCellRenderer(new CheckBoxTableCellRenderer());
myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableColumn checkboxColumn = myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN);
TableUtil.setupCheckboxColumn(checkboxColumn);
checkboxColumn.setCellRenderer(new CheckBoxTableCellRenderer());
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_NAME_COLUMN).setCellRenderer(new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
@@ -116,9 +116,7 @@ public class ClassFilterEditor extends JPanel implements ComponentWithEmptyText
TableColumnModel columnModel = myTable.getColumnModel();
TableColumn column = columnModel.getColumn(FilterTableModel.CHECK_MARK);
int width = new JCheckBox().getPreferredSize().width;
column.setPreferredWidth(width);
column.setMaxWidth(width);
TableUtil.setupCheckboxColumn(column);
column.setCellRenderer(new EnabledCellRenderer(myTable.getDefaultRenderer(Boolean.class)));
columnModel.getColumn(FilterTableModel.FILTER).setCellRenderer(new FilterCellRenderer());
@@ -25,13 +25,13 @@ import com.intellij.openapi.ui.Messages;
import com.intellij.psi.search.TodoPattern;
import com.intellij.ui.IdeBorderFactory;
import com.intellij.ui.ScrollPaneFactory;
import com.intellij.ui.TableUtil;
import com.intellij.util.ui.Table;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import java.awt.*;
import java.util.List;
@@ -143,13 +143,7 @@ class FilterDialog extends DialogWrapper {
new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
// Column "Available"
int width = new JCheckBox().getPreferredSize().width;
TableColumn availableColumn = myTable.getColumnModel().getColumn(0);
availableColumn.setPreferredWidth(width);
availableColumn.setMaxWidth(width);
availableColumn.setMinWidth(width);
TableUtil.setupCheckboxColumn(myTable, 0);
//
panel.add(patternsPanel,
@@ -62,7 +62,7 @@ public abstract class AbstractParameterTablePanel extends JPanel {
myTable.setTableHeader(null);
myTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableUtil.setupCheckboxColumn(myTable, MyTableModel.CHECKMARK_COLUMN);
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_NAME_COLUMN).setCellRenderer(new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
@@ -176,9 +176,7 @@ public class AutomaticRenamingDialog extends DialogWrapper {
final TableColumnModel columnModel = myTable.getColumnModel();
columnModel.getColumn(CHECK_COLUMN).setCellRenderer(new BooleanTableCellRenderer());
final int checkBoxWidth = new JCheckBox().getPreferredSize().width;
columnModel.getColumn(CHECK_COLUMN).setMaxWidth(checkBoxWidth);
columnModel.getColumn(CHECK_COLUMN).setMinWidth(checkBoxWidth);
TableUtil.setupCheckboxColumn(columnModel.getColumn(CHECK_COLUMN));
columnModel.getColumn(NEW_NAME_COLUMN).setCellEditor(new StringTableCellEditor(myProject));
mySelectAllButton.addActionListener(new ActionListener() {
@@ -19,7 +19,6 @@ package com.intellij.refactoring.ui;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataKey;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.actionSystem.TypeSafeDataProvider;
import com.intellij.openapi.util.Iconable;
import com.intellij.psi.PsiElement;
@@ -35,6 +34,7 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.*;
import java.util.ArrayList;
@@ -78,10 +78,9 @@ public abstract class AbstractMemberSelectionTable<T extends PsiElement, M exten
TableColumnModel model = getColumnModel();
model.getColumn(DISPLAY_NAME_COLUMN).setCellRenderer(new MyTableRenderer<T, M>(this));
model.getColumn(CHECKED_COLUMN).setCellRenderer(new MyBooleanRenderer<T, M>(this));
final int checkBoxWidth = new JCheckBox().getPreferredSize().width;
model.getColumn(CHECKED_COLUMN).setMaxWidth(checkBoxWidth);
model.getColumn(CHECKED_COLUMN).setMinWidth(checkBoxWidth);
TableColumn checkBoxColumn = model.getColumn(CHECKED_COLUMN);
TableUtil.setupCheckboxColumn(checkBoxColumn);
checkBoxColumn.setCellRenderer(new MyBooleanRenderer<T, M>(this));
if (myAbstractEnabled) {
int width = (int)(1.3 * getFontMetrics(getFont()).charsWidth(myAbstractColumnHeader.toCharArray(), 0, myAbstractColumnHeader.length()));
model.getColumn(ABSTRACT_COLUMN).setMaxWidth(width);
@@ -91,22 +91,20 @@ public abstract class OrderPanel<T> extends JPanel {
}
public void setCheckboxColumnName(final String name) {
final int width;
TableColumn checkboxColumn = myEntryTable.getColumnModel().getColumn(getCheckboxColumn());
if (StringUtil.isEmpty(name)) {
CHECKBOX_COLUMN_NAME = "";
width = new JCheckBox().getPreferredSize().width;
TableUtil.setupCheckboxColumn(checkboxColumn);
}
else {
CHECKBOX_COLUMN_NAME = name;
final FontMetrics fontMetrics = myEntryTable.getFontMetrics(myEntryTable.getFont());
width = fontMetrics.stringWidth(" " + name + " ") + 4;
final int width = fontMetrics.stringWidth(" " + name + " ") + 4;
checkboxColumn.setWidth(width);
checkboxColumn.setPreferredWidth(width);
checkboxColumn.setMaxWidth(width);
checkboxColumn.setMinWidth(width);
}
final TableColumn checkboxColumn = myEntryTable.getColumnModel().getColumn(getCheckboxColumn());
checkboxColumn.setWidth(width);
checkboxColumn.setPreferredWidth(width);
checkboxColumn.setMaxWidth(width);
checkboxColumn.setMinWidth(width);
}
public void moveSelectedItemsUp() {
@@ -49,11 +49,7 @@ public class PluginTable extends JBTable {
final ColumnInfo columnInfo = model.getColumnInfos()[i];
column.setCellEditor(columnInfo.getEditor(null));
if (columnInfo.getColumnClass() == Boolean.class) {
final int width = new JCheckBox().getPreferredSize().width;
column.setWidth(width);
column.setPreferredWidth(width);
column.setMaxWidth(width);
column.setMinWidth(width);
TableUtil.setupCheckboxColumn(column);
}
}
@@ -71,13 +71,11 @@ public class ElementsChooser<T> extends JPanel implements ComponentWithEmptyText
myTable.setColumnSelectionAllowed(false);
JScrollPane pane = ScrollPaneFactory.createScrollPane(myTable);
pane.setPreferredSize(new Dimension(100, 155));
int width = new JCheckBox().getPreferredSize().width;
TableColumnModel columnModel = myTable.getColumnModel();
if (elementsCanBeMarked) {
TableColumn checkMarkColumn = columnModel.getColumn(myTableModel.CHECK_MARK_COLUM_INDEX);
checkMarkColumn.setPreferredWidth(width);
checkMarkColumn.setMaxWidth(width);
TableUtil.setupCheckboxColumn(checkMarkColumn);
checkMarkColumn.setCellRenderer(new CheckMarkColumnCellRenderer(myTable.getDefaultRenderer(Boolean.class)));
}
columnModel.getColumn(myTableModel.ELEMENT_COLUMN_INDEX).setCellRenderer(new MyElementColumnCellRenderer());
@@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import java.awt.*;
import java.util.ArrayList;
@@ -196,4 +197,23 @@ public class TableUtil {
if (table.getSelectedRow() != -1 || table.getRowCount() == 0) return;
table.setRowSelectionInterval(0, 0);
}
/**
* @return column width
*/
public static int setupCheckboxColumn(@NotNull JTable table, int columnIndex) {
return setupCheckboxColumn(table.getColumnModel().getColumn(columnIndex));
}
/**
* @return column width
*/
public static int setupCheckboxColumn(@NotNull TableColumn column) {
int checkboxWidth = new JCheckBox().getPreferredSize().width;
column.setResizable(false);
column.setPreferredWidth(checkboxWidth);
column.setMaxWidth(checkboxWidth);
column.setMinWidth(checkboxWidth);
return checkboxWidth;
}
}
@@ -543,7 +543,7 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
setShowGrid(false);
setShowVerticalLines(false);
setGridColor(getForeground());
getColumnModel().getColumn(0).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableUtil.setupCheckboxColumn(getColumnModel().getColumn(0));
new DoubleClickListener() {
@Override
@@ -27,6 +27,7 @@ import com.intellij.psi.xml.XmlFile;
import com.intellij.ui.ColoredListCellRenderer;
import com.intellij.ui.ScrollPaneFactory;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.TableUtil;
import com.intellij.ui.components.JBList;
import com.intellij.ui.table.JBTable;
import org.jetbrains.annotations.NonNls;
@@ -98,7 +99,7 @@ public class ChooseModulesDialog extends DialogWrapper {
myView.setShowGrid(false);
myView.setTableHeader(null);
myView.setIntercellSpacing(new Dimension(0, 0));
myView.getColumnModel().getColumn(0).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableUtil.setupCheckboxColumn(myView, 0);
myView.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
getOKAction().setEnabled(getSelectedModules().size() > 0);
@@ -16,17 +16,13 @@
package org.jetbrains.plugins.groovy.refactoring.extract;
import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiManager;
import com.intellij.psi.PsiPrimitiveType;
import com.intellij.psi.PsiType;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.refactoring.ui.TypeSelector;
import com.intellij.ui.BooleanTableCellRenderer;
import com.intellij.ui.IdeBorderFactory;
import com.intellij.ui.TableUtil;
import com.intellij.ui.ToolbarDecorator;
import com.intellij.ui.*;
import com.intellij.ui.table.JBTable;
import com.intellij.util.ui.AbstractTableCellEditor;
import com.intellij.util.ui.EditableModel;
@@ -38,6 +34,7 @@ import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
@@ -71,9 +68,13 @@ public abstract class ParameterTablePanel extends JPanel {
myTable.setTableHeader(null);
myTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN).setCellRenderer(new CheckBoxTableCellRenderer());
myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableColumn checkBoxColumn = myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN);
TableUtil.setupCheckboxColumn(checkBoxColumn);
checkBoxColumn.setCellRenderer(new CheckBoxTableCellRenderer());
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_NAME_COLUMN).setCellRenderer(new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
ParameterInfo info = myParameterInfos[row];
@@ -111,10 +112,12 @@ public abstract class ParameterTablePanel extends JPanel {
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_TYPE_COLUMN).setCellEditor(new AbstractTableCellEditor() {
TypeSelector myCurrentSelector;
@Override
public Object getCellEditorValue() {
return myCurrentSelector.getSelectedType();
}
@Override
public Component getTableCellEditorComponent(final JTable table,
final Object value,
final boolean isSelected,
@@ -126,6 +129,7 @@ public abstract class ParameterTablePanel extends JPanel {
});
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_TYPE_COLUMN).setCellRenderer(new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (myParameterTypeSelectors[row].getComponent() instanceof JComboBox) {
myTypeRendererCombo.setSelectedIndex(row);
@@ -149,6 +153,7 @@ public abstract class ParameterTablePanel extends JPanel {
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), "enable_disable");
@NonNls final ActionMap actionMap = myTable.getActionMap();
actionMap.put("enable_disable", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
if (myTable.isEditing()) return;
int[] rows = myTable.getSelectedRows();
@@ -171,6 +176,7 @@ public abstract class ParameterTablePanel extends JPanel {
// F2 should edit the name
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), "edit_parameter_name");
actionMap.put("edit_parameter_name", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
if (!myTable.isEditing()) {
int row = myTable.getSelectedRow();
@@ -184,6 +190,7 @@ public abstract class ParameterTablePanel extends JPanel {
// make ENTER work when the table has focus
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "invokeImpl");
actionMap.put("invokeImpl", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
TableCellEditor editor = myTable.getCellEditor();
if (editor != null) {
@@ -197,6 +204,7 @@ public abstract class ParameterTablePanel extends JPanel {
// make ESCAPE work when the table has focus
actionMap.put("doCancel", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
TableCellEditor editor = myTable.getCellEditor();
if (editor != null) {
@@ -256,14 +264,17 @@ public abstract class ParameterTablePanel extends JPanel {
return true;
}
@Override
public int getRowCount() {
return myParameterInfos.length;
}
@Override
public int getColumnCount() {
return 3;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case CHECKMARK_COLUMN: {
@@ -281,6 +292,7 @@ public abstract class ParameterTablePanel extends JPanel {
return null;
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
switch (columnIndex) {
case CHECKMARK_COLUMN: {
@@ -308,6 +320,7 @@ public abstract class ParameterTablePanel extends JPanel {
}
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
switch (columnIndex) {
case CHECKMARK_COLUMN:
@@ -323,6 +336,7 @@ public abstract class ParameterTablePanel extends JPanel {
}
}
@Override
public Class getColumnClass(int columnIndex) {
if (columnIndex == CHECKMARK_COLUMN) {
return Boolean.class;
@@ -332,6 +346,7 @@ public abstract class ParameterTablePanel extends JPanel {
}
private class CheckBoxTableCellRenderer extends BooleanTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component rendererComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
rendererComponent.setEnabled(ParameterTablePanel.this.isEnabled());
@@ -22,6 +22,7 @@ import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.BooleanTableCellRenderer;
import com.intellij.ui.TableUtil;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -29,7 +30,6 @@ import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
@@ -72,14 +72,12 @@ public class CreateTestDialog extends DialogWrapper {
myTableModel = new DefaultTableModel(methods, 2);
myMethodsTable.setModel(myTableModel);
TableColumnModel model = myMethodsTable.getColumnModel();
model.getColumn(0).setMaxWidth(new JCheckBox().getPreferredSize().width);
TableColumn checkColumn = myMethodsTable.getColumnModel().getColumn(0);
TableUtil.setupCheckboxColumn(checkColumn);
checkColumn.setCellRenderer(new BooleanTableCellRenderer());
checkColumn.setCellEditor(new DefaultCellEditor(new JCheckBox()));
model.getColumn(1).setHeaderValue("Test method");
myMethodsTable.getColumnModel().getColumn(1).setHeaderValue("Test method");
checkColumn.setHeaderValue("");
getOKAction().setEnabled(true);
}
@@ -26,6 +26,7 @@ import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.IdeBorderFactory;
import com.intellij.ui.TableUtil;
import com.intellij.ui.ToolbarDecorator;
import com.intellij.ui.table.TableView;
import com.intellij.util.ui.ColumnInfo;
@@ -107,7 +108,7 @@ public class BrowserSettingsPanel {
}
private void createUIComponents() {
ColumnInfo[] columns = {new ColumnInfo<WebBrowserSettings, Boolean>("") {
ColumnInfo<WebBrowserSettings, Boolean> activeColumn = new ColumnInfo<WebBrowserSettings, Boolean>("") {
@Override
public Class getColumnClass() {
return Boolean.class;
@@ -127,7 +128,8 @@ public class BrowserSettingsPanel {
public void setValue(WebBrowserSettings info, Boolean value) {
getMutable(info).setActive(value);
}
}, new ColumnInfo<WebBrowserSettings, String>("Name") {
};
ColumnInfo[] columns = {activeColumn, new ColumnInfo<WebBrowserSettings, String>("Name") {
@Override
public String valueOf(WebBrowserSettings info) {
return getEffective(info).getName();
@@ -149,7 +151,10 @@ public class BrowserSettingsPanel {
}
}};
ListTableModel<WebBrowserSettings> tableModel = new ListTableModel<WebBrowserSettings>(columns, WebBrowserManager.getInstance().getInfos());
browsersTable = ToolbarDecorator.createDecorator(new TableView<WebBrowserSettings>(tableModel)).createPanel();
TableView<WebBrowserSettings> table = new TableView<WebBrowserSettings>(tableModel);
TableUtil.setupCheckboxColumn(table.getColumnModel().getColumn(0));
browsersTable = ToolbarDecorator.createDecorator(table).createPanel();
}
@NotNull