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));