19 package org.sleuthkit.autopsy.filesearch;
21 import java.awt.event.ActionEvent;
22 import java.awt.event.ActionListener;
23 import javax.swing.JCheckBox;
24 import javax.swing.JMenuItem;
25 import javax.swing.JTextField;
26 import javax.swing.event.DocumentEvent;
27 import javax.swing.event.DocumentListener;
32 class HashSearchPanel
extends javax.swing.JPanel {
34 private static final long serialVersionUID = 1L;
41 customizeComponents();
42 setComponentsEnabled();
45 private void customizeComponents() {
47 searchTextField.setComponentPopupMenu(rightClickMenu);
48 ActionListener actList =
new ActionListener() {
50 public void actionPerformed(ActionEvent e) {
51 JMenuItem jmi = (JMenuItem) e.getSource();
52 if (jmi.equals(cutMenuItem)) {
53 searchTextField.cut();
54 }
else if (jmi.equals(copyMenuItem)) {
55 searchTextField.copy();
56 }
else if (jmi.equals(pasteMenuItem)) {
57 searchTextField.paste();
58 }
else if (jmi.equals(selectAllMenuItem)) {
59 searchTextField.selectAll();
63 cutMenuItem.addActionListener(actList);
64 copyMenuItem.addActionListener(actList);
65 pasteMenuItem.addActionListener(actList);
66 selectAllMenuItem.addActionListener(actList);
67 this.searchTextField.getDocument().addDocumentListener(
new DocumentListener() {
69 public void insertUpdate(DocumentEvent e) {
70 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
74 public void removeUpdate(DocumentEvent e) {
75 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
79 public void changedUpdate(DocumentEvent e) {
80 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
86 JCheckBox getHashCheckBox() {
90 JTextField getSearchTextField() {
91 return searchTextField;
94 void setComponentsEnabled() {
95 boolean enabled = hashCheckBox.isSelected();
96 this.searchTextField.setEnabled(enabled);
104 @SuppressWarnings(
"unchecked")
106 private
void initComponents() {
108 rightClickMenu =
new javax.swing.JPopupMenu();
109 cutMenuItem =
new javax.swing.JMenuItem();
110 copyMenuItem =
new javax.swing.JMenuItem();
111 pasteMenuItem =
new javax.swing.JMenuItem();
112 selectAllMenuItem =
new javax.swing.JMenuItem();
113 hashCheckBox =
new javax.swing.JCheckBox();
114 searchTextField =
new javax.swing.JTextField();
116 cutMenuItem.setText(
org.openide.util.NbBundle.getMessage(HashSearchPanel.class,
"NameSearchPanel.cutMenuItem.text"));
117 rightClickMenu.add(cutMenuItem);
119 copyMenuItem.setText(
org.openide.util.NbBundle.getMessage(HashSearchPanel.class,
"NameSearchPanel.copyMenuItem.text"));
120 rightClickMenu.add(copyMenuItem);
122 pasteMenuItem.setText(
org.openide.util.NbBundle.getMessage(HashSearchPanel.class,
"NameSearchPanel.pasteMenuItem.text"));
123 rightClickMenu.add(pasteMenuItem);
125 selectAllMenuItem.setText(
org.openide.util.NbBundle.getMessage(HashSearchPanel.class,
"NameSearchPanel.selectAllMenuItem.text"));
126 rightClickMenu.add(selectAllMenuItem);
128 hashCheckBox.setFont(hashCheckBox.getFont().deriveFont(hashCheckBox.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
129 hashCheckBox.setText(
org.openide.util.NbBundle.getMessage(HashSearchPanel.class,
"HashSearchPanel.md5CheckBox.text"));
130 hashCheckBox.addActionListener(
new java.awt.event.ActionListener() {
131 public void actionPerformed(java.awt.event.ActionEvent evt) {
132 hashCheckBoxActionPerformed(evt);
136 searchTextField.setFont(searchTextField.getFont().deriveFont(searchTextField.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
138 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
139 this.setLayout(layout);
140 layout.setHorizontalGroup(
141 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
142 .addGroup(layout.createSequentialGroup()
144 .addComponent(hashCheckBox)
145 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
146 .addComponent(searchTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE)
149 layout.setVerticalGroup(
150 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
151 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
152 .addComponent(hashCheckBox)
153 .addComponent(searchTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
157 private void hashCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {
158 setComponentsEnabled();
159 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
163 private javax.swing.JMenuItem copyMenuItem;
164 private javax.swing.JMenuItem cutMenuItem;
165 private javax.swing.JCheckBox hashCheckBox;
166 private javax.swing.JMenuItem pasteMenuItem;
167 private javax.swing.JPopupMenu rightClickMenu;
168 private javax.swing.JTextField searchTextField;
169 private javax.swing.JMenuItem selectAllMenuItem;
172 void addActionListener(ActionListener l) {
173 searchTextField.addActionListener(l);