Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
PersonaDetailsDialog.java
Go to the documentation of this file.
1/*
2 * Central Repository
3 *
4 * Copyright 2020 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.centralrepository.persona;
20
21import java.awt.Component;
22import java.util.logging.Level;
23import javax.swing.JDialog;
24import javax.swing.JFrame;
25import javax.swing.JOptionPane;
26import org.openide.util.NbBundle;
27import org.openide.windows.WindowManager;
28import org.sleuthkit.autopsy.centralrepository.datamodel.Persona;
29import org.sleuthkit.autopsy.coreutils.Logger;
30
34@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
35public class PersonaDetailsDialog extends JDialog {
36
37 private static final long serialVersionUID = 1L;
38
39 private static final Logger logger = Logger.getLogger(PersonaDetailsDialog.class.getName());
40
42
43 private String popupMessageOnStartup = "";
44
45 @NbBundle.Messages({
46 "PersonaDetailsDialogCreateTitle=Create Persona",
47 "PersonaDetailsDialogEditTitle=Edit Persona",
48 "PersonaDetailsDialogViewTitle=View Persona",})
50 // by default, display the dialog right away
51 this(parent, mode, persona, callback, true);
52 }
53 public PersonaDetailsDialog(Component parent, PersonaDetailsMode mode, Persona persona, PersonaDetailsDialogCallback callback, boolean displayDialog) {
54 super((JFrame) WindowManager.getDefault().getMainWindow(),
55 getTitle(mode),
56 true);
57 this.callback = callback;
58
60
61 pdp.setMode(parent, mode, persona);
62
63 if (displayDialog) {
64 display();
65 }
66 }
67
68 private static String getTitle(PersonaDetailsMode mode) {
69 switch (mode) {
70 case CREATE:
71 return Bundle.PersonaDetailsDialogCreateTitle();
72 case EDIT:
73 return Bundle.PersonaDetailsDialogEditTitle();
74 case VIEW:
75 return Bundle.PersonaDetailsDialogViewTitle();
76 default:
77 logger.log(Level.WARNING, "Unsupported mode: {0}", mode);
78 return Bundle.PersonaDetailsDialogViewTitle();
79 }
80 }
81
87 @SuppressWarnings("unchecked")
88 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
89 private void initComponents() {
90
91 cancelBtn = new javax.swing.JButton();
92 okBtn = new javax.swing.JButton();
93 jScrollPane1 = new javax.swing.JScrollPane();
94 pdp = new org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsPanel();
95
96 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
97 addWindowListener(new java.awt.event.WindowAdapter() {
98 public void windowOpened(java.awt.event.WindowEvent evt) {
99 formWindowOpened(evt);
100 }
101 });
102
103 org.openide.awt.Mnemonics.setLocalizedText(cancelBtn, org.openide.util.NbBundle.getMessage(PersonaDetailsDialog.class, "PersonaDetailsDialog.cancelBtn.text")); // NOI18N
104 cancelBtn.setMaximumSize(new java.awt.Dimension(79, 23));
105 cancelBtn.setMinimumSize(new java.awt.Dimension(79, 23));
106 cancelBtn.setPreferredSize(new java.awt.Dimension(79, 23));
107 cancelBtn.addActionListener(new java.awt.event.ActionListener() {
108 public void actionPerformed(java.awt.event.ActionEvent evt) {
109 cancelBtnActionPerformed(evt);
110 }
111 });
112
113 org.openide.awt.Mnemonics.setLocalizedText(okBtn, org.openide.util.NbBundle.getMessage(PersonaDetailsDialog.class, "PersonaDetailsDialog.okBtn.text")); // NOI18N
114 okBtn.addActionListener(new java.awt.event.ActionListener() {
115 public void actionPerformed(java.awt.event.ActionEvent evt) {
116 okBtnActionPerformed(evt);
117 }
118 });
119
120 jScrollPane1.setBorder(null);
121 jScrollPane1.setViewportView(pdp);
122
123 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
124 getContentPane().setLayout(layout);
125 layout.setHorizontalGroup(
126 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
127 .addGroup(layout.createSequentialGroup()
128 .addContainerGap(470, Short.MAX_VALUE)
129 .addComponent(okBtn)
130 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
131 .addComponent(cancelBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
132 .addContainerGap())
133 .addComponent(jScrollPane1)
134 );
135
136 layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {cancelBtn, okBtn});
137
138 layout.setVerticalGroup(
139 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
140 .addGroup(layout.createSequentialGroup()
141 .addContainerGap()
142 .addComponent(jScrollPane1)
143 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
144 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
145 .addComponent(okBtn)
146 .addComponent(cancelBtn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
147 .addContainerGap())
148 );
149
150 pack();
151 }// </editor-fold>//GEN-END:initComponents
152
153 public final void display() {
154 this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
155 setVisible(true);
156 }
157
158 private void okBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okBtnActionPerformed
159 Persona ret = pdp.okHandler();
160 if (ret != null) {
161 callback.callback(ret);
162 dispose();
163 }
164 }//GEN-LAST:event_okBtnActionPerformed
165
166 private void cancelBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelBtnActionPerformed
167 dispose();
168 }//GEN-LAST:event_cancelBtnActionPerformed
169
170 private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
171 if(!popupMessageOnStartup.isEmpty()) {
172 JOptionPane.showMessageDialog(this, popupMessageOnStartup, "Persona Details", JOptionPane.INFORMATION_MESSAGE);
173 }
174 }//GEN-LAST:event_formWindowOpened
175
177 return this.pdp;
178 }
179
180 public void setStartupPopupMessage(String message) {
181 popupMessageOnStartup = message;
182 }
183
184 // Variables declaration - do not modify//GEN-BEGIN:variables
185 private javax.swing.JButton cancelBtn;
186 private javax.swing.JScrollPane jScrollPane1;
187 private javax.swing.JButton okBtn;
189 // End of variables declaration//GEN-END:variables
190}
org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsPanel pdp
PersonaDetailsDialog(Component parent, PersonaDetailsMode mode, Persona persona, PersonaDetailsDialogCallback callback, boolean displayDialog)
PersonaDetailsDialog(Component parent, PersonaDetailsMode mode, Persona persona, PersonaDetailsDialogCallback callback)
synchronized static Logger getLogger(String name)
Definition Logger.java:124

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