1 19 20 package org.netbeans.modules.scripting.php.webproject.wizard; 21 22 import java.awt.Component ; 23 import java.util.HashSet ; 24 import java.util.Iterator ; 25 import java.util.Set ; 26 import javax.swing.event.ChangeEvent ; 27 import javax.swing.event.ChangeListener ; 28 import org.openide.WizardDescriptor; 29 import org.openide.WizardValidationException; 30 import org.openide.util.HelpCtx; 31 import org.openide.util.NbBundle; 32 33 36 public class PHPWebProjectWizardPanel implements WizardDescriptor.Panel, 37 WizardDescriptor.ValidatingPanel, WizardDescriptor.FinishablePanel { 38 39 private WizardDescriptor wizardDescriptor; 40 private PHPWebProjectPanelVisual component; 41 42 43 public PHPWebProjectWizardPanel() { 44 } 45 46 public Component getComponent() { 47 if (component == null) { 48 component = new PHPWebProjectPanelVisual(this); 49 component.setName(NbBundle.getMessage(PHPWebProjectWizardPanel.class, "LBL_CreateProjectStep")); 50 } 51 return component; 52 } 53 54 public HelpCtx getHelp() { 55 return new HelpCtx(PHPWebProjectWizardPanel.class); 56 } 57 58 public boolean isValid() { 59 getComponent(); 60 return component.valid(wizardDescriptor); 61 } 62 63 private final Set <ChangeListener > listeners = new HashSet <ChangeListener >(1); 64 public final void addChangeListener(ChangeListener l) { 65 synchronized (listeners) { 66 listeners.add(l); 67 } 68 } 69 public final void removeChangeListener(ChangeListener l) { 70 synchronized (listeners) { 71 listeners.remove(l); 72 } 73 } 74 protected final void fireChangeEvent() { 75 Iterator <ChangeListener > it; 76 synchronized (listeners) { 77 it = new HashSet <ChangeListener >(listeners).iterator(); 78 } 79 ChangeEvent ev = new ChangeEvent (this); 80 while (it.hasNext()) { 81 it.next().stateChanged(ev); 82 } 83 } 84 85 public void readSettings(Object settings) { 86 wizardDescriptor = (WizardDescriptor) settings; 87 component.read(wizardDescriptor); 88 } 89 90 public void storeSettings(Object settings) { 91 WizardDescriptor d = (WizardDescriptor) settings; 92 component.store(d); 93 } 94 95 public boolean isFinishPanel() { 96 return true; 97 } 98 99 public void validate() throws WizardValidationException { 100 getComponent(); 101 component.validate(wizardDescriptor); 102 } 103 104 } 105 | Popular Tags |