This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 184213
Collapse All | Expand All

(-)a/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/BasicProjectInfoPanel.java (-2 / +2 lines)
Lines 122-129 Link Here
122
        return getAsFile(projectFolder.getText());
122
        return getAsFile(projectFolder.getText());
123
    }
123
    }
124
124
125
    public Boolean getMainProject() {
125
    public boolean getMainProject() {
126
        return Boolean.valueOf(mainProject.isSelected());
126
        return mainProject.isSelected();
127
    }
127
    }
128
128
129
    public String[] getError() {
129
    public String[] getError() {
(-)a/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/BasicProjectInfoWizardPanel.java (-1 / +2 lines)
Lines 45-50 Link Here
45
import javax.swing.event.ChangeEvent;
45
import javax.swing.event.ChangeEvent;
46
import javax.swing.event.ChangeListener;
46
import javax.swing.event.ChangeListener;
47
import org.netbeans.modules.ant.freeform.spi.support.NewFreeformProjectSupport;
47
import org.netbeans.modules.ant.freeform.spi.support.NewFreeformProjectSupport;
48
import org.netbeans.spi.project.ui.templates.support.Templates;
48
import org.openide.WizardDescriptor;
49
import org.openide.WizardDescriptor;
49
import org.openide.util.ChangeSupport;
50
import org.openide.util.ChangeSupport;
50
import org.openide.util.HelpCtx;
51
import org.openide.util.HelpCtx;
Lines 106-112 Link Here
106
        wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_LOCATION, component.getProjectLocation());
107
        wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_LOCATION, component.getProjectLocation());
107
        wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_FOLDER, component.getProjectFolder());
108
        wizardDescriptor.putProperty(NewFreeformProjectSupport.PROP_PROJECT_FOLDER, component.getProjectFolder());
108
        wizardDescriptor.putProperty("NewProjectWizard_Title", null); // NOI18N
109
        wizardDescriptor.putProperty("NewProjectWizard_Title", null); // NOI18N
109
        wizardDescriptor.putProperty("setAsMain", component.getMainProject()); // NOI18N
110
        Templates.setDefinesMainProject(wizardDescriptor, component.getMainProject());
110
    }
111
    }
111
    
112
    
