diff options
Diffstat (limited to 'scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelPropertiesPanel.java')
-rw-r--r-- | scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelPropertiesPanel.java | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelPropertiesPanel.java b/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelPropertiesPanel.java new file mode 100644 index 000000000000..704bb6f66aed --- /dev/null +++ b/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelPropertiesPanel.java @@ -0,0 +1,117 @@ +/* + * ParcelPropertiesPanel.java + * + * Created on January 15, 2003 + */ + +package org.openoffice.netbeans.modules.office.wizard; + +import java.awt.Component; +import java.net.URL; +import java.net.MalformedURLException; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import org.openide.WizardDescriptor; +import org.openide.loaders.TemplateWizard; +import org.openide.util.HelpCtx; +import org.openide.util.NbBundle; + +/** A single panel descriptor for a wizard. + * You probably want to make a wizard iterator to hold it. + * + * @author tomaso + */ +public class ParcelPropertiesPanel implements WizardDescriptor.FinishPanel { + + /** The visual component that displays this panel. + * If you need to access the component from this class, + * just use getComponent(). + */ + private ParcelPropertiesVisualPanel component; + + /** Create the wizard panel descriptor. */ + public ParcelPropertiesPanel() { + } + + // Get the visual component for the panel. In this template, the component + // is kept separate. This can be more efficient: if the wizard is created + // but never displayed, or not all panels are displayed, it is better to + // create only those which really need to be visible. + public Component getComponent() { + if (component == null) { + component = new ParcelPropertiesVisualPanel(this); + } + return component; + } + + public HelpCtx getHelp() { + // Show no Help button for this panel: + return HelpCtx.DEFAULT_HELP; + // If you have context help: + // return new HelpCtx(ParcelPropertiesPanel.class); + } + + public boolean isValid() { + // If it is always OK to press Next or Finish, then: + return true; + // If it depends on some condition (form filled out...), then: + // return someCondition(); + // and when this condition changes (last form field filled in...) then: + // fireChangeEvent(); + // and uncomment the complicated stuff below. + } + + public final void addChangeListener(ChangeListener l) {} + public final void removeChangeListener(ChangeListener l) {} + /* + private final Set listeners = new HashSet(1); // Set<ChangeListener> + public final void addChangeListener(ChangeListener l) { + synchronized (listeners) { + listeners.add(l); + } + } + public final void removeChangeListener(ChangeListener l) { + synchronized (listeners) { + listeners.remove(l); + } + } + protected final void fireChangeEvent() { + Iterator it; + synchronized (listeners) { + it = new HashSet(listeners).iterator(); + } + ChangeEvent ev = new ChangeEvent(this); + while (it.hasNext()) { + ((ChangeListener)it.next()).stateChanged(ev); + } + } + */ + + public void setName(String name) { + this.name = name; + } + + public void setLanguage(String language) { + this.language = language; + } + + private String language = "Java"; + private String name = null; + + // You can use a settings object to keep track of state. + // Normally the settings object will be the WizardDescriptor, + // so you can use WizardDescriptor.getProperty & putProperty + // to store information entered by the user. + public void readSettings(Object settings) { + } + + public void storeSettings(Object settings) { + TemplateWizard wiz = (TemplateWizard)settings; + wiz.setTargetName(name); + wiz.putProperty(ParcelContentsIterator.PROP_LANGUAGE, language); + } +} |