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);
68 component.setLocation(WindowManager.getDefault().getMainWindow().getLocation());
70 component.addPropertyChangeListener(
this);
81 public HelpCtx getHelp() {
83 return HelpCtx.DEFAULT_HELP;
95 public boolean isValid() {
102 void moveFocusToNext() {
105 Lookup.getDefault().lookup(AddImageAction.class).requestFocusButton(
106 NbBundle.getMessage(
this.getClass(),
"AddImageWizardChooseDataSourcePanel.moveFocusNext"));
115 public void enableNextButton(
boolean isEnabled) {
116 isNextEnable = isEnabled;
119 private final Set<ChangeListener> listeners =
new HashSet<>(1);
127 public final void addChangeListener(ChangeListener l) {
128 synchronized (listeners) {
139 public final void removeChangeListener(ChangeListener l) {
140 synchronized (listeners) {
149 protected final void fireChangeEvent() {
150 Iterator<ChangeListener> it;
151 synchronized (listeners) {
152 it =
new HashSet<>(listeners).iterator();
154 ChangeEvent ev =
new ChangeEvent(
this);
155 while (it.hasNext()) {
156 it.next().stateChanged(ev);
169 public void readSettings(WizardDescriptor settings) {
174 AddImageAction.CleanupTask cleanupTask = (AddImageAction.CleanupTask) settings.getProperty(AddImageAction.IMAGECLEANUPTASK_PROP);
175 if (cleanupTask != null) {
177 cleanupTask.cleanup();
178 }
catch (Exception ex) {
179 Logger logger = Logger.getLogger(AddImageWizardDataSourceSettingsPanel.class.getName());
180 logger.log(Level.WARNING,
"Error cleaning up image task", ex);
182 cleanupTask.disable();
185 }
catch (Exception e) {
187 component.setDspSelection((String) settings.getProperty(
"SelectedDsp"));
200 public void storeSettings(WizardDescriptor settings) {
210 public void propertyChange(PropertyChangeEvent evt) {