mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-06 12:00:04 +02:00
Merge remote-tracking branch 'origin/GP-3931-dragonmacher-table-boolean-cells'
This commit is contained in:
commit
09c981e35e
1 changed files with 15 additions and 11 deletions
|
@ -17,6 +17,8 @@ package docking.widgets.table;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import docking.widgets.checkbox.GCheckBox;
|
import docking.widgets.checkbox.GCheckBox;
|
||||||
|
|
||||||
public class GBooleanCellRenderer extends GTableCellRenderer {
|
public class GBooleanCellRenderer extends GTableCellRenderer {
|
||||||
|
@ -37,8 +39,15 @@ public class GBooleanCellRenderer extends GTableCellRenderer {
|
||||||
super.getTableCellRendererComponent(data);
|
super.getTableCellRendererComponent(data);
|
||||||
|
|
||||||
Object value = data.getValue();
|
Object value = data.getValue();
|
||||||
cb.setEnabled(true);
|
|
||||||
setValue(value);
|
JTable table = data.getTable();
|
||||||
|
int row = data.getRowViewIndex();
|
||||||
|
int col = data.getColumnViewIndex();
|
||||||
|
boolean isEditable = table.isCellEditable(row, col);
|
||||||
|
|
||||||
|
cb.setEnabled(isEditable);
|
||||||
|
setValue(value, isEditable);
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,14 +82,7 @@ public class GBooleanCellRenderer extends GTableCellRenderer {
|
||||||
return cb.getPreferredSize();
|
return cb.getPreferredSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected void setValue(Object value, boolean isEditable) {
|
||||||
* Sets the <code>Boolean</code> object for the cell being rendered to
|
|
||||||
* <code>value</code>.
|
|
||||||
*
|
|
||||||
* @param value the boolean value for this cell; if value is
|
|
||||||
* <code>null</code> it sets the text value "N/A"
|
|
||||||
*/
|
|
||||||
protected void setValue(Object value) {
|
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
setText("N/A");
|
setText("N/A");
|
||||||
cb.setVisible(false);
|
cb.setVisible(false);
|
||||||
|
@ -88,7 +90,9 @@ public class GBooleanCellRenderer extends GTableCellRenderer {
|
||||||
else {
|
else {
|
||||||
setText("");
|
setText("");
|
||||||
cb.setVisible(true);
|
cb.setVisible(true);
|
||||||
cb.setSelected(((Boolean) value).booleanValue());
|
boolean isSelected = ((Boolean) value).booleanValue();
|
||||||
|
cb.setSelected(isSelected);
|
||||||
|
setToolTipText(isSelected ? "true" : "false" + (!isEditable ? " (uneditable)" : ""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue