Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2001-05-25 12:44:12 +0000
committerDarin Wright2001-05-25 12:44:12 +0000
commitbf50dd53a8ad79992e288b096cf7bfbce35a7f09 (patch)
tree9b6b1ee82b6f1d270bd3a3d0b6c5445fbb4ab753
parent6339fea98950bb871b3a61b4826e7d2be6a9492a (diff)
downloadeclipse.platform.debug-bf50dd53a8ad79992e288b096cf7bfbce35a7f09.tar.gz
eclipse.platform.debug-bf50dd53a8ad79992e288b096cf7bfbce35a7f09.tar.xz
eclipse.platform.debug-bf50dd53a8ad79992e288b096cf7bfbce35a7f09.zip
1GEA9VB
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizard.java33
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardNode.java19
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardSelectionPage.java2
3 files changed, 35 insertions, 19 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizard.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizard.java
index 5e203c52c..74f5f64e4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizard.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizard.java
@@ -86,7 +86,9 @@ public class LaunchWizard extends Wizard {
}
public LaunchWizard(Object[] allLaunchers, IStructuredSelection selection, String mode) {
- this(allLaunchers, selection, mode, true);
+ this(allLaunchers, selection, mode, allLaunchers.length != 1);
+ // If there is only launcher, we do not show the launcher selection
+ // page. If there are 0 or > 1 launchers we show the page.
}
protected void initialize() {
@@ -194,19 +196,40 @@ public class LaunchWizard extends Wizard {
}
/**
+ * This method is only called if this wizard has a
+ * project selection page. Otherwise, the
+ * <code>LaunchWizardSelectionPage.nextPage()</code>
+ * method is called.
+ *
* @see IWizard#getNextPage(IWizardPage)
*/
public IWizardPage getNextPage(IWizardPage page) {
if (!fSelectLauncher) {
- IWizardNode node= new LaunchWizardNode(page, (ILauncher)fLaunchers[0], fMode);
- IWizard wizard = node.getWizard();
- wizard.addPages();
- return wizard.getStartingPage();
+ return getDelegateWizard().getStartingPage();
}
return super.getNextPage(page);
}
/**
+ * @see IWizard#getStartingPage()
+ */
+ public IWizardPage getStartingPage() {
+ // if there is no need to select a project or launcher
+ // return the launcher's wizard
+ if (getPages().length == 0 && !fSelectLauncher) {
+ return getDelegateWizard().getStartingPage();
+ }
+ return super.getStartingPage();
+ }
+
+ protected IWizard getDelegateWizard() {
+ IWizardNode node= new LaunchWizardNode(this, (ILauncher)fLaunchers[0], fMode);
+ IWizard wizard = node.getWizard();
+ wizard.addPages();
+ return wizard;
+ }
+
+ /**
* @see IWizard#canFinish()
*/
public boolean canFinish() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardNode.java
index 04f067cb5..d4d7dfb7d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardNode.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardNode.java
@@ -5,14 +5,7 @@ package org.eclipse.debug.internal.ui;
* WebSphere Studio Workbench
* (c) Copyright IBM Corp 2000
*/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.ILauncher;
-import org.eclipse.debug.ui.ILaunchWizard;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.swt.graphics.Point;
+import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.debug.core.ILauncher; import org.eclipse.debug.ui.ILaunchWizard; import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.IWizardNode; import org.eclipse.swt.graphics.Point;
/**
* A wizard node represents a "potential" wizard. Wizard nodes
@@ -24,7 +17,7 @@ public class LaunchWizardNode implements IWizardNode {
private static final String ERROR= PREFIX + "error.";
protected IWizard fWizard;
- protected IWizardPage fParentWizardPage;
+ protected LaunchWizard fLaunchWizard;
protected ILauncher fLauncher;
protected String fMode;
@@ -33,8 +26,8 @@ public class LaunchWizardNode implements IWizardNode {
* The wizard element provides information on how to create
* the wizard supplied by the ISV's extension.
*/
- public LaunchWizardNode(IWizardPage aWizardPage, ILauncher launcher, String mode) {
- fParentWizardPage= aWizardPage;
+ public LaunchWizardNode(LaunchWizard launchWizard, ILauncher launcher, String mode) {
+ fLaunchWizard= launchWizard;
fLauncher= launcher;
fMode= mode;
}
@@ -45,7 +38,7 @@ public class LaunchWizardNode implements IWizardNode {
public ILaunchWizard createWizard() throws CoreException {
IConfigurationElement config= fLauncher.getConfigurationElement();
ILaunchWizard wizard= (ILaunchWizard)DebugUIPlugin.getDefault().createExtension(config, "wizard");
- wizard.init(fLauncher, fMode, ((LaunchWizard)fParentWizardPage.getWizard()).getSelection());
+ wizard.init(fLauncher, fMode, fLaunchWizard.getSelection());
return wizard;
}
@@ -66,7 +59,7 @@ public class LaunchWizardNode implements IWizardNode {
try {
fWizard= createWizard(); // create instance of target wizard
} catch (CoreException e) {
- DebugUIUtils.errorDialog(fParentWizardPage.getControl().getShell(), ERROR, e.getStatus());
+ DebugUIUtils.errorDialog(fLaunchWizard.getShell(), ERROR, e.getStatus());
return null;
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardSelectionPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardSelectionPage.java
index fe0ea4d21..e80426c60 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardSelectionPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchWizardSelectionPage.java
@@ -146,7 +146,7 @@ public class LaunchWizardSelectionPage extends WizardSelectionPage {
* Updates the elements list for the given launcher
*/
protected void launcherSelected(ILauncher launcher) {
- LaunchWizardNode node= new LaunchWizardNode(this, launcher, fMode);
+ LaunchWizardNode node= new LaunchWizardNode((LaunchWizard)getWizard(), launcher, fMode);
setSelectedNode(node);
setMessage(null);
updateDefaultLauncherButton(launcher);

Back to the top