Merge pull request #2258 from karlmortensen/fixCheckMarks

Fix check marks
This commit is contained in:
Richard Cordovano 2016-06-28 11:19:43 -04:00 committed by GitHub
commit 6fc88b5b10
3 changed files with 29 additions and 43 deletions

View File

@ -137,8 +137,9 @@
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor"> <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="keywordsTableModel" type="code"/> <Connection code="keywordsTableModel" type="code"/>
</Property> </Property>
<Property name="showHorizontalLines" type="boolean" value="false"/> <Property name="gridColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Property name="showVerticalLines" type="boolean" value="false"/> <Color blue="99" green="99" red="99" type="rgb"/>
</Property>
</Properties> </Properties>
</Component> </Component>
</SubComponents> </SubComponents>

View File

@ -39,6 +39,9 @@ import org.openide.util.NbBundle;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.autopsy.ingest.IngestManager;
import javax.swing.ImageIcon;
import static javax.swing.SwingConstants.CENTER;
import javax.swing.table.DefaultTableCellRenderer;
/** /**
* Viewer panel widget for keyword lists that is used in the ingest config and * Viewer panel widget for keyword lists that is used in the ingest config and
@ -93,7 +96,7 @@ class DropdownListSearchPanel extends KeywordSearchPanel {
column.setPreferredWidth(((int) (rightWidth * 0.78))); column.setPreferredWidth(((int) (rightWidth * 0.78)));
} else { } else {
column.setPreferredWidth(((int) (rightWidth * 0.20))); column.setPreferredWidth(((int) (rightWidth * 0.20)));
column.setCellRenderer(new RightCheckBoxRenderer()); column.setCellRenderer(new CheckBoxRenderer());
} }
} }
@ -220,8 +223,7 @@ class DropdownListSearchPanel extends KeywordSearchPanel {
keywordsTable.setBackground(new java.awt.Color(240, 240, 240)); keywordsTable.setBackground(new java.awt.Color(240, 240, 240));
keywordsTable.setFont(keywordsTable.getFont().deriveFont(keywordsTable.getFont().getStyle() & ~java.awt.Font.BOLD, 11)); keywordsTable.setFont(keywordsTable.getFont().deriveFont(keywordsTable.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
keywordsTable.setModel(keywordsTableModel); keywordsTable.setModel(keywordsTableModel);
keywordsTable.setShowHorizontalLines(false); keywordsTable.setGridColor(new java.awt.Color(153, 153, 153));
keywordsTable.setShowVerticalLines(false);
rightPane.setViewportView(keywordsTable); rightPane.setViewportView(keywordsTable);
jSplitPane1.setRightComponent(rightPane); jSplitPane1.setRightComponent(rightPane);
@ -597,26 +599,31 @@ class DropdownListSearchPanel extends KeywordSearchPanel {
} }
} }
private class RightCheckBoxRenderer extends JCheckBox implements TableCellRenderer { /**
* A cell renderer for boolean cells that shows a center-aligned green check
* mark if true, nothing if false.
*/
private class CheckBoxRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 1L;
final ImageIcon theCheck = new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/checkmark.png")); // NON-NLS
CheckBoxRenderer() {
setHorizontalAlignment(CENTER);
}
@Override @Override
public Component getTableCellRendererComponent( public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
this.setHorizontalAlignment(JCheckBox.CENTER); if ((value instanceof Boolean)) {
this.setVerticalAlignment(JCheckBox.CENTER); if ((Boolean) value) {
setIcon(theCheck);
Boolean selected = (Boolean) table.getModel().getValueAt(row, 1); setToolTipText(Bundle.IsRegularExpression());
setSelected(selected); } else {
if (isSelected) { setIcon(null);
setBackground(keywordsTable.getSelectionBackground()); setToolTipText(null);
} else { }
setBackground(keywordsTable.getBackground());
} }
setEnabled(false);
return this; return this;
} }
} }

View File

@ -92,7 +92,6 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis
} else { } else {
column.setPreferredWidth(((int) (width * 0.10))); column.setPreferredWidth(((int) (width * 0.10)));
column.setCellRenderer(new CheckBoxRenderer()); column.setCellRenderer(new CheckBoxRenderer());
column.setHeaderRenderer(new HeaderRenderer(keywordTable));
} }
} }
keywordTable.setCellSelectionEnabled(false); keywordTable.setCellSelectionEnabled(false);
@ -723,27 +722,6 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis
} }
} }
/**
* A cell renderer for header cells that center-aligns the header text.
*/
private static class HeaderRenderer implements TableCellRenderer {
private DefaultTableCellRenderer renderer;
public HeaderRenderer(JTable table) {
renderer = (DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int col) {
return renderer.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, col);
}
}
/** /**
* Set the keyboard focus to new keyword textbox. * Set the keyboard focus to new keyword textbox.
*/ */