112
    public void stateChanged(ChangeEvent e) {
113
    public void stateChanged(ChangeEvent e) {
(-)a/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/UIUtil.java (-1 / +2 lines)
Lines 106-111 Link Here
106
import org.netbeans.modules.apisupport.project.ui.wizard.NewNbModuleWizardIterator;
106
import org.netbeans.modules.apisupport.project.ui.wizard.NewNbModuleWizardIterator;
107
import org.netbeans.spi.java.project.support.ui.PackageView;
107
import org.netbeans.spi.java.project.support.ui.PackageView;
108
import org.netbeans.spi.project.ui.support.ProjectChooser;
108
import org.netbeans.spi.project.ui.support.ProjectChooser;
109
import org.netbeans.spi.project.ui.templates.support.Templates;
109
import org.openide.DialogDescriptor;
110
import org.openide.DialogDescriptor;
110
import org.openide.DialogDisplayer;
111
import org.openide.DialogDisplayer;
111
import org.openide.ErrorManager;
112
import org.openide.ErrorManager;
Lines 704-710 Link Here
704
            try {
705
            try {
705
                project = (NbModuleProject) ProjectManager.getDefault().findProject(folder);
706
                project = (NbModuleProject) ProjectManager.getDefault().findProject(folder);
706
                OpenProjects.getDefault().open(new Project[] { project }, false);
707
                OpenProjects.getDefault().open(new Project[] { project }, false);
707
                if (wd.getProperty("setAsMain") == Boolean.TRUE) { // NOI18N
708
                if (Templates.getDefinesMainProject(wd)) {
708
                    OpenProjects.getDefault().setMainProject(project);
709
                    OpenProjects.getDefault().setMainProject(project);
709
                }
710
                }
710
            } catch (IOException e) {
711
            } catch (IOException e) {
(-)a/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/NewNbModuleWizardIterator.java (-3 / +3 lines)
Lines 62-67 Link Here
62
import org.netbeans.modules.apisupport.project.ui.UIUtil;
62
import org.netbeans.modules.apisupport.project.ui.UIUtil;
63
import org.netbeans.modules.apisupport.project.ui.customizer.SuiteUtils;
63
import org.netbeans.modules.apisupport.project.ui.customizer.SuiteUtils;
64
import org.netbeans.spi.project.ui.support.ProjectChooser;
64
import org.netbeans.spi.project.ui.support.ProjectChooser;
65
import org.netbeans.spi.project.ui.templates.support.Templates;
65
import org.openide.WizardDescriptor;
66
import org.openide.WizardDescriptor;
66
import org.openide.filesystems.FileObject;
67
import org.openide.filesystems.FileObject;
67
import org.openide.filesystems.FileUtil;
68
import org.openide.filesystems.FileUtil;
Lines 229-237 Link Here
229
        resultSet.add(createdProjectFolder);
230
        resultSet.add(createdProjectFolder);
230
        
231
        
231
        UIUtil.setProjectChooserDirParent(projectFolder);
232
        UIUtil.setProjectChooserDirParent(projectFolder);
232
        
233
233
        // XXX this constant should be defined somewhere!
234
        Templates.setDefinesMainProject(settings, data.isMainProject());
234
        settings.putProperty("setAsMain", Boolean.valueOf(data.isMainProject())); // NOI18N
235
        
235
        
236
        return resultSet;
236
        return resultSet;
237
    }
237
    }
(-)a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/wizards/PanelOptionsVisual.java (-2 / +2 lines)
Lines 42-48 Link Here
42
42
43
package org.netbeans.modules.java.j2seproject.ui.wizards;
43
package org.netbeans.modules.java.j2seproject.ui.wizards;
44
44
45
import java.awt.Color;
46
import java.awt.event.ActionEvent;
45
import java.awt.event.ActionEvent;
47
import java.awt.event.ActionListener;
46
import java.awt.event.ActionListener;
48
import java.beans.PropertyChangeEvent;
47
import java.beans.PropertyChangeEvent;
Lines 55-60 Link Here
55
import org.netbeans.api.queries.CollocationQuery;
54
import org.netbeans.api.queries.CollocationQuery;
56
import org.netbeans.spi.java.project.support.ui.SharableLibrariesUtils;
55
import org.netbeans.spi.java.project.support.ui.SharableLibrariesUtils;
57
import org.netbeans.spi.project.support.ant.PropertyUtils;
56
import org.netbeans.spi.project.support.ant.PropertyUtils;
57
import org.netbeans.spi.project.ui.templates.support.Templates;
58
import org.openide.WizardDescriptor;
58
import org.openide.WizardDescriptor;
59
import org.openide.WizardValidationException;
59
import org.openide.WizardValidationException;
60
import org.openide.filesystems.FileUtil;
60
import org.openide.filesystems.FileUtil;
Lines 327-333 Link Here
327
    }
327
    }
328
328
329
    void store( WizardDescriptor d ) {
329
    void store( WizardDescriptor d ) {
330
        d.putProperty( /*XXX Define somewhere */ "setAsMain", setAsMainCheckBox.isSelected() && setAsMainCheckBox.isVisible() ? Boolean.TRUE : Boolean.FALSE ); // NOI18N
330
        Templates.setDefinesMainProject(d, setAsMainCheckBox.isSelected() && setAsMainCheckBox.isVisible());
331
        d.putProperty( /*XXX Define somewhere */ "mainClass", createMainCheckBox.isSelected() && createMainCheckBox.isVisible() ? mainClassTextField.getText() : null ); // NOI18N
331
        d.putProperty( /*XXX Define somewhere */ "mainClass", createMainCheckBox.isSelected() && createMainCheckBox.isVisible() ? mainClassTextField.getText() : null ); // NOI18N
332
        d.putProperty( SHARED_LIBRARIES, cbSharable.isSelected() ? txtLibFolder.getText() : null ); // NOI18N
332
        d.putProperty( SHARED_LIBRARIES, cbSharable.isSelected() ? txtLibFolder.getText() : null ); // NOI18N
333
    }
333
    }
(-)a/projectui/src/org/netbeans/modules/project/ui/actions/NewProject.java (-8 / +2 lines)
Lines 58-63 Link Here
58
import org.netbeans.modules.project.ui.ProjectUtilities;
58
import org.netbeans.modules.project.ui.ProjectUtilities;
59
import org.netbeans.modules.project.ui.TemplatesPanel;
59
import org.netbeans.modules.project.ui.TemplatesPanel;
60
import org.netbeans.spi.project.ui.support.CommonProjectActions;
60
import org.netbeans.spi.project.ui.support.CommonProjectActions;
61
import org.netbeans.spi.project.ui.templates.support.Templates;
61
import org.openide.ErrorManager;
62
import org.openide.ErrorManager;
62
import org.openide.filesystems.FileObject;
63
import org.openide.filesystems.FileObject;
63
import org.openide.filesystems.FileUtil;
64
import org.openide.filesystems.FileUtil;
Lines 144-156 Link Here
144
                        }
