diff -r ba198baeb89c apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.form --- a/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.form Wed May 04 08:56:05 2011 +0200 +++ b/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.form Wed May 04 19:38:20 2011 +0200 @@ -1,4 +1,4 @@ - +
diff -r ba198baeb89c apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.java --- a/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.java Wed May 04 08:56:05 2011 +0200 +++ b/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/BasicSettingsPanel.java Wed May 04 19:38:20 2011 +0200 @@ -45,18 +45,33 @@ package org.netbeans.modules.apisupport.project.ui.wizard.winsys; import java.awt.Cursor; +import java.awt.EventQueue; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; +import java.util.Properties; +import java.util.Set; +import java.util.TreeSet; import javax.swing.DefaultComboBoxModel; +import org.apache.tools.ant.module.api.support.ActionUtils; +import org.netbeans.api.project.Project; +import org.netbeans.modules.apisupport.project.NbModuleProject; +import org.netbeans.modules.apisupport.project.Util; import org.netbeans.modules.apisupport.project.layers.LayerUtils; import org.netbeans.modules.apisupport.project.ui.wizard.BasicWizardIterator; +import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; import org.openide.WizardDescriptor; +import org.openide.execution.ExecutorTask; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileSystem; +import org.openide.filesystems.FileUtil; import org.openide.util.AsyncGUIJob; +import org.openide.util.Exceptions; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; +import org.openide.util.Task; +import org.openide.util.TaskListener; import org.openide.util.Utilities; /** @@ -138,6 +153,7 @@ for (FileObject fo : fos) { if (fo.isData() && "wsmode".equals(fo.getExt())) { //NOI18N col.add(fo.getName()); + data.existingMode(fo.getName()); } } modes = col.toArray(new String[col.size()]); @@ -224,6 +240,7 @@ cbUndockingNotAllowed = new javax.swing.JCheckBox(); cbDraggingNotAllowed = new javax.swing.JCheckBox(); cbMaximizationNotAllowed = new javax.swing.JCheckBox(); + redefine = new javax.swing.JButton(); setLayout(new java.awt.GridBagLayout()); @@ -320,6 +337,17 @@ gridBagConstraints.weighty = 0.1; gridBagConstraints.insets = new java.awt.Insets(12, 6, 0, 0); add(cbMaximizationNotAllowed, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(redefine, "&Redefine..."); + redefine.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + redefineActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.anchor = java.awt.GridBagConstraints.PAGE_END; + gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 12); + add(redefine, gridBagConstraints); }// //GEN-END:initComponents private void windowPosChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_windowPosChanged @@ -330,6 +358,74 @@ if( !cbSlidingNotAllowed.isEnabled() ) cbSlidingNotAllowed.setSelected( false ); }//GEN-LAST:event_windowPosChanged + + private static FileObject findBuildXml(Project project) { + return project.getProjectDirectory().getFileObject(GeneratedFilesHelper.BUILD_XML_PATH); + } + +private void redefineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_redefineActionPerformed + final Project prj = data.getProject(); + final Properties p = new Properties(); + redefine.setEnabled(false); + redefine.setText("Launching..."); + + try { + FileObject fo = prj.getProjectDirectory().getFileObject("build/designdir"); + if (fo != null) { + return; + } + fo = FileUtil.createFolder(prj.getProjectDirectory(), "build/designdir"); + final FileObject finalFO = fo; + File path = FileUtil.toFile(fo); + p.setProperty("run.args", "--nosplash --designlayout --userdir " + path); + + ExecutorTask task = ActionUtils.runTarget(findBuildXml(prj), new String[] { "run" }, p); + class PostProcess implements TaskListener, Runnable { + Set