mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
TableUtil.setupCheckboxColumn
This commit is contained in:
+1
-1
@@ -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);
|
||||
|
||||
+1
-9
@@ -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,
|
||||
|
||||
+1
-1
@@ -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() {
|
||||
|
||||
+4
-5
@@ -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);
|
||||
|
||||
+22
-7
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user