Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
OpenMultiUserCasePanel.java
Go to the documentation of this file.
1/*
2 * Autopsy Forensic Browser
3 *
4 * Copyright 2017-2019 Basis Technology Corp.
5 * Contact: carrier <at> sleuthkit <dot> org
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19package org.sleuthkit.autopsy.casemodule;
20
21import org.sleuthkit.autopsy.casemodule.multiusercasesbrowser.MultiUserCasesBrowserPanel;
22import javax.swing.JDialog;
23import javax.swing.JPanel;
24import javax.swing.event.ListSelectionEvent;
25import org.openide.explorer.ExplorerManager;
26import org.openide.nodes.Node;
27import org.openide.util.Lookup;
28import org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData;
29
33@SuppressWarnings("PMD.SingularField") // Matisse-generated UI widgets cause lots of false positives
34final class OpenMultiUserCasePanel extends JPanel {
35
36 private static final long serialVersionUID = 1L;
37 private final JDialog parentDialog;
38 private final MultiUserCasesBrowserPanel caseBrowserPanel;
39
47 OpenMultiUserCasePanel(JDialog parentDialog) {
48 this.parentDialog = parentDialog;
49 initComponents(); // Machine generated code
50 caseBrowserPanel = new MultiUserCasesBrowserPanel(new ExplorerManager(), new OpenMultiUserCaseDialogCustomizer());
51 caseBrowserScrollPane.add(caseBrowserPanel);
52 caseBrowserScrollPane.setViewportView(caseBrowserPanel);
53 openSelectedCaseButton.setEnabled(false);
54 caseBrowserPanel.addListSelectionListener((ListSelectionEvent event) -> {
55 openSelectedCaseButton.setEnabled(caseBrowserPanel.getExplorerManager().getSelectedNodes().length > 0);
56 });
57 }
58
63 void refreshDisplay() {
64 caseBrowserPanel.displayCases();
65 }
66
72 @SuppressWarnings("unchecked")
73 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
74 private void initComponents() {
75
76 openSingleUserCaseButton = new javax.swing.JButton();
77 cancelButton = new javax.swing.JButton();
78 searchLabel = new javax.swing.JLabel();
79 openSelectedCaseButton = new javax.swing.JButton();
80 caseBrowserScrollPane = new javax.swing.JScrollPane();
81
82 setName("Completed Cases"); // NOI18N
83 setPreferredSize(new java.awt.Dimension(960, 485));
84
85 org.openide.awt.Mnemonics.setLocalizedText(openSingleUserCaseButton, org.openide.util.NbBundle.getMessage(OpenMultiUserCasePanel.class, "OpenMultiUserCasePanel.openSingleUserCaseButton.text")); // NOI18N
86 openSingleUserCaseButton.setMinimumSize(new java.awt.Dimension(156, 23));
87 openSingleUserCaseButton.setPreferredSize(new java.awt.Dimension(156, 23));
88 openSingleUserCaseButton.addActionListener(new java.awt.event.ActionListener() {
89 public void actionPerformed(java.awt.event.ActionEvent evt) {
90 openSingleUserCaseButtonActionPerformed(evt);
91 }
92 });
93
94 org.openide.awt.Mnemonics.setLocalizedText(cancelButton, org.openide.util.NbBundle.getMessage(OpenMultiUserCasePanel.class, "OpenMultiUserCasePanel.cancelButton.text")); // NOI18N
95 cancelButton.setMaximumSize(new java.awt.Dimension(80, 23));
96 cancelButton.setMinimumSize(new java.awt.Dimension(80, 23));
97 cancelButton.setPreferredSize(new java.awt.Dimension(80, 23));
98 cancelButton.addActionListener(new java.awt.event.ActionListener() {
99 public void actionPerformed(java.awt.event.ActionEvent evt) {
100 cancelButtonActionPerformed(evt);
101 }
102 });
103
104 org.openide.awt.Mnemonics.setLocalizedText(searchLabel, org.openide.util.NbBundle.getMessage(OpenMultiUserCasePanel.class, "OpenMultiUserCasePanel.searchLabel.text")); // NOI18N
105
106 org.openide.awt.Mnemonics.setLocalizedText(openSelectedCaseButton, org.openide.util.NbBundle.getMessage(OpenMultiUserCasePanel.class, "OpenMultiUserCasePanel.openSelectedCaseButton.text")); // NOI18N
107 openSelectedCaseButton.addActionListener(new java.awt.event.ActionListener() {
108 public void actionPerformed(java.awt.event.ActionEvent evt) {
109 openSelectedCaseButtonActionPerformed(evt);
110 }
111 });
112
113 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
114 this.setLayout(layout);
115 layout.setHorizontalGroup(
116 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
117 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
118 .addContainerGap()
119 .addComponent(searchLabel)
120 .addGap(32, 32, 32)
121 .addComponent(openSingleUserCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
122 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 74, Short.MAX_VALUE)
123 .addComponent(openSelectedCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
124 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
125 .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
126 .addContainerGap())
127 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
128 .addGroup(layout.createSequentialGroup()
129 .addContainerGap()
130 .addComponent(caseBrowserScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 948, Short.MAX_VALUE)
131 .addContainerGap()))
132 );
133
134 layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {cancelButton, openSelectedCaseButton, openSingleUserCaseButton});
135
136 layout.setVerticalGroup(
137 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
138 .addGroup(layout.createSequentialGroup()
139 .addGap(462, 462, 462)
140 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
141 .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
142 .addComponent(openSingleUserCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
143 .addComponent(searchLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
144 .addComponent(openSelectedCaseButton))
145 .addContainerGap())
146 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
147 .addGroup(layout.createSequentialGroup()
148 .addContainerGap()
149 .addComponent(caseBrowserScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 445, javax.swing.GroupLayout.PREFERRED_SIZE)
150 .addContainerGap(49, Short.MAX_VALUE)))
151 );
152
153 layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {cancelButton, openSelectedCaseButton, openSingleUserCaseButton});
154
155 }// </editor-fold>//GEN-END:initComponents
156
162 private void openSingleUserCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openSingleUserCaseButtonActionPerformed
163 Lookup.getDefault().lookup(CaseOpenAction.class).openCaseSelectionWindow();
164 }//GEN-LAST:event_openSingleUserCaseButtonActionPerformed
165
171 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
172 if (parentDialog != null) {
173 parentDialog.setVisible(false);
174 }
175 }//GEN-LAST:event_cancelButtonActionPerformed
176
183 private void openSelectedCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openSelectedCaseButtonActionPerformed
184 ExplorerManager explorerManager = caseBrowserPanel.getExplorerManager();
185 Node[] selectedNodes = explorerManager.getSelectedNodes();
186 if (selectedNodes.length > 0) {
187 CaseNodeData nodeData = selectedNodes[0].getLookup().lookup(CaseNodeData.class);
188 if (nodeData != null) {
189 new OpenMultiUserCaseAction(nodeData).actionPerformed(evt);
190 }
191 }
192 }//GEN-LAST:event_openSelectedCaseButtonActionPerformed
193
194 // Variables declaration - do not modify//GEN-BEGIN:variables
195 private javax.swing.JButton cancelButton;
196 private javax.swing.JScrollPane caseBrowserScrollPane;
197 private javax.swing.JButton openSelectedCaseButton;
198 private javax.swing.JButton openSingleUserCaseButton;
199 private javax.swing.JLabel searchLabel;
200 // End of variables declaration//GEN-END:variables
201}

Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.