1 19 20 package org.netbeans.modules.ant.freeform.ui; 21 22 import java.awt.Component ; 23 import java.util.HashSet ; 24 import java.util.Set ; 25 import javax.swing.event.ChangeEvent ; 26 import javax.swing.event.ChangeListener ; 27 import org.netbeans.modules.ant.freeform.spi.support.NewFreeformProjectSupport; 28 import org.openide.WizardDescriptor; 29 import org.openide.util.HelpCtx; 30 import org.openide.util.NbBundle; 31 32 35 public class BasicProjectInfoWizardPanel implements WizardDescriptor.Panel, ChangeListener { 36 37 private BasicProjectInfoPanel component; 38 private WizardDescriptor wizardDescriptor; 39 private final Set <ChangeListener > listeners = new HashSet <ChangeListener >(1); 40 41 public BasicProjectInfoWizardPanel() { 42 getComponent().setName(NbBundle.getMessage(BasicProjectInfoWizardPanel.class, "WizardPanel_NameAndLocation")); 43 } 44 45 public Component getComponent() { 46 if (component == null) { 47 component = new BasicProjectInfoPanel("", "", "", "", this); component.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(BasicProjectInfoWizardPanel.class, "ACSD_BasicProjectInfoWizardPanel")); } 50 return component; 51 } 52 53 public HelpCtx getHelp() { 54 return new HelpCtx( BasicProjectInfoWizardPanel.class ); 55 } 56 57 public boolean isValid() { 58 getComponent(); 59 String error = component.getError(); 60 if (error != null) { 61 wizardDescriptor.putProperty( "WizardPanel_errorMessage", error); return false; 63 } 64 wizardDescriptor.putProperty( "WizardPanel_errorMessage", ""); return true; 66 } 67 68 public final void addChangeListener(ChangeListener l) { 69 synchronized (listeners) { 70 listeners.add(l); 71 } 72 } 73 74 public final void removeChangeListener(ChangeListener l) { 75 synchronized (listeners) { 76 listeners.remove(l); 77 } 78 } 79 80 final void fireChangeEvent() { 81 Set <ChangeListener > ls; 82 synchronized (listeners) { 83 ls = new HashSet <ChangeListener >(listeners); 84 } 85 ChangeEvent ev = new ChangeEvent (this); 86 for (ChangeListener l : ls) { 87 l.stateChanged(ev); 88 } 89 } 90 91 public void readSettings(Object settings) { 92 wizardDescriptor = (WizardDescriptor)settings; 93 wizardDescriptor.putProperty("NewProjectWizard_Title", component.getClientProperty("NewProjectWizard_Title")); } 95 96 public void storeSettings(Object settings) { 97 wizardDescriptor = (WizardDescriptor)settings; 98 wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_ANT_SCRIPT, component.getAntScript()); 99 wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_NAME, component.getProjectName()); 100 wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_LOCATION, component.getProjectLocation()); 101 wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_FOLDER, component.getProjectFolder()); 102 wizardDescriptor.putProperty("NewProjectWizard_Title", null); wizardDescriptor.putProperty("setAsMain", component.getMainProject()); } 105 106 public void stateChanged(ChangeEvent e) { 107 fireChangeEvent(); 108 } 109 110 } 111 | Popular Tags |