? openide/hs_err_pid9353.log ? openide/manifest-subst.mf ? openide/openide-13javac-workaround.jar ? openide/actions/src/org/openide/resources ? openide/convertor/manifest-subst.mf ? openide/convertor/netbeans ? openide/io/manifest-subst.mf ? openide/loaders/src/.nbintdb ? openide/looks/netbeans ? openide/registry/manifest-subst.mf ? openide/registry/netbeans ? openide/src/.nbintdb ? openide/test/unit/src/.nbintdb ? openide/test/unit/src/org/openide/InstantiatingIteratorTest.java ? openide/wizards/javadoc ? openide/wizards/manifest-subst.mf ? openide/wizards/netbeans ? openide/wizards/prototype/usecase2/manifest-subst.mf ? openide/wizards/prototype/usecase2/netbeans ? openide/wizards/prototype/usecase2/reload ? openide/wizards/src/org/netbeans/spi/wizards/DataPage.java ? java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/MainClassChooserJList.form ? java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/MainClassChooserJList.java Index: openide/loaders/src/org/openide/loaders/TemplateWizardIterImpl.java =================================================================== RCS file: /cvs/openide/loaders/src/org/openide/loaders/TemplateWizardIterImpl.java,v retrieving revision 1.2 diff -u -r1.2 TemplateWizardIterImpl.java --- openide/loaders/src/org/openide/loaders/TemplateWizardIterImpl.java 2 Apr 2003 09:46:03 -0000 1.2 +++ openide/loaders/src/org/openide/loaders/TemplateWizardIterImpl.java 2 May 2004 21:02:54 -0000 @@ -13,6 +13,7 @@ package org.openide.loaders; +import java.io.IOException; import javax.swing.event.*; import org.openide.WizardDescriptor; @@ -23,7 +24,7 @@ * @author Jaroslav Tulach */ final class TemplateWizardIterImpl extends Object - implements WizardDescriptor.Iterator, ChangeListener { + implements WizardDescriptor.InstantiatingIterator, ChangeListener { /** iterator to delegate to */ private TemplateWizard.Iterator iterator; @@ -210,5 +211,16 @@ ((javax.swing.event.ChangeListener)listeners[i+1]).stateChanged (e); } } + } + + // impl of WizardDescriptor.InstantiatingIterator + public java.util.Set instantiate () throws IOException { + return iterator.instantiate (this.wizardInstance); + } + public void initialize (WizardDescriptor wizard) { + iterator.initialize ((TemplateWizard)wizard); + } + public void uninitialize (WizardDescriptor wizard) { + iterator.uninitialize ((TemplateWizard)wizard); } } Index: openide/src/org/openide/WizardDescriptor.java =================================================================== RCS file: /cvs/openide/src/org/openide/WizardDescriptor.java,v retrieving revision 1.96 diff -u -r1.96 WizardDescriptor.java --- openide/src/org/openide/WizardDescriptor.java 26 Apr 2004 16:31:18 -0000 1.96 +++ openide/src/org/openide/WizardDescriptor.java 2 May 2004 21:03:03 -0000 @@ -35,6 +35,7 @@ import java.awt.Window; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeEvent; +import java.io.IOException; import java.net.URL; import java.lang.ref.WeakReference; @@ -259,6 +260,7 @@ */ public WizardDescriptor (Iterator panels, Object settings) { super ("", "", true, DEFAULT_OPTION, null, CLOSE_PREVENTER); // NOI18N + this.settings = settings == CLOSE_PREVENTER ? this : settings; listener = new Listener (); @@ -273,9 +275,13 @@ super.setOptions (new Object[] { previousButton, nextButton, finishButton, cancelButton }); super.setClosingOptions (new Object[] { finishOption, cancelButton }); + // must be there? + if (panels instanceof InstantiatingIterator) { + ((InstantiatingIterator)panels).initialize (this); + } + this.panels = panels; panels.addChangeListener (listener); - } /** Create wizard for a sequence of panels, with settings @@ -292,6 +298,8 @@ */ protected void initialize () { super.initialize (); + + updateState (); } @@ -853,6 +861,9 @@ } } panels.removeChangeListener(listener); + if (panels instanceof InstantiatingIterator) { + ((InstantiatingIterator)panels).uninitialize (this); + } } ResourceBundle bundle = NbBundle.getBundle(WizardDescriptor.class); @@ -1162,6 +1173,31 @@ } + /** Instantiating iterator. PENDING + */ + public interface InstantiatingIterator extends Iterator { + + /** PENDING + * + * @param settings + * @throws IOException + * @return + */ + public java.util.Set instantiate () throws IOException; + + /** PENDING + * + * @param wizard + */ + public void initialize (WizardDescriptor wizard); + + /** PENDING + * + * @param wizard + */ + public void uninitialize (WizardDescriptor wizard); + } + private boolean lazyValidate (WizardDescriptor.Panel panel, WizardDescriptor.WizardPanel wizard) { if (panel instanceof ValidatingPanel) { ValidatingPanel v = (ValidatingPanel)panel; @@ -1252,6 +1288,13 @@ resetWizard(); } firePropertyChange (PROP_VALUE, oldValue, OK_OPTION); + if (panels instanceof InstantiatingIterator) { + try { + ((InstantiatingIterator)panels).instantiate (); + } catch (IOException ioe) { + ErrorManager.getDefault ().notify (ioe); + } + } } if (ev.getSource () == cancelButton) { Index: java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java =================================================================== RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java,v retrieving revision 1.3 diff -u -r1.3 JavaTargetChooserPanel.java --- java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java 28 Apr 2004 13:27:27 -0000 1.3 +++ java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java 2 May 2004 21:03:03 -0000 @@ -28,7 +28,6 @@ import org.openide.WizardDescriptor; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; -import org.openide.loaders.TemplateWizard; import org.openide.util.HelpCtx; /** @@ -83,23 +82,23 @@ public void readSettings( Object settings ) { - TemplateWizard templateWizard = (TemplateWizard)settings; + WizardDescriptor wizard = (WizardDescriptor) settings; if ( gui != null ) { - Project project = Templates.getProject( templateWizard ); + Project project = Templates.getProject( wizard ); // Try to preselect a folder // XXX The test should be rewritten if external project dirs are supported - FileObject preselectedTarget = Templates.getTargetFolder( templateWizard ); + FileObject preselectedTarget = Templates.getTargetFolder( wizard ); String targetFolder = null; if ( preselectedTarget != null && FileUtil.isParentOf( project.getProjectDirectory(), preselectedTarget ) ) { targetFolder = FileUtil.getRelativePath( project.getProjectDirectory(), preselectedTarget ); } // Init values - gui.initValues( project, folders, Templates.getTemplate( templateWizard ), targetFolder ); + gui.initValues( project, folders, Templates.getTemplate( wizard ), targetFolder ); } } Index: java/project/src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java =================================================================== RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java,v retrieving revision 1.2 diff -u -r1.2 NewJavaFileWizardIterator.java --- java/project/src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java 28 Apr 2004 13:27:28 -0000 1.2 +++ java/project/src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java 2 May 2004 21:03:03 -0000 @@ -40,14 +40,13 @@ import org.openide.filesystems.Repository; import org.openide.loaders.DataFolder; import org.openide.loaders.DataObject; -import org.openide.loaders.TemplateWizard; import org.openide.nodes.Node; /** * Wizard to create a new J2SE project. * @author Jesse Glick */ -public class NewJavaFileWizardIterator implements TemplateWizard.Iterator { +public class NewJavaFileWizardIterator implements WizardDescriptor.InstantiatingIterator { private static final long serialVersionUID = 1L; @@ -87,7 +86,7 @@ }; } - public Set/**/ instantiate(TemplateWizard wiz) throws IOException { + public Set/**/ instantiate (/*WizardDescriptor wizardDescriptor*/) throws IOException { FileObject dir = Templates.getTargetFolder( wiz ); DataFolder df = DataFolder.findFolder( dir ); @@ -116,9 +115,9 @@ private transient int index; private transient WizardDescriptor.Panel[] panels; - private transient TemplateWizard wiz; + private transient WizardDescriptor wiz; - public void initialize(TemplateWizard wiz) { + public void initialize(WizardDescriptor wiz) { this.wiz = wiz; index = 0; panels = createPanels( wiz ); @@ -141,7 +140,7 @@ } } } - public void uninitialize(TemplateWizard wiz) { + public void uninitialize (WizardDescriptor wiz) { this.wiz = null; panels = null; } Index: java/project/src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java =================================================================== RCS file: /cvs/java/project/src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java,v retrieving revision 1.4 diff -u -r1.4 JavaTemplates.java --- java/project/src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java 28 Apr 2004 13:27:28 -0000 1.4 +++ java/project/src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java 2 May 2004 21:03:03 -0000 @@ -19,7 +19,6 @@ import org.netbeans.spi.project.ui.templates.support.Templates; import org.openide.WizardDescriptor; import org.openide.filesystems.FileObject; -import org.openide.loaders.TemplateWizard; /** * Default implementations of Java-specific template UI. Index: projects/projectui/nbproject/project.xml =================================================================== RCS file: /cvs/projects/projectui/nbproject/project.xml,v retrieving revision 1.3 diff -u -r1.3 project.xml --- projects/projectui/nbproject/project.xml 3 Apr 2004 06:51:48 -0000 1.3 +++ projects/projectui/nbproject/project.xml 2 May 2004 21:03:16 -0000 @@ -47,7 +47,7 @@ 1 - 4.13 + 4.29 Index: projects/projectui/src/org/netbeans/modules/project/ui/NewFileWizard.java =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/NewFileWizard.java,v retrieving revision 1.4 diff -u -r1.4 NewFileWizard.java --- projects/projectui/src/org/netbeans/modules/project/ui/NewFileWizard.java 26 Apr 2004 13:17:16 -0000 1.4 +++ projects/projectui/src/org/netbeans/modules/project/ui/NewFileWizard.java 2 May 2004 21:03:16 -0000 @@ -37,12 +37,13 @@ import org.openide.loaders.TemplateWizard; import org.openide.util.HelpCtx; -public final class NewFileWizard extends TemplateWizard { +public final class NewFileWizard extends TemplateWizard { private Project p; private String[] recommendedTypes; public NewFileWizard( Project p, String recommendedTypes[] ) { + //super (new HelpIterator ()); this.p = p; this.recommendedTypes = recommendedTypes; setTitle( "New File" ); @@ -63,6 +64,38 @@ return Templates.createSimpleTargetChooser(p, c.getSourceGroups(Sources.TYPE_GENERIC)); } +} + +class HelpIterator implements WizardDescriptor.InstantiatingIterator { + public WizardDescriptor.Panel current () { + return null; + } + public String name () { + return ""; + } + public boolean hasNext () { + return false; + } + public boolean hasPrevious () { + return false; + } + public void nextPanel () { + + } + public void previousPanel () { + + } + public void addChangeListener (ChangeListener l) { + + } + public void removeChangeListener (ChangeListener l) { + + } + public java.util.Set instantiate () throws IOException { + return null; + } + public void initialize (WizardDescriptor wizard) {} + public void uninitialize (WizardDescriptor wizard) {} } /** Old impl might be usefull later in Wizards API Index: projects/projectui/src/org/netbeans/modules/project/ui/SimpleTargetChooserPanel.java =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/SimpleTargetChooserPanel.java,v retrieving revision 1.3 diff -u -r1.3 SimpleTargetChooserPanel.java --- projects/projectui/src/org/netbeans/modules/project/ui/SimpleTargetChooserPanel.java 6 Apr 2004 14:24:51 -0000 1.3 +++ projects/projectui/src/org/netbeans/modules/project/ui/SimpleTargetChooserPanel.java 2 May 2004 21:03:16 -0000 @@ -26,7 +26,6 @@ import org.openide.WizardDescriptor; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; -import org.openide.loaders.TemplateWizard; import org.openide.util.HelpCtx; /** @@ -81,23 +80,23 @@ public void readSettings( Object settings ) { - TemplateWizard templateWizard = (TemplateWizard)settings; + WizardDescriptor wd = (WizardDescriptor)settings; if ( gui != null ) { - Project project = Templates.getProject( templateWizard ); + Project project = Templates.getProject( wd ); // Try to preselect a folder // XXX The test should be rewritten if external project dirs are supported - FileObject preselectedTarget = Templates.getTargetFolder( templateWizard ); + FileObject preselectedTarget = Templates.getTargetFolder( wd ); String targetFolder = null; if ( preselectedTarget != null && FileUtil.isParentOf( project.getProjectDirectory(), preselectedTarget ) ) { targetFolder = FileUtil.getRelativePath( project.getProjectDirectory(), preselectedTarget ); } // Init values - gui.initValues( project, Templates.getTemplate( templateWizard ), targetFolder ); + gui.initValues( project, Templates.getTemplate( wd ), targetFolder ); } } Index: projects/projectui/src/org/netbeans/modules/project/ui/TemplateChooserPanel.java =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/TemplateChooserPanel.java,v retrieving revision 1.2 diff -u -r1.2 TemplateChooserPanel.java --- projects/projectui/src/org/netbeans/modules/project/ui/TemplateChooserPanel.java 2 Apr 2004 13:54:45 -0000 1.2 +++ projects/projectui/src/org/netbeans/modules/project/ui/TemplateChooserPanel.java 2 May 2004 21:03:16 -0000 @@ -88,7 +88,7 @@ gui.initValues( p ); } - TemplateWizard wd = (TemplateWizard)settings; + WizardDescriptor wd = (WizardDescriptor)settings; wd.setTitle( "New File - Choose File Type" ); wd.putProperty( "WizardPanel_contentData", new String[] { "Choose Template", "..." } ); // NOI18N wd.putProperty( "WizardPanel_contentSelectedIndex", new Integer( 0 ) ); // NOI18N @@ -96,16 +96,19 @@ public void storeSettings(Object settings) { - TemplateWizard templateWizard = (TemplateWizard)settings; + WizardDescriptor wd = (WizardDescriptor)settings; - Object value = templateWizard.getValue(); + Object value = wd.getValue(); if ( NotifyDescriptor.CANCEL_OPTION != value && NotifyDescriptor.CLOSED_OPTION != value ) { try { - templateWizard.putProperty( ProjectChooserFactory.WIZARD_KEY_PROJECT, gui.getProject() ); - templateWizard.setTemplate( DataObject.find( gui.getTemplate() ) ); + wd.putProperty( ProjectChooserFactory.WIZARD_KEY_PROJECT, gui.getProject() ); + + // Create NewFileWizard !!! + + ((TemplateWizard)wd).setTemplate( DataObject.find( gui.getTemplate() ) ); } catch( DataObjectNotFoundException e ) { // XXX Index: projects/projectui/src/org/netbeans/modules/project/ui/actions/NewFile.java =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/actions/NewFile.java,v retrieving revision 1.2 diff -u -r1.2 NewFile.java --- projects/projectui/src/org/netbeans/modules/project/ui/actions/NewFile.java 19 Apr 2004 17:57:08 -0000 1.2 +++ projects/projectui/src/org/netbeans/modules/project/ui/actions/NewFile.java 2 May 2004 21:03:16 -0000 @@ -24,7 +24,6 @@ import org.netbeans.modules.project.ui.OpenProjectList; import org.openide.loaders.DataFolder; import org.openide.loaders.DataObject; -import org.openide.loaders.TemplateWizard; import org.openide.util.Lookup; import org.openide.util.NbBundle; import org.openide.util.Utilities; @@ -56,7 +55,7 @@ protected void actionPerformed( Lookup context ) { - TemplateWizard wd = new NewFileWizard( preselectedProject( context ), null ); //wizardIterator ); + NewFileWizard wd = new NewFileWizard( preselectedProject( context ), null ); //wizardIterator ); DataFolder preselectedFolder = preselectedFolder( context ); if ( preselectedFolder != null ) { Index: projects/projectui/src/org/netbeans/modules/project/ui/actions/NewProject.java =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/actions/NewProject.java,v retrieving revision 1.2 diff -u -r1.2 NewProject.java --- projects/projectui/src/org/netbeans/modules/project/ui/actions/NewProject.java 19 Apr 2004 17:57:08 -0000 1.2 +++ projects/projectui/src/org/netbeans/modules/project/ui/actions/NewProject.java 2 May 2004 21:03:16 -0000 @@ -46,7 +46,7 @@ public void actionPerformed( ActionEvent evt ) { if ( wizard == null ) { - wizard = new TemplateWizard(); + wizard = new TemplateWizard(); // XXX Create NewProjectWizard instead of TemplateWizard FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource( "Templates/Project" ); //NOI18N DataFolder templates = DataFolder.findFolder( fo );