19 package org.sleuthkit.autopsy.actions;
21 import java.awt.event.ActionEvent;
22 import java.awt.event.KeyEvent;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.logging.Level;
26 import javax.swing.AbstractAction;
27 import javax.swing.ActionMap;
28 import javax.swing.InputMap;
29 import javax.swing.JComponent;
30 import javax.swing.JDialog;
31 import javax.swing.JFrame;
32 import javax.swing.KeyStroke;
34 import org.openide.util.NbBundle;
35 import org.openide.windows.WindowManager;
44 "GetTagNameAndCommentDialog.noTags");
45 private final HashMap<String, TagName>
tagNames =
new HashMap<>();
72 super((JFrame)WindowManager.getDefault().getMainWindow(),
78 String cancelName = NbBundle.getMessage(this.getClass(),
"GetTagNameAndCommentDialog.cancelName");
79 InputMap inputMap = getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
80 inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), cancelName);
81 ActionMap actionMap = getRootPane().getActionMap();
82 actionMap.put(cancelName,
new AbstractAction() {
84 public void actionPerformed(ActionEvent e) {
92 List<TagName> currentTagNames = null;
99 if (null != currentTagNames && currentTagNames.isEmpty()) {
100 tagCombo.addItem(NO_TAG_NAMES_MESSAGE);
103 for (
TagName tagName : currentTagNames) {
104 tagNames.put(tagName.getDisplayName(), tagName);
105 tagCombo.addItem(tagName.getDisplayName());
110 this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
119 @SuppressWarnings(
"unchecked")
123 okButton =
new javax.swing.JButton();
125 tagCombo =
new javax.swing.JComboBox<String>();
126 tagLabel =
new javax.swing.JLabel();
131 addWindowListener(
new java.awt.event.WindowAdapter() {
132 public void windowClosing(java.awt.event.WindowEvent evt) {
138 okButton.addActionListener(
new java.awt.event.ActionListener() {
139 public void actionPerformed(java.awt.event.ActionEvent evt) {
145 cancelButton.addActionListener(
new java.awt.event.ActionListener() {
146 public void actionPerformed(java.awt.event.ActionEvent evt) {
153 org.openide.awt.Mnemonics.setLocalizedText(tagLabel,
org.openide.util.NbBundle.getMessage(
GetTagNameAndCommentDialog.class,
"GetTagNameAndCommentDialog.tagLabel.text"));
161 newTagButton.addActionListener(
new java.awt.event.ActionListener() {
162 public void actionPerformed(java.awt.event.ActionEvent evt) {
167 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(getContentPane());
168 getContentPane().setLayout(layout);
169 layout.setHorizontalGroup(
170 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
171 .addGroup(layout.createSequentialGroup()
173 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
174 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
176 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78, Short.MAX_VALUE)
177 .addComponent(
okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
178 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
180 .addGroup(layout.createSequentialGroup()
181 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
183 .addComponent(tagLabel))
184 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
185 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
187 .addComponent(
tagCombo, 0, 214, Short.MAX_VALUE))
188 .addGap(0, 0, Short.MAX_VALUE)))
192 layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
new java.awt.Component[] {cancelButton, okButton});
194 layout.setVerticalGroup(
195 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
196 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
198 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
199 .addComponent(
tagCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
200 .addComponent(tagLabel))
201 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
202 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
204 .addComponent(
commentText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
205 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
206 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
213 getRootPane().setDefaultButton(
okButton);
224 tagNameAndComment = null;
229 tagNameAndComment = null;
235 if (newTagName != null) {
TagsManager getTagsManager()
static Case getCurrentCase()
static TagName doDialog()
static Logger getLogger(String name)