package nl.fontys.sofa.limo.view.wizard.event; import javax.swing.event.ChangeListener; import nl.fontys.sofa.limo.domain.component.event.Event; import nl.fontys.sofa.limo.view.util.LIMOResourceBundle; import org.openide.WizardDescriptor; import org.openide.WizardValidationException; import org.openide.util.HelpCtx; /** * Wizard which uses the NewOrDuplicatedEventPanel to choose if you want to * create a new event or choose an existing as base. * * @author Sven Mäurer */ public class NewOrDuplicatedEventWizard implements WizardDescriptor.Panel<WizardDescriptor>, WizardDescriptor.ValidatingPanel<WizardDescriptor> { private NewOrDuplicatedEventPanel component; private Event event; @Override public NewOrDuplicatedEventPanel getComponent() { if (component == null) { component = new NewOrDuplicatedEventPanel(); } return component; } @Override public HelpCtx getHelp() { return HelpCtx.DEFAULT_HELP; } @Override public boolean isValid() { return true; } @Override public void addChangeListener(ChangeListener l) { } @Override public void removeChangeListener(ChangeListener l) { } @Override public void readSettings(WizardDescriptor wiz) { event = (Event) wiz.getProperty("event"); } /** * Save data of event to copy from if copy is selected. * * @param wiz the WizardDescriptor. */ @Override public void storeSettings(WizardDescriptor wiz) { Event copyFromEvent = getComponent().getEvent(); if (copyFromEvent != null) { wiz.putProperty("event", new Event(copyFromEvent)); } } @Override public void validate() throws WizardValidationException { if (getComponent().isEventCopySelected() && getComponent().getEvent() == null) { throw new WizardValidationException(null, null, LIMOResourceBundle.getString("EVENT_NOT_SET")); } } }