145
                        }
145
                    }
146
                    }
146
                    
147
                    
147
                    Object mainProperty = wizard.getProperty( /* XXX Define somewhere */ "setAsMain" ); // NOI18N
148
                    boolean setFirstMain = true;
149
                    if ( mainProperty instanceof Boolean ) {
150
                        setFirstMain = ((Boolean)mainProperty).booleanValue();
151
                    }
152
                    final boolean setFirstMainFinal = setFirstMain;
153
                    
154
                    //#69618: the non-project cache may contain a project folder listed in newObjects:
148
                    //#69618: the non-project cache may contain a project folder listed in newObjects:
155
                    ProjectManager.getDefault().clearNonProjectCache();
149
                    ProjectManager.getDefault().clearNonProjectCache();
156
                    ProjectUtilities.WaitCursor.show();
150
                    ProjectUtilities.WaitCursor.show();
Lines 203-209 Link Here
203
                        Project lastProject = projectsToOpen.size() > 0 ? projectsToOpen.get(0) : null;
197
                        Project lastProject = projectsToOpen.size() > 0 ? projectsToOpen.get(0) : null;
204
                        
198
                        
205
                        Project mainProject = null;
199
                        Project mainProject = null;
206
                        if (setFirstMainFinal && lastProject != null) {
200
                        if (Templates.getDefinesMainProject(wizard) && lastProject != null) {
207
                            mainProject = lastProject;
201
                            mainProject = lastProject;
208
                        }
202
                        }
209
                        
203
                        
(-)a/projectuiapi/src/org/netbeans/spi/project/ui/templates/support/Templates.java (+28 lines)
Lines 44-49 Link Here
44
import java.io.IOException;
44
import java.io.IOException;
45
import org.netbeans.api.project.Project;
45
import org.netbeans.api.project.Project;
46
import org.netbeans.api.project.SourceGroup;
46
import org.netbeans.api.project.SourceGroup;
47
import org.netbeans.api.project.ui.OpenProjects;
47
import org.netbeans.modules.project.uiapi.ProjectChooserFactory;
48
import org.netbeans.modules.project.uiapi.ProjectChooserFactory;
48
import org.netbeans.modules.project.uiapi.Utilities;
49
import org.netbeans.modules.project.uiapi.Utilities;
49
import org.netbeans.spi.project.ui.support.CommonProjectActions;
50
import org.netbeans.spi.project.ui.support.CommonProjectActions;
Lines 61-66 Link Here
61
public class Templates {
62
public class Templates {
62
    
63
    
63
    private Templates() {}
64
    private Templates() {}
65
66
    private static final String SET_AS_MAIN = "setAsMain"; // NOI18N
64
    
67
    
65
    /**
68
    /**
66
     * Find the project selected for a custom template wizard iterator.
69
     * Find the project selected for a custom template wizard iterator.
Lines 199-204 Link Here
199
            wizardDescriptor.putProperty( ProjectChooserFactory.WIZARD_KEY_TARGET_NAME, targetName );
202
            wizardDescriptor.putProperty( ProjectChooserFactory.WIZARD_KEY_TARGET_NAME, targetName );
200
        }
203
        }
201
    }
204
    }
205
206
    /**
207
     * Checks whether a project wizard will set the main project.
208
     * (The default is false.)
209
     * @param wizardDescriptor a New Project wizard
210
     * @return true if it will set a main project
211
     * @since XXX
212
     */
213
    public static boolean getDefinesMainProject(WizardDescriptor wizardDescriptor) {
214
        return Boolean.TRUE.equals(wizardDescriptor.getProperty(SET_AS_MAIN));
215
    }
216
217
    /**
218
     * Specify whether a project wizard will set the main project.
219
     * If so, and it {@linkplain org.openide.WizardDescriptor.InstantiatingIterator#instantiate returns}
220
     * at least one {@linkplain Project#getProjectDirectory project directory} to signal
221
     * that a project will be created, the first such project will be
222
     * {@linkplain OpenProjects#setMainProject set as the main project}.
223
     * @param wizardDescriptor a New Project wizard
224
     * @param definesMainProject true if it will set a main project
225
     * @since XXX
226
     */
227
    public static void setDefinesMainProject(WizardDescriptor wizardDescriptor, boolean definesMainProject) {
228
        wizardDescriptor.putProperty(SET_AS_MAIN, definesMainProject);
229
    }
202
            
230
            
203
    /**
231
    /**
204
     * @deprecated Use {@link #buildSimpleTargetChooser} instead.
232
     * @deprecated Use {@link #buildSimpleTargetChooser} instead.

Return to bug 184213