19package org.sleuthkit.autopsy.logicalimager.configuration;
21import java.beans.PropertyChangeEvent;
22import java.beans.PropertyChangeListener;
23import java.util.HashSet;
24import java.util.Iterator;
26import javax.swing.event.ChangeEvent;
27import javax.swing.event.ChangeListener;
28import org.openide.WizardDescriptor;
29import org.openide.util.HelpCtx;
34final class ConfigWizardPanel3
implements WizardDescriptor.Panel<WizardDescriptor> {
36 private final Set<ChangeListener> listeners =
new HashSet<>(1);
37 private ConfigVisualPanel3 component;
40 public ConfigVisualPanel3 getComponent() {
41 if (component ==
null) {
42 component =
new ConfigVisualPanel3();
43 component.addPropertyChangeListener(
new PropertyChangeListener() {
45 public void propertyChange(PropertyChangeEvent evt) {
46 if (evt.getPropertyName().equals(ConfigVisualPanel3.getSavedEventName())) {
56 public HelpCtx getHelp() {
57 return HelpCtx.DEFAULT_HELP;
61 public void readSettings(WizardDescriptor wiz) {
62 String configFilename = (String) wiz.getProperty(
"configFilename");
63 LogicalImagerConfig config = (LogicalImagerConfig) wiz.getProperty(
"config");
64 component.setConfigInfoForSaving(configFilename, config);
65 component.resetPanel();
69 public void storeSettings(WizardDescriptor data) {
74 public boolean isValid() {
75 return component.isSaved();
81 private void fireChangeEvent() {
82 Iterator<ChangeListener> it;
83 synchronized (listeners) {
84 it =
new HashSet<>(listeners).iterator();
86 ChangeEvent ev =
new ChangeEvent(
this);
87 while (it.hasNext()) {
88 it.next().stateChanged(ev);
93 public void addChangeListener(ChangeListener cl) {
94 synchronized (listeners) {
100 public void removeChangeListener(ChangeListener cl) {
101 synchronized (listeners) {
102 listeners.remove(cl);