debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/LaunchWizard.java
author dadubrow
Thu, 18 Feb 2010 09:04:51 -0600
branchRCL_2_4
changeset 982 c848ffa5a500
parent 966 15c9cbbf6707
child 1010 a1762c18df95
permissions -rw-r--r--
New launch wizard UI tweaks based on demo feedback
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     1
/*
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     3
* All rights reserved.
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     4
* This component and the accompanying materials are made available
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     6
* which accompanies this distribution, and is available
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     8
*
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
     9
* Initial Contributors:
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    11
*
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    12
* Contributors:
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    13
*
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    14
* Description: 
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    15
*
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    16
*/
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    17
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    18
package com.nokia.cdt.internal.debug.launch.newwizard;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    19
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    20
import java.text.MessageFormat;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    21
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    22
import org.eclipse.core.runtime.CoreException;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    23
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    24
import org.eclipse.jface.dialogs.Dialog;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    25
import org.eclipse.jface.dialogs.IDialogConstants;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    26
import org.eclipse.jface.dialogs.IPageChangedListener;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    27
import org.eclipse.jface.dialogs.PageChangedEvent;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    28
import org.eclipse.jface.layout.GridDataFactory;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    29
import org.eclipse.jface.wizard.IWizardContainer;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    30
import org.eclipse.jface.wizard.Wizard;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    31
import org.eclipse.jface.wizard.WizardDialog;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    32
import org.eclipse.swt.SWT;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    33
import org.eclipse.swt.events.SelectionAdapter;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    34
import org.eclipse.swt.events.SelectionEvent;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    35
import org.eclipse.swt.layout.GridLayout;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    36
import org.eclipse.swt.widgets.Button;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    37
import org.eclipse.swt.widgets.Composite;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    38
import org.eclipse.swt.widgets.Control;
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    39
import org.eclipse.swt.widgets.Shell;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    40
982
c848ffa5a500 New launch wizard UI tweaks based on demo feedback
dadubrow
parents: 966
diff changeset
    41
import com.nokia.carbide.cpp.ui.CarbideUIPlugin;
c848ffa5a500 New launch wizard UI tweaks based on demo feedback
dadubrow
parents: 966
diff changeset
    42
import com.nokia.carbide.cpp.ui.ICarbideSharedImages;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    43
import com.nokia.carbide.remoteconnections.interfaces.IService;
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    44
import com.nokia.cdt.internal.debug.launch.LaunchPlugin;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    45
import com.nokia.cdt.internal.debug.launch.wizard.ILaunchCreationWizard;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    46
import com.nokia.cdt.internal.debug.launch.wizard.LaunchOptions;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    47
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    48
/**
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    49
 * New launch wizard for Carbide 3.0.
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    50
 * 
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    51
 * See https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10419
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    52
 */
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    53
public class LaunchWizard extends Wizard implements ILaunchCreationWizard {
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    54
	 
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    55
	private LaunchWizardData launchData;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    56
	private UnifiedLaunchOptionsPage mainPage;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    57
	private Button advancedButton;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    58
	private boolean advancedEdit;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    59
	private IPageChangedListener pageChangedListener;
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    60
	private boolean hasFinished;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    61
	
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    62
	public LaunchWizard(LaunchOptions launchOptions, IService trkService) {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
    63
		launchData = new LaunchWizardData(launchOptions, trkService);
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    64
		mainPage = new UnifiedLaunchOptionsPage(launchData); 
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    65
		mainPage.initializeSettings();
966
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
    66
		setWindowTitle(Messages.getString("LaunchWizard.Title")); //$NON-NLS-1$
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    67
    }
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    68
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    69
	/* (non-Javadoc)
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    70
	 * @see org.eclipse.jface.wizard.Wizard#addPages()
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    71
	 */
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    72
	@Override
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    73
	public void addPages() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    74
		addPage(mainPage);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    75
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    76
	
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    77
	/* (non-Javadoc)
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    78
	 * @see org.eclipse.jface.wizard.Wizard#setContainer(org.eclipse.jface.wizard.IWizardContainer)
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    79
	 */
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    80
	@Override
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    81
	public void setContainer(final IWizardContainer wizardContainer) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    82
		super.setContainer(wizardContainer);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    83
		
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    84
		// Thanks, JFace, for making it so hard to know when the UI is ready
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    85
		if (wizardContainer instanceof WizardDialog && advancedButton == null) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    86
			pageChangedListener = new IPageChangedListener() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    87
				
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    88
				public void pageChanged(PageChangedEvent event) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    89
					addAdvancedButton();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    90
					((WizardDialog)getContainer()).removePageChangedListener(pageChangedListener);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    91
				}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    92
			};
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    93
			((WizardDialog)wizardContainer).addPageChangedListener(pageChangedListener);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    94
		}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    95
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    96
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    97
	protected void addAdvancedButton() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    98
		if (advancedButton == null) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
    99
			Composite parent = (Composite) ((Dialog) getContainer()).buttonBar;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   100
			if (parent != null) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   101
				
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   102
				advancedButton = new Button(parent, SWT.CHECK);
