package com.vividsolutions.jump.workbench.ui.wizard;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import javax.swing.JPanel;
import com.vividsolutions.jump.I18N;
import com.vividsolutions.jump.workbench.ui.InputChangedListener;
public class AbstractWizardPanel extends JPanel implements WizardPanel {
private Set<InputChangedListener> listeners = new LinkedHashSet<InputChangedListener>();
private String id;
private String nextId;
private String instructions;
private String title;
private Map data;
public AbstractWizardPanel() {
id = getClass().getName();
title = I18N.get(id);
instructions = I18N.get(id + ".instructions");
}
public AbstractWizardPanel(final String id, final String title,
final String instructions) {
this.id = id;
this.title = title;
this.instructions = instructions;
}
public AbstractWizardPanel(final String id, final String nextId,
final String title, final String instructions) {
this.id = id;
this.nextId = nextId;
this.title = title;
this.instructions = instructions;
}
public void add(final InputChangedListener listener) {
listeners.add(listener);
}
public void remove(InputChangedListener listener) {
listeners.remove(listener);
}
protected void fireInputChanged() {
for (InputChangedListener listener : listeners) {
listener.inputChanged();
}
}
public void enteredFromLeft(final Map data) {
this.data = data;
}
public Map getData() {
return data;
}
public void exitingToRight() throws Exception {
}
public String getID() {
return id;
}
public String getInstructions() {
return instructions;
}
public String getNextID() {
return nextId;
}
protected void setNextID(final String nextId) {
this.nextId = nextId;
}
public String getTitle() {
return title;
}
public boolean isInputValid() {
return true;
}
}