author | Eugene Ostroukhov <eugeneo@symbian.org> |
Thu, 02 Sep 2010 16:31:16 -0700 | |
changeset 485 | df4f55e8569e |
parent 484 | f5df819c1852 |
permissions | -rw-r--r-- |
485
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
1 |
/******************************************************************************* |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
2 |
* Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies). |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
3 |
* All rights reserved. |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
8 |
* |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
9 |
* Initial Contributors: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
10 |
* Symbian Foundation - initial contribution. |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
11 |
* Contributors: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
12 |
* Description: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
13 |
* Overview: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
14 |
* Details: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
15 |
* Platforms/Drives/Compatibility: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
16 |
* Assumptions/Requirement/Pre-requisites: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
17 |
* Failures and causes: |
df4f55e8569e
Fixed copyright headers and removed unneeded WRT mentions from TMW code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
484
diff
changeset
|
18 |
*******************************************************************************/ |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
19 |
package org.symbian.tools.tmw.internal.ui.importwizard; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
20 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
21 |
import java.io.File; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
22 |
import java.net.URI; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
23 |
import java.text.MessageFormat; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
24 |
import java.util.Map; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
25 |
import java.util.Map.Entry; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
26 |
import java.util.TreeMap; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
27 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
28 |
import org.eclipse.core.resources.IFile; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
29 |
import org.eclipse.core.resources.IProject; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
30 |
import org.eclipse.core.resources.IResource; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
31 |
import org.eclipse.core.resources.IWorkspace; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
32 |
import org.eclipse.core.resources.ResourcesPlugin; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
33 |
import org.eclipse.core.runtime.IPath; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
34 |
import org.eclipse.core.runtime.IStatus; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
35 |
import org.eclipse.core.runtime.Path; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
36 |
import org.eclipse.jface.dialogs.Dialog; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
37 |
import org.eclipse.jface.layout.GridDataFactory; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
38 |
import org.eclipse.jface.viewers.ComboViewer; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
39 |
import org.eclipse.jface.viewers.ISelection; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
40 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
41 |
import org.eclipse.jface.viewers.IStructuredContentProvider; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
42 |
import org.eclipse.jface.viewers.IStructuredSelection; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
43 |
import org.eclipse.jface.viewers.LabelProvider; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
44 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
45 |
import org.eclipse.jface.viewers.StructuredSelection; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
46 |
import org.eclipse.jface.viewers.Viewer; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
47 |
import org.eclipse.jface.wizard.WizardPage; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
48 |
import org.eclipse.swt.SWT; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
49 |
import org.eclipse.swt.events.ModifyEvent; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
50 |
import org.eclipse.swt.events.ModifyListener; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
51 |
import org.eclipse.swt.events.SelectionAdapter; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
52 |
import org.eclipse.swt.events.SelectionEvent; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
53 |
import org.eclipse.swt.layout.GridData; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
54 |
import org.eclipse.swt.layout.GridLayout; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
55 |
import org.eclipse.swt.widgets.Button; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
56 |
import org.eclipse.swt.widgets.Composite; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
57 |
import org.eclipse.swt.widgets.Event; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
58 |
import org.eclipse.swt.widgets.FileDialog; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
59 |
import org.eclipse.swt.widgets.Label; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
60 |
import org.eclipse.swt.widgets.Listener; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
61 |
import org.eclipse.swt.widgets.Text; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
62 |
import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
63 |
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
64 |
import org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
65 |
import org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea.IErrorMessageReporter; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
66 |
import org.symbian.tools.tmw.core.runtimes.IMobileWebRuntime; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
67 |
import org.symbian.tools.tmw.ui.TMWCoreUI; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
68 |
import org.symbian.tools.tmw.ui.project.IApplicationImporter; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
69 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
70 |
@SuppressWarnings("restriction") |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
71 |
public class ApplicationImportWizardPage extends WizardPage { |
483
109da596fa9d
Fixed relevant FindBug messages
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
481
diff
changeset
|
72 |
private static final class MapContentProvider implements IStructuredContentProvider { |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
73 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
74 |
public void dispose() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
75 |
// Do nothing |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
76 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
77 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
78 |
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
79 |
// Do nothing |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
80 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
81 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
82 |
@SuppressWarnings("unchecked") |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
83 |
public Object[] getElements(Object inputElement) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
84 |
return ((Map<String, IApplicationImporter>) inputElement).entrySet().toArray(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
85 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
86 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
87 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
88 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
89 |
// constants |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
90 |
private static final int SIZING_TEXT_FIELD_WIDTH = 250; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
91 |
private final IFile file; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
92 |
// initial value stores |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
93 |
private String initialProjectFieldValue; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
94 |
private ProjectContentsLocationArea locationArea; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
95 |
private final Listener nameModifyListener = new Listener() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
96 |
public void handleEvent(Event e) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
97 |
setLocationForSelection(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
98 |
boolean valid = validatePage(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
99 |
setPageComplete(valid); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
100 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
101 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
102 |
}; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
103 |
// widgets |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
104 |
private Text projectNameField; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
105 |
private Text fileName; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
106 |
private ComboViewer runtimes; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
107 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
108 |
protected ApplicationImportWizardPage(IFile file) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
109 |
super("ImportApplication"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
110 |
this.file = file; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
111 |
setTitle("Import Mobile Web Application"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
112 |
setDescription("Create mobile web application project from application package file"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
113 |
setPageComplete(false); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
114 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
115 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
116 |
protected void browse() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
117 |
FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
118 |
String path = fileName.getText(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
119 |
path = path.trim().length() > 0 ? path.trim() : TMWCoreUI.getDefault().getPreferenceStore() |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
120 |
.getString(ApplicationImportWizard.RECENT_IMPORT_PATH); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
121 |
fileDialog.setFilterPath(path); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
122 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
123 |
final Map<String, String> filters = new TreeMap<String, String>(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
124 |
filters.put("*", "All files (*.*)"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
125 |
final IApplicationImporter[] importers = TMWCoreUI.getApplicationImporters(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
126 |
for (IApplicationImporter importer : importers) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
127 |
filters.putAll(importer.getFileFilters()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
128 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
129 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
130 |
final String[] extensions = filters.keySet().toArray(new String[filters.size()]); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
131 |
final String[] names = filters.values().toArray(new String[filters.size()]); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
132 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
133 |
fileDialog.setFilterExtensions(extensions); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
134 |
fileDialog.setFilterNames(names); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
135 |
String res = fileDialog.open(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
136 |
if (res != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
137 |
updateWgzName(path.trim(), res); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
138 |
fileName.setText(res); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
139 |
setPageComplete(validatePage()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
140 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
141 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
142 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
143 |
public void createControl(Composite parent) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
144 |
Composite composite = new Composite(parent, SWT.NULL); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
145 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
146 |
initializeDialogUnits(parent); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
147 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
148 |
composite.setLayout(new GridLayout()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
149 |
composite.setLayoutData(new GridData(GridData.FILL_BOTH)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
150 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
151 |
createProjectNameGroup(composite); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
152 |
locationArea = new ProjectContentsLocationArea(getErrorReporter(), composite); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
153 |
if (initialProjectFieldValue != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
154 |
locationArea.updateProjectName(initialProjectFieldValue); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
155 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
156 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
157 |
// Scale the button based on the rest of the dialog |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
158 |
setButtonLayoutData(locationArea.getBrowseButton()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
159 |
if (file != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
160 |
fileName.setText(file.getLocation().toOSString()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
161 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
162 |
setPageComplete(validatePage()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
163 |
// Show description on opening |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
164 |
setErrorMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
165 |
setMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
166 |
setControl(composite); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
167 |
Dialog.applyDialogFont(composite); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
168 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
169 |
setControl(composite); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
170 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
171 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
172 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
173 |
* Creates the project name specification controls. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
174 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
175 |
* @param parent |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
176 |
* the parent composite |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
177 |
*/ |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
178 |
private void createProjectNameGroup(Composite parent) { |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
179 |
// project specification group |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
180 |
Composite projectGroup = new Composite(parent, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
181 |
GridLayout layout = new GridLayout(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
182 |
layout.numColumns = 2; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
183 |
projectGroup.setLayout(layout); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
184 |
projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
185 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
186 |
Label label = new Label(projectGroup, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
187 |
label.setText("WGZ archive:"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
188 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
189 |
Composite buttonText = new Composite(projectGroup, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
190 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
191 |
buttonText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
192 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
193 |
GridLayout gridLayout = new GridLayout(2, false); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
194 |
gridLayout.marginWidth = 0; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
195 |
gridLayout.marginHeight = 0; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
196 |
buttonText.setLayout(gridLayout); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
197 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
198 |
fileName = new Text(buttonText, SWT.BORDER); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
199 |
fileName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
200 |
fileName.addModifyListener(new ModifyListener() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
201 |
public void modifyText(ModifyEvent e) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
202 |
String val = fileName.getData() != null ? fileName.getData().toString() : ""; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
203 |
String name = fileName.getText().trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
204 |
updateWgzName(val, name); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
205 |
fileName.setData(name); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
206 |
setPageComplete(validatePage()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
207 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
208 |
}); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
209 |
Button browse = new Button(buttonText, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
210 |
browse.setText("Browse..."); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
211 |
browse.addSelectionListener(new SelectionAdapter() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
212 |
@Override |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
213 |
public void widgetSelected(SelectionEvent e) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
214 |
browse(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
215 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
216 |
}); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
217 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
218 |
new Label(projectGroup, SWT.NONE).setText("Targeted runtime:"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
219 |
runtimes = new ComboViewer(projectGroup, SWT.BORDER | SWT.READ_ONLY); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
220 |
runtimes.getCombo().setEnabled(false); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
221 |
runtimes.setContentProvider(new MapContentProvider()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
222 |
runtimes.setLabelProvider(new LabelProvider() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
223 |
@SuppressWarnings("unchecked") |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
224 |
@Override |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
225 |
public String getText(Object element) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
226 |
return ((Map.Entry<String, IApplicationImporter>) element).getKey().toString(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
227 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
228 |
}); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
229 |
runtimes.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
230 |
runtimes.addSelectionChangedListener(new ISelectionChangedListener() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
231 |
public void selectionChanged(SelectionChangedEvent event) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
232 |
setPageComplete(validatePage()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
233 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
234 |
}); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
235 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
236 |
Label separator = new Label(projectGroup, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
237 |
GridDataFactory.generate(separator, 2, 2); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
238 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
239 |
// new project label |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
240 |
Label projectLabel = new Label(projectGroup, SWT.NONE); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
241 |
projectLabel.setText(IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
242 |
projectLabel.setFont(parent.getFont()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
243 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
244 |
// new project name entry field |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
245 |
projectNameField = new Text(projectGroup, SWT.BORDER); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
246 |
GridData data = new GridData(GridData.FILL_HORIZONTAL); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
247 |
data.widthHint = SIZING_TEXT_FIELD_WIDTH; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
248 |
projectNameField.setLayoutData(data); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
249 |
projectNameField.setFont(parent.getFont()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
250 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
251 |
// Set the initial value first before listener |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
252 |
// to avoid handling an event during the creation. |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
253 |
if (initialProjectFieldValue != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
254 |
projectNameField.setText(initialProjectFieldValue); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
255 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
256 |
projectNameField.addListener(SWT.Modify, nameModifyListener); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
257 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
258 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
259 |
public String getArchiveFile() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
260 |
return fileName.getText().trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
261 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
262 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
263 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
264 |
* Get an error reporter for the receiver. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
265 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
266 |
* @return IErrorMessageReporter |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
267 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
268 |
private IErrorMessageReporter getErrorReporter() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
269 |
return new IErrorMessageReporter() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
270 |
public void reportError(String errorMessage, boolean infoOnly) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
271 |
if (infoOnly) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
272 |
setMessage(errorMessage, IStatus.INFO); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
273 |
setErrorMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
274 |
} else { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
275 |
setErrorMessage(errorMessage); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
276 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
277 |
boolean valid = errorMessage == null; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
278 |
if (valid) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
279 |
valid = validatePage(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
280 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
281 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
282 |
setPageComplete(valid); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
283 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
284 |
}; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
285 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
286 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
287 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
288 |
* Returns the current project location path as entered by the user, or its |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
289 |
* anticipated initial value. Note that if the default has been returned the |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
290 |
* path in a project description used to create a project should not be set. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
291 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
292 |
* @return the project location path or its anticipated initial value. |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
293 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
294 |
public IPath getLocationPath() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
295 |
return new Path(locationArea.getProjectLocation()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
296 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
297 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
298 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
299 |
* /** Returns the current project location URI as entered by the user, or |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
300 |
* <code>null</code> if a valid project location has not been entered. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
301 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
302 |
* @return the project location URI, or <code>null</code> |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
303 |
* @since 3.2 |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
304 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
305 |
public URI getLocationURI() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
306 |
return locationArea.getProjectLocationURI(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
307 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
308 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
309 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
310 |
* Creates a project resource handle for the current project name field |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
311 |
* value. The project handle is created relative to the workspace root. |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
312 |
* <p> |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
313 |
* This method does not create the project resource; this is the |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
314 |
* responsibility of <code>IProject::create</code> invoked by the new |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
315 |
* project resource wizard. |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
316 |
* </p> |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
317 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
318 |
* @return the new project resource handle |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
319 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
320 |
public IProject getProjectHandle() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
321 |
return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
322 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
323 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
324 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
325 |
* Returns the current project name as entered by the user, or its |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
326 |
* anticipated initial value. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
327 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
328 |
* @return the project name, its anticipated initial value, or |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
329 |
* <code>null</code> if no project name is known |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
330 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
331 |
public String getProjectName() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
332 |
if (projectNameField == null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
333 |
return initialProjectFieldValue; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
334 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
335 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
336 |
return getProjectNameFieldValue(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
337 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
338 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
339 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
340 |
* Returns the value of the project name field with leading and trailing |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
341 |
* spaces removed. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
342 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
343 |
* @return the project name in the field |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
344 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
345 |
private String getProjectNameFieldValue() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
346 |
if (projectNameField == null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
347 |
return ""; //$NON-NLS-1$ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
348 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
349 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
350 |
return projectNameField.getText().trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
351 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
352 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
353 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
354 |
* Sets the initial project name that this page will use when created. The |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
355 |
* name is ignored if the createControl(Composite) method has already been |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
356 |
* called. Leading and trailing spaces in the name are ignored. Providing |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
357 |
* the name of an existing project will not necessarily cause the wizard to |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
358 |
* warn the user. Callers of this method should first check if the project |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
359 |
* name passed already exists in the workspace. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
360 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
361 |
* @param name |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
362 |
* initial project name for this page |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
363 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
364 |
* @see IWorkspace#validateName(String, int) |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
365 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
366 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
367 |
public void setInitialProjectName(String name) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
368 |
if (name == null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
369 |
initialProjectFieldValue = null; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
370 |
} else { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
371 |
initialProjectFieldValue = name.trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
372 |
if (locationArea != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
373 |
locationArea.updateProjectName(name.trim()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
374 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
375 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
376 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
377 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
378 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
379 |
* Set the location to the default location if we are set to useDefaults. |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
380 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
381 |
void setLocationForSelection() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
382 |
locationArea.updateProjectName(getProjectNameFieldValue()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
383 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
384 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
385 |
private void updateWgzName(String oldValue, String newValue) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
386 |
String project = projectNameField.getText().trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
387 |
if (project.length() == 0 || project.equals(new Path(oldValue).removeFileExtension().lastSegment())) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
388 |
String projectName = new Path(newValue).removeFileExtension().lastSegment(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
389 |
projectNameField.setText(projectName); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
390 |
locationArea.updateProjectName(projectName); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
391 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
392 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
393 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
394 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
395 |
* Returns the useDefaults. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
396 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
397 |
* @return boolean |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
398 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
399 |
public boolean useDefaults() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
400 |
return locationArea.isDefault(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
401 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
402 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
403 |
private boolean validating = false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
404 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
405 |
/** |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
406 |
* Returns whether this page's controls currently all contain valid values. |
484
f5df819c1852
Checkstyle was used to review coding conventions
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
483
diff
changeset
|
407 |
* |
481
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
408 |
* @return <code>true</code> if all controls are valid, and |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
409 |
* <code>false</code> if at least one is invalid |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
410 |
*/ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
411 |
protected synchronized boolean validatePage() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
412 |
if (validating) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
413 |
return true; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
414 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
415 |
validating = true; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
416 |
try { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
417 |
final IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
418 |
final String archive = fileName.getText().trim(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
419 |
if (archive.equals("")) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
420 |
setErrorMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
421 |
setMessage("Archive name must be specified"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
422 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
423 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
424 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
425 |
final File f = new File(archive); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
426 |
if (!isValidArchive(f)) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
427 |
setErrorMessage(MessageFormat.format("{0} is not a valid application archive", archive)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
428 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
429 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
430 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
431 |
final String projectFieldContents = getProjectNameFieldValue(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
432 |
if (projectFieldContents.equals("")) { //$NON-NLS-1$ |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
433 |
setErrorMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
434 |
setMessage(IDEWorkbenchMessages.WizardNewProjectCreationPage_projectNameEmpty); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
435 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
436 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
437 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
438 |
final IStatus nameStatus = workspace.validateName(projectFieldContents, IResource.PROJECT); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
439 |
if (!nameStatus.isOK()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
440 |
setErrorMessage(nameStatus.getMessage()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
441 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
442 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
443 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
444 |
final IProject handle = getProjectHandle(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
445 |
if (handle.exists()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
446 |
setErrorMessage(IDEWorkbenchMessages.WizardNewProjectCreationPage_projectExistsMessage); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
447 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
448 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
449 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
450 |
final IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectNameFieldValue()); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
451 |
locationArea.setExistingProject(project); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
452 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
453 |
final String validLocationMessage = locationArea.checkValidLocation(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
454 |
if (validLocationMessage != null) { // there is no destination location given |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
455 |
setErrorMessage(validLocationMessage); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
456 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
457 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
458 |
if (runtimes.getSelection().isEmpty()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
459 |
setErrorMessage("Select target runtime"); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
460 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
461 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
462 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
463 |
setErrorMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
464 |
setMessage(null); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
465 |
return true; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
466 |
} finally { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
467 |
validating = false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
468 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
469 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
470 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
471 |
private boolean isValidArchive(File f) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
472 |
if (f.isFile()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
473 |
final Map<String, IApplicationImporter> importers = new TreeMap<String, IApplicationImporter>(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
474 |
final IApplicationImporter[] applicationImporters = TMWCoreUI.getApplicationImporters(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
475 |
for (IApplicationImporter importer : applicationImporters) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
476 |
final IMobileWebRuntime runtime = importer.getApplicationRuntime(f); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
477 |
if (runtime != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
478 |
importers.put(runtime.getName(), importer); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
479 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
480 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
481 |
final ISelection selection = runtimes.getSelection(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
482 |
Object sel = null; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
483 |
if (!selection.isEmpty()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
484 |
@SuppressWarnings("unchecked") |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
485 |
Map.Entry<String, IApplicationImporter> entry = (Entry<String, IApplicationImporter>) ((IStructuredSelection) selection) |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
486 |
.getFirstElement(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
487 |
for (Entry<String, IApplicationImporter> ent : importers.entrySet()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
488 |
if (ent.getKey().equals(entry.getKey())) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
489 |
sel = ent; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
490 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
491 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
492 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
493 |
runtimes.setInput(importers); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
494 |
if (sel != null) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
495 |
runtimes.setSelection(new StructuredSelection(sel)); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
496 |
} else if (importers.size() == 1) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
497 |
runtimes.setSelection(new StructuredSelection(importers.entrySet().iterator().next())); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
498 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
499 |
runtimes.getControl().setEnabled(importers.size() > 1); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
500 |
return !runtimes.getSelection().isEmpty(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
501 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
502 |
return false; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
503 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
504 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
505 |
public IApplicationImporter getImporter() { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
506 |
if (runtimes == null || runtimes.getControl().isDisposed()) { |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
507 |
return null; |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
508 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
509 |
@SuppressWarnings("unchecked") |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
510 |
final Map.Entry<String, IApplicationImporter> element = (Entry<String, IApplicationImporter>) ((IStructuredSelection) runtimes |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
511 |
.getSelection()).getFirstElement(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
512 |
return element.getValue(); |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
513 |
} |
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
514 |
|
e908ec135fa1
Application import wizard was refactored into extensible code
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
515 |
} |