982
c848ffa5a500 New launch wizard UI tweaks based on demo feedback
dadubrow
parents: 966
diff changeset
   103
				GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).indent(6, 0).applyTo(advancedButton);
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   104
				((GridLayout) parent.getLayout()).numColumns++;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   105
				advancedButton.moveBelow(parent.getChildren()[0]);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   106
				
966
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
   107
				advancedButton.setText(Messages.getString("LaunchWizard.AdvancedLabel")); //$NON-NLS-1$
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   108
				advancedButton.setToolTipText(MessageFormat.format(
966
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
   109
						Messages.getString("LaunchWizard.AdvancedTip"), //$NON-NLS-1$
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   110
						launchData.getModeLabel()));
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   111
				advancedButton.addSelectionListener(new SelectionAdapter() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   112
					@Override
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   113
					public void widgetSelected(SelectionEvent e) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   114
						updateDebugEditButton();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   115
					}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   116
				});
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   117
			}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   118
			
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   119
			// Thanks, JFace, for deleting validation messages on the first display
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   120
			mainPage.validatePage();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   121
		}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   122
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   123
	
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   124
	@Override
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   125
	public boolean canFinish() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   126
		if (advancedEdit)
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   127
			return true;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   128
		return super.canFinish();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   129
	}	
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   130
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   131
	protected void updateDebugEditButton() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   132
		Button finishButton = findFinishButton();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   133
		if (finishButton != null) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   134
			advancedEdit = advancedButton.getSelection();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   135
			if (advancedEdit) {
966
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
   136
				finishButton.setText(Messages.getString("LaunchWizard.EditLabel")); //$NON-NLS-1$
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
   137
				finishButton.setToolTipText(Messages.getString("LaunchWizard.EditTip")); //$NON-NLS-1$
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   138
				getContainer().updateButtons();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   139
			} else {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   140
				finishButton.setText(launchData.getModeLabel());
966
15c9cbbf6707 externalize strings
dadubrow
parents: 953
diff changeset
   141
				finishButton.setToolTipText(Messages.getString("LaunchWizard.FinishTip")); //$NON-NLS-1$
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   142
				getContainer().updateButtons();
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   143
			}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   144
		}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   145
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   146
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   147
	/**
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   148
	 * Thanks, SWT and JFace, for making this so difficult
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   149
	 * @return the Finish button
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   150
	 */
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   151
	private Button findFinishButton() {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   152
		if (getContainer() instanceof Dialog) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   153
			return findFinishButton((Composite) ((Dialog) getContainer()).buttonBar);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   154
		}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   155
		return null;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   156
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   157
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   158
	/**
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   159
	 * @param buttonBar
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   160
	 * @return
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   161
	 */
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   162
	private Button findFinishButton(Composite parent) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   163
		for (Control kid : parent.getChildren()) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   164
			if (kid instanceof Button) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   165
				if (kid.getData() instanceof Integer && (Integer) kid.getData() == IDialogConstants.FINISH_ID) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   166
					return (Button) kid;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   167
				}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   168
			}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   169
			else if (kid instanceof Composite) {
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   170
				Button button = findFinishButton((Composite) kid);
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   171
				if (button != null)
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   172
					return button;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   173
			}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   174
		}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   175
		return null;
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   176
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   177
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   178
	@Override
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   179
	public boolean performFinish() {
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   180
		hasFinished = true;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   181
		return true;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   182
	}
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   183
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   184
	public boolean shouldOpenLaunchConfigurationDialog() {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   185
		return hasFinished && advancedEdit;
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   186
	}
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   187
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   188
	public ILaunchConfigurationWorkingCopy getLaunchConfiguration() {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   189
		if (!hasFinished)
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   190
			return null;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   191
		
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   192
		ILaunchConfigurationWorkingCopy config = null;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   193
		try {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   194
			config = launchData.createConfiguration();
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   195
		} catch (CoreException e) {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   196
			LaunchPlugin.log(e);
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   197
		}
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   198
		
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   199
		return config;
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   200
	}
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   201
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   202
	public void init() {
982
c848ffa5a500 New launch wizard UI tweaks based on demo feedback
dadubrow
parents: 966
diff changeset
   203
		setDefaultPageImageDescriptor(CarbideUIPlugin.getSharedImages().getImageDescriptor(ICarbideSharedImages.IMG_NEW_LAUNCH_CONFIG_WIZARD_BANNER));
953
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   204
	}
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   205
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   206
	public int openWizard(Shell shell) {
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   207
		WizardDialog dialog = new WizardDialog(shell, this);
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   208
		return dialog.open();
68b6a294ab01 new launch wizard implementation
dadubrow
parents: 911
diff changeset
   209
	}
911
81a2e70a37d7 new wizard initial commit
dadubrow
parents:
diff changeset
   210
}