19 package org.sleuthkit.autopsy.casemodule;
21 import java.beans.PropertyChangeEvent;
22 import java.beans.PropertyChangeListener;
23 import java.util.HashSet;
24 import java.util.Iterator;
26 import java.util.logging.Level;
27 import org.openide.util.NbBundle;
29 import javax.swing.event.ChangeEvent;
30 import javax.swing.event.ChangeListener;
31 import org.openide.WizardDescriptor;
32 import org.openide.util.HelpCtx;
33 import org.openide.util.Lookup;
34 import org.openide.windows.WindowManager;
35 import java.awt.Cursor;
42 class AddImageWizardDataSourceSettingsPanel
extends ShortcutWizardDescriptorPanel implements PropertyChangeListener {
48 private AddImageWizardDataSourceSettingsVisual component;
49 private boolean isNextEnable =
false;
52 AddImageWizardDataSourceSettingsPanel() {
64 public AddImageWizardDataSourceSettingsVisual getComponent() {
65 if (component == null) {
66 WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
67 component =
new AddImageWizardDataSourceSettingsVisual(
this);
69 component.addPropertyChangeListener(
this);
80 public HelpCtx getHelp() {
82 return HelpCtx.DEFAULT_HELP;
94 public boolean isValid() {
101 void moveFocusToNext() {
104 Lookup.getDefault().lookup(AddImageAction.class).requestFocusButton(
105 NbBundle.getMessage(
this.getClass(),
"AddImageWizardChooseDataSourcePanel.moveFocusNext"));
114 public void enableNextButton(
boolean isEnabled) {
115 isNextEnable = isEnabled;
118 private final Set<ChangeListener> listeners =
new HashSet<>(1);
126 public final void addChangeListener(ChangeListener l) {
127 synchronized (listeners) {
138 public final void removeChangeListener(ChangeListener l) {
139 synchronized (listeners) {
148 protected final void fireChangeEvent() {
149 Iterator<ChangeListener> it;
150 synchronized (listeners) {
151 it =
new HashSet<>(listeners).iterator();
153 ChangeEvent ev =
new ChangeEvent(
this);
154 while (it.hasNext()) {
155 it.next().stateChanged(ev);
168 public void readSettings(WizardDescriptor settings) {
173 AddImageAction.CleanupTask cleanupTask = (AddImageAction.CleanupTask) settings.getProperty(AddImageAction.IMAGECLEANUPTASK_PROP);
174 if (cleanupTask != null) {
176 cleanupTask.cleanup();
177 }
catch (Exception ex) {
178 Logger logger = Logger.getLogger(AddImageWizardDataSourceSettingsPanel.class.getName());
179 logger.log(Level.WARNING,
"Error cleaning up image task", ex);
181 cleanupTask.disable();
184 }
catch (Exception e) {
186 component.setDspSelection((String) settings.getProperty(
"SelectedDsp"));
199 public void storeSettings(WizardDescriptor settings) {
209 public void propertyChange(PropertyChangeEvent evt) {