19 package org.sleuthkit.autopsy.casemodule;
21 import java.util.HashSet;
22 import java.util.Iterator;
24 import javax.swing.event.ChangeEvent;
25 import javax.swing.event.ChangeListener;
26 import org.openide.WizardDescriptor;
27 import org.openide.WizardValidationException;
28 import org.openide.util.HelpCtx;
29 import org.openide.windows.WindowManager;
30 import java.awt.Cursor;
35 class NewCaseWizardPanel2
implements WizardDescriptor.ValidatingPanel<WizardDescriptor> {
37 private NewCaseVisualPanel2 component;
38 private final Set<ChangeListener> listeners =
new HashSet<>(1);
46 public NewCaseVisualPanel2 getComponent() {
47 if (component == null) {
48 component =
new NewCaseVisualPanel2();
60 public HelpCtx getHelp() {
64 return HelpCtx.DEFAULT_HELP;
75 public boolean isValid() {
85 public final void addChangeListener(ChangeListener listener) {
86 synchronized (listeners) {
87 listeners.add(listener);
97 public final void removeChangeListener(ChangeListener listener) {
98 synchronized (listeners) {
99 listeners.remove(listener);
106 protected final void fireChangeEvent() {
107 Iterator<ChangeListener> it;
108 synchronized (listeners) {
109 it =
new HashSet<>(listeners).iterator();
111 ChangeEvent ev =
new ChangeEvent(
this);
112 while (it.hasNext()) {
113 it.next().stateChanged(ev);
126 public void readSettings(WizardDescriptor settings) {
139 public void storeSettings(WizardDescriptor settings) {
140 NewCaseVisualPanel2 currentComponent = getComponent();
141 settings.putProperty(
"caseNumber", currentComponent.getCaseNumber());
142 settings.putProperty(
"caseExaminer", currentComponent.getExaminer());
146 public void validate() throws WizardValidationException {
147 WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));