inspections ui: ThreeStateCheckBoxRenderer mouse listener creation fixed

This commit is contained in:
Dmitry Batkovich
2014-07-29 13:58:51 +04:00
parent 4be00cd3f2
commit 135c0a531d
3 changed files with 17 additions and 15 deletions
@@ -60,8 +60,8 @@ public class InspectionsConfigTreeTable extends TreeTable {
final TableColumn isEnabledColumn = getColumnModel().getColumn(IS_ENABLED_COLUMN);
isEnabledColumn.setMaxWidth(20);
isEnabledColumn.setCellRenderer(new ThreeStateCheckBoxRenderer());
isEnabledColumn.setCellEditor(new ThreeStateCheckBoxRenderer());
isEnabledColumn.setCellRenderer(new ThreeStateCheckBoxRenderer(false));
isEnabledColumn.setCellEditor(new ThreeStateCheckBoxRenderer(true));
addMouseMotionListener(new MouseAdapter() {
@Override
@@ -76,8 +76,8 @@ public class ScopesAndSeveritiesTable extends JBTable {
final TableColumn scopeEnabledColumn = columnModel.getColumn(SCOPE_ENABLED_COLUMN);
scopeEnabledColumn.setMaxWidth(30);
scopeEnabledColumn.setCellRenderer(new ThreeStateCheckBoxRenderer());
scopeEnabledColumn.setCellEditor(new ThreeStateCheckBoxRenderer());
scopeEnabledColumn.setCellRenderer(new ThreeStateCheckBoxRenderer(false));
scopeEnabledColumn.setCellEditor(new ThreeStateCheckBoxRenderer(true));
final TableColumn severityColumn = columnModel.getColumn(SEVERITY_COLUMN);
severityColumn.setCellRenderer(SeverityRenderer.create(tableSettings.getInspectionProfile()));
@@ -39,10 +39,22 @@ public class ThreeStateCheckBoxRenderer extends ThreeStateCheckBox implements Ta
private final List<CellEditorListener> myListeners = new SmartList<CellEditorListener>();
public ThreeStateCheckBoxRenderer() {
public ThreeStateCheckBoxRenderer(final boolean isEditor) {
setThirdStateEnabled(false);
setHorizontalAlignment(CENTER);
setVerticalAlignment(CENTER);
if (isEditor) {
new ClickListener() {
@Override
public boolean onClick(@NotNull final MouseEvent event, final int clickCount) {
if (clickCount == 1) {
stopCellEditing();
return true;
}
return false;
}
}.installOn(this);
}
}
@Override
@@ -69,16 +81,6 @@ public class ThreeStateCheckBoxRenderer extends ThreeStateCheckBox implements Ta
} else {
setSelected((Boolean) value);
}
new ClickListener() {
@Override
public boolean onClick(@NotNull final MouseEvent event, final int clickCount) {
if (clickCount == 1) {
stopCellEditing();
return true;
}
return false;
}
}.installOn(this);
return this;
}