19 package org.sleuthkit.autopsy.filesearch;
21 import java.awt.event.ActionEvent;
22 import java.awt.event.ActionListener;
23 import java.text.NumberFormat;
24 import javax.swing.JCheckBox;
25 import javax.swing.JComboBox;
26 import javax.swing.JFormattedTextField;
27 import javax.swing.JMenuItem;
33 class SizeSearchPanel
extends javax.swing.JPanel {
35 private static final long serialVersionUID = 1L;
42 customizeComponents();
43 setComponentsEnabled();
46 private void customizeComponents() {
48 sizeTextField.setComponentPopupMenu(rightClickMenu);
49 ActionListener actList =
new ActionListener() {
51 public void actionPerformed(ActionEvent e) {
52 JMenuItem jmi = (JMenuItem) e.getSource();
53 if (jmi.equals(cutMenuItem)) {
55 }
else if (jmi.equals(copyMenuItem)) {
57 }
else if (jmi.equals(pasteMenuItem)) {
58 sizeTextField.paste();
59 }
else if (jmi.equals(selectAllMenuItem)) {
60 sizeTextField.selectAll();
64 cutMenuItem.addActionListener(actList);
65 copyMenuItem.addActionListener(actList);
66 pasteMenuItem.addActionListener(actList);
67 selectAllMenuItem.addActionListener(actList);
71 JCheckBox getSizeCheckBox() {
75 JComboBox<String> getSizeCompareComboBox() {
76 return sizeCompareComboBox;
79 JFormattedTextField getSizeTextField() {
83 JComboBox<String> getSizeUnitComboBox() {
84 return sizeUnitComboBox;
87 void setComponentsEnabled() {
88 boolean enabled = this.sizeCheckBox.isSelected();
89 this.sizeCompareComboBox.setEnabled(enabled);
90 this.sizeUnitComboBox.setEnabled(enabled);
91 this.sizeTextField.setEnabled(enabled);
99 @SuppressWarnings(
"unchecked")
101 private
void initComponents() {
103 rightClickMenu =
new javax.swing.JPopupMenu();
104 cutMenuItem =
new javax.swing.JMenuItem();
105 copyMenuItem =
new javax.swing.JMenuItem();
106 pasteMenuItem =
new javax.swing.JMenuItem();
107 selectAllMenuItem =
new javax.swing.JMenuItem();
108 sizeUnitComboBox =
new javax.swing.JComboBox<>();
109 sizeTextField =
new JFormattedTextField(NumberFormat.getIntegerInstance());
110 sizeCompareComboBox =
new javax.swing.JComboBox<>();
111 sizeCheckBox =
new javax.swing.JCheckBox();
113 cutMenuItem.setText(
org.openide.util.NbBundle.getMessage(SizeSearchPanel.class,
"SizeSearchPanel.cutMenuItem.text"));
114 rightClickMenu.add(cutMenuItem);
116 copyMenuItem.setText(
org.openide.util.NbBundle.getMessage(SizeSearchPanel.class,
"SizeSearchPanel.copyMenuItem.text"));
117 rightClickMenu.add(copyMenuItem);
119 pasteMenuItem.setText(
org.openide.util.NbBundle.getMessage(SizeSearchPanel.class,
"SizeSearchPanel.pasteMenuItem.text"));
120 rightClickMenu.add(pasteMenuItem);
122 selectAllMenuItem.setText(
org.openide.util.NbBundle.getMessage(SizeSearchPanel.class,
"SizeSearchPanel.selectAllMenuItem.text"));
123 rightClickMenu.add(selectAllMenuItem);
125 sizeUnitComboBox.setModel(
new javax.swing.DefaultComboBoxModel<String>(
new String[] {
"Byte(s)",
"KB",
"MB",
"GB",
"TB" }));
127 sizeTextField.setValue(0);
129 sizeCompareComboBox.setModel(
new javax.swing.DefaultComboBoxModel<String>(
new String[] {
"equal to",
"greater than",
"less than" }));
131 sizeCheckBox.setText(
org.openide.util.NbBundle.getMessage(SizeSearchPanel.class,
"SizeSearchPanel.sizeCheckBox.text"));
132 sizeCheckBox.addActionListener(
new java.awt.event.ActionListener() {
133 public void actionPerformed(java.awt.event.ActionEvent evt) {
134 sizeCheckBoxActionPerformed(evt);
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()
143 .addComponent(sizeCheckBox)
144 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
145 .addComponent(sizeCompareComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
146 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
147 .addComponent(sizeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
148 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
149 .addComponent(sizeUnitComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
151 layout.setVerticalGroup(
152 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
153 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
154 .addComponent(sizeCompareComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
155 .addComponent(sizeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
156 .addComponent(sizeUnitComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
157 .addComponent(sizeCheckBox))
161 private void sizeCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {
162 setComponentsEnabled();
163 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
167 private javax.swing.JMenuItem copyMenuItem;
168 private javax.swing.JMenuItem cutMenuItem;
169 private javax.swing.JMenuItem pasteMenuItem;
170 private javax.swing.JPopupMenu rightClickMenu;
171 private javax.swing.JMenuItem selectAllMenuItem;
172 private javax.swing.JCheckBox sizeCheckBox;
173 private javax.swing.JComboBox<String> sizeCompareComboBox;
174 private javax.swing.JFormattedTextField sizeTextField;
175 private javax.swing.JComboBox<String> sizeUnitComboBox;
178 void addActionListener(ActionListener l) {
179 sizeTextField.addActionListener(l);