author | stechong |
Wed, 09 Jun 2010 13:48:12 -0500 | |
branch | C3_BUILDER_WORK |
changeset 1451 | 1d88f6209d70 |
parent 1446 | 0609cdacce9e |
child 1456 | 5c87471d6f91 |
permissions | -rw-r--r-- |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1 |
/* |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
2 |
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
8 |
* |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
11 |
* |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
13 |
* |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
15 |
* |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
16 |
*/ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
17 |
package com.nokia.carbide.cpp.internal.sdk.ui; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
18 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
19 |
import java.io.File; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
20 |
import java.text.MessageFormat; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
21 |
import java.util.Iterator; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
22 |
import java.util.List; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
23 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
24 |
import org.eclipse.core.runtime.IPath; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
25 |
import org.eclipse.core.runtime.Path; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
26 |
import org.eclipse.core.runtime.jobs.IJobChangeEvent; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
27 |
import org.eclipse.core.runtime.jobs.IJobChangeListener; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
28 |
import org.eclipse.jface.dialogs.MessageDialog; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
29 |
import org.eclipse.jface.preference.IPreferenceStore; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
30 |
import org.eclipse.jface.preference.PreferencePage; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
31 |
import org.eclipse.jface.viewers.ArrayContentProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
32 |
import org.eclipse.jface.viewers.CellEditor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
33 |
import org.eclipse.jface.viewers.CheckboxTableViewer; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
34 |
import org.eclipse.jface.viewers.ColumnViewer; |
1431 | 35 |
import org.eclipse.jface.viewers.ColumnViewerEditor; |
36 |
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; |
|
37 |
import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy; |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
38 |
import org.eclipse.jface.viewers.EditingSupport; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
39 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
40 |
import org.eclipse.jface.viewers.IStructuredSelection; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
41 |
import org.eclipse.jface.viewers.ITableLabelProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
42 |
import org.eclipse.jface.viewers.LabelProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
43 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
44 |
import org.eclipse.jface.viewers.StructuredSelection; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
45 |
import org.eclipse.jface.viewers.TableViewerColumn; |
1431 | 46 |
import org.eclipse.jface.viewers.TableViewerEditor; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
47 |
import org.eclipse.jface.viewers.TextCellEditor; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
48 |
import org.eclipse.swt.SWT; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
49 |
import org.eclipse.swt.events.SelectionAdapter; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
50 |
import org.eclipse.swt.events.SelectionEvent; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
51 |
import org.eclipse.swt.events.SelectionListener; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
52 |
import org.eclipse.swt.graphics.Color; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
53 |
import org.eclipse.swt.graphics.Image; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
54 |
import org.eclipse.swt.layout.GridData; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
55 |
import org.eclipse.swt.layout.GridLayout; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
56 |
import org.eclipse.swt.widgets.Button; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
57 |
import org.eclipse.swt.widgets.Composite; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
58 |
import org.eclipse.swt.widgets.Control; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
59 |
import org.eclipse.swt.widgets.DirectoryDialog; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
60 |
import org.eclipse.swt.widgets.Display; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
61 |
import org.eclipse.swt.widgets.Label; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
62 |
import org.eclipse.swt.widgets.Shell; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
63 |
import org.eclipse.swt.widgets.Table; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
64 |
import org.eclipse.swt.widgets.Text; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
65 |
import org.eclipse.ui.ISharedImages; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
66 |
import org.eclipse.ui.IWorkbench; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
67 |
import org.eclipse.ui.IWorkbenchPreferencePage; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
68 |
import org.eclipse.ui.PlatformUI; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
69 |
|
743
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
70 |
import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContextDataCache; |
335
a28d71356238
[Bug 8934] Ensure we create the devices.xml at the same location where we try to read it. Refactor copied method so single method called from SDKManager in core by SDKPreferencePage in ui. Ensure errors are reported in error log. Show dialog when unable to add SDK.
dadubrow
parents:
0
diff
changeset
|
71 |
import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager; |
1434 | 72 |
import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianSDK; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
73 |
import com.nokia.carbide.cpp.sdk.core.ISDKManager; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
74 |
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
75 |
import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
76 |
import com.nokia.carbide.cpp.sdk.ui.SDKUIPlugin; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
77 |
import com.nokia.carbide.cpp.sdk.ui.shared.AddSDKDialog; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
78 |
import com.nokia.carbide.cpp.ui.TextAndDialogCellEditor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
79 |
import com.nokia.cpp.internal.api.utils.ui.BrowseDialogUtils; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
80 |
|
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
81 |
public class SDKPreferencePage |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
82 |
extends PreferencePage |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
83 |
implements IWorkbenchPreferencePage { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
84 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
85 |
private class SDKLabelProvider extends LabelProvider implements ITableLabelProvider { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
86 |
public Image getColumnImage(Object element, int columnIndex) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
87 |
return null; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
88 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
89 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
90 |
public String getColumnText(Object element, int columnIndex) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
91 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
92 |
switch (columnIndex) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
93 |
case 1: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
94 |
return sdk.getUniqueId(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
95 |
case 2: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
96 |
return sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
97 |
default: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
98 |
return ""; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
99 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
100 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
101 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
102 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
103 |
private class IdEditingSupport extends EditingSupport { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
104 |
private TextCellEditor editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
105 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
106 |
public IdEditingSupport(ColumnViewer viewer) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
107 |
super(viewer); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
108 |
editor = new TextCellEditor((Composite) viewer.getControl()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
109 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
110 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
111 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
112 |
protected boolean canEdit(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
113 |
if (element instanceof ISymbianSDK) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
114 |
return true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
115 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
116 |
return false; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
117 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
118 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
119 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
120 |
protected CellEditor getCellEditor(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
121 |
return editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
122 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
123 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
124 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
125 |
protected Object getValue(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
126 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
127 |
return sdk.getUniqueId(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
128 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
129 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
130 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
131 |
protected void setValue(Object element, Object value) { |
1431 | 132 |
String sdkID = value.toString(); |
133 |
||
134 |
// check for spaces in ID |
|
135 |
if (sdkID.contains(" ")){ //$NON-NLS-1$ |
|
136 |
MessageDialog.openError(getShell(), Messages.getString("AddSDKDialog.Invalid_SDK_ID"), Messages.getString("AddSDKDialog.SDK_ID_No_Spaces")); //$NON-NLS-1$ //$NON-NLS-2$ |
|
137 |
return; |
|
138 |
} |
|
139 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
140 |
ISymbianSDK sdk = (ISymbianSDK) element; |
1434 | 141 |
((SymbianSDK)sdk).setUniqueId(sdkID); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
142 |
SDKCorePlugin.getSDKManager().updateSDK(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
143 |
getViewer().refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
144 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
145 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
146 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
147 |
private class LocationEditingSupport extends EditingSupport { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
148 |
private LocationCellEditor editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
149 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
150 |
public LocationEditingSupport(ColumnViewer viewer) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
151 |
super(viewer); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
152 |
editor = new LocationCellEditor((Composite) viewer.getControl()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
153 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
154 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
155 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
156 |
protected boolean canEdit(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
157 |
if (element instanceof ISymbianSDK) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
158 |
return true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
159 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
160 |
return false; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
161 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
162 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
163 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
164 |
protected CellEditor getCellEditor(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
165 |
return editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
166 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
167 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
168 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
169 |
protected Object getValue(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
170 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
171 |
return sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
172 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
173 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
174 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
175 |
protected void setValue(Object element, Object value) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
176 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
177 |
sdk.setEPOCROOT(value.toString()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
178 |
SDKCorePlugin.getSDKManager().updateSDK(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
179 |
getViewer().refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
180 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
181 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
182 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
183 |
private class LocationCellEditor extends TextAndDialogCellEditor { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
184 |
private Button button; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
185 |
private Text text; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
186 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
187 |
public LocationCellEditor(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
188 |
super(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
189 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
190 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
191 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
192 |
protected Control createContents(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
193 |
text = (Text) super.createContents(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
194 |
return text; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
195 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
196 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
197 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
198 |
protected Control createControl(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
199 |
Control control = super.createControl(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
200 |
button = getButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
201 |
button.setText(Messages.getString("SDKPreferencePage.Browse_Location_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
202 |
return control; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
203 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
204 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
205 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
206 |
protected Object openDialogBox(Control cellEditorWindow) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
207 |
DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.OPEN); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
208 |
BrowseDialogUtils.initializeFrom(dialog, text); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
209 |
return dialog.open(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
210 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
211 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
212 |
|
1431 | 213 |
private class SDKViewerStrategy extends ColumnViewerEditorActivationStrategy { |
214 |
public SDKViewerStrategy(ColumnViewer viewer) { |
|
215 |
super(viewer); |
|
216 |
} |
|
217 |
||
218 |
@Override |
|
219 |
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { |
|
220 |
return (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION); |
|
221 |
} |
|
222 |
} |
|
223 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
224 |
private class ScanJobListener implements IJobChangeListener { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
225 |
public void done(IJobChangeEvent event) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
226 |
Display.getDefault().asyncExec(new Runnable() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
227 |
public void run() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
228 |
rescanSDKs(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
229 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
230 |
}); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
231 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
232 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
233 |
public void aboutToRun(IJobChangeEvent event) {} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
234 |
public void awake(IJobChangeEvent event) {} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
235 |
public void running(IJobChangeEvent event) {} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
236 |
public void scheduled(IJobChangeEvent event) {} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
237 |
public void sleeping(IJobChangeEvent event) {} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
238 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
239 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
240 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
241 |
private IPreferenceStore prefsStore; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
242 |
private ISDKManager sdkMgr; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
243 |
private List<ISymbianSDK> sdkList; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
244 |
private ScanJobListener scanJobListner; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
245 |
private boolean scanForNewPlugins; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
246 |
private CheckboxTableViewer sdkListTableViewer; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
247 |
private Button addButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
248 |
private Button deleteButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
249 |
private Button propertiesButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
250 |
private Button scanForNewPluginsButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
251 |
private Button rescanButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
252 |
private Label iconLabel; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
253 |
private Label statusLabel; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
254 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
255 |
private Color red; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
256 |
private Color black; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
257 |
private Color gray; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
258 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
259 |
/** |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
260 |
* Constructor. |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
261 |
*/ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
262 |
public SDKPreferencePage() { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
263 |
super(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
264 |
scanJobListner = new ScanJobListener(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
265 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
266 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
267 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
268 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
269 |
* @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite) |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
270 |
*/ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
271 |
public void createControl(Composite parent){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
272 |
prefsStore = SDKUIPlugin.getDefault().getPreferenceStore(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
273 |
sdkMgr = SDKCorePlugin.getSDKManager(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
274 |
if (sdkMgr == null){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
275 |
return; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
276 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
277 |
sdkList = sdkMgr.getSDKList(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
278 |
if (sdkMgr instanceof SDKManager) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
279 |
SDKManager mgr = (SDKManager) sdkMgr; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
280 |
mgr.addScanJobListner(scanJobListner); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
281 |
} |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
282 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
283 |
super.createControl(parent); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
284 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
285 |
// Hide "Restore Defaults" button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
286 |
getDefaultsButton().setVisible(false); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
287 |
|
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
288 |
PlatformUI.getWorkbench().getHelpSystem().setHelp(super.getControl(), SDKUIHelpIds.SDK_PREFERENCES_PAGE); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
289 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
290 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
291 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
292 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
293 |
* @see org.eclipse.jface.dialogs.DialogPage#dispose() |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
294 |
*/ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
295 |
public void dispose() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
296 |
if (sdkMgr != null && sdkMgr instanceof SDKManager){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
297 |
SDKManager mgr = (SDKManager) sdkMgr; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
298 |
mgr.removeScanJobLisner(scanJobListner); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
299 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
300 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
301 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
302 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
303 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
304 |
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
305 |
*/ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
306 |
public void init(IWorkbench arg0) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
307 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
308 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
309 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
310 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
311 |
* @see org.eclipse.jface.preference.PreferencePage#performOk() |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
312 |
*/ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
313 |
public boolean performOk() { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
314 |
// Save preference page specific values; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
315 |
prefsStore.setValue(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS, scanForNewPluginsButton.getSelection()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
316 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
317 |
// Remember which SDK is enabled |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
318 |
for (ISymbianSDK sdk : sdkMgr.getSDKList()){ |
1434 | 319 |
((SymbianSDK)sdk).setEnabled(false); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
320 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
321 |
Object[] sdkObjects = sdkListTableViewer.getCheckedElements(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
322 |
for (Object currObj : sdkObjects){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
323 |
if (currObj instanceof ISymbianSDK){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
324 |
ISymbianSDK sdk = (ISymbianSDK)currObj; |
1434 | 325 |
((SymbianSDK)sdk).setEnabled(true); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
326 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
327 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
328 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
329 |
// Update cached SDK info |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
330 |
sdkMgr.updateCarbideSDKCache(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
331 |
return super.performOk(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
332 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
333 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
334 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
335 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
336 |
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
337 |
*/ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
338 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
339 |
protected Control createContents(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
340 |
// Set up colors used in this preference page |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
341 |
Shell shell = parent.getShell(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
342 |
red = shell.getDisplay().getSystemColor(SWT.COLOR_RED); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
343 |
black = shell.getDisplay().getSystemColor(SWT.COLOR_BLACK); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
344 |
gray = shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
345 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
346 |
Composite content = new Composite(parent, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
347 |
GridLayout gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
348 |
gridLayout.numColumns = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
349 |
content.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
350 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
351 |
// SDK table |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
352 |
sdkListTableViewer = CheckboxTableViewer.newCheckList(content, |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
353 |
SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
354 |
createSDKTable(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
355 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
356 |
// Buttons composite |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
357 |
Composite composite1 = new Composite(content, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
358 |
gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
359 |
gridLayout.makeColumnsEqualWidth = true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
360 |
composite1.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
361 |
GridData gridData = new GridData(SWT.LEFT, SWT.TOP, true, false); |
1431 | 362 |
composite1.setLayoutData(gridData); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
363 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
364 |
// Add button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
365 |
addButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
366 |
addButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
367 |
addButton.setText(Messages.getString("SDKPreferencePage.Add_Button_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
368 |
addButton.setToolTipText(Messages.getString("SDKPreferencePage.Add_Button_ToolTip")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
369 |
addButtonListener(addButton); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
370 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
371 |
// Delete button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
372 |
deleteButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
373 |
deleteButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
374 |
deleteButton.setText(Messages.getString("SDKPreferencePage.Delete_Button_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
375 |
deleteButton.setToolTipText(Messages.getString("SDKPreferencePage.Delete_Button_ToolTip")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
376 |
addButtonListener(deleteButton); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
377 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
378 |
// Properties button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
379 |
propertiesButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
380 |
propertiesButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
381 |
propertiesButton.setText(Messages.getString("SDKPreferencePage.Properties_Button_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
382 |
propertiesButton.setToolTipText(Messages.getString("SDKPreferencePage.Properties_Button_ToolTip")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
383 |
addButtonListener(propertiesButton); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
384 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
385 |
// Status and Rescan composite |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
386 |
Composite composite2 = new Composite(content, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
387 |
gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
388 |
gridData.widthHint = 350; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
389 |
gridData.heightHint = 50; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
390 |
composite2.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
391 |
gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
392 |
gridLayout.numColumns = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
393 |
composite2.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
394 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
395 |
// IStatus icon label |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
396 |
iconLabel = new Label(composite2, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
397 |
// IStatus text label |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
398 |
statusLabel = new Label(composite2, SWT.WRAP); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
399 |
gridData = new GridData(SWT.LEFT, SWT.TOP, true, false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
400 |
gridData.verticalSpan = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
401 |
statusLabel.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
402 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
403 |
new Label(content, SWT.WRAP); // filler |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
404 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
405 |
// Scan SDK checkbox |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
406 |
scanForNewPluginsButton = new Button(content, SWT.CHECK); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
407 |
scanForNewPluginsButton.setText(Messages.getString("SDKPreferencePage.ScanForNewPlugins_Button_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
408 |
scanForNewPluginsButton.setSelection(prefsStore.getBoolean(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
409 |
addButtonListener(scanForNewPluginsButton); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
410 |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
411 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
412 |
new Label(content, SWT.WRAP); // filler |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
413 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
414 |
// Rescan button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
415 |
rescanButton = new Button(content, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
416 |
rescanButton.setToolTipText(Messages.getString("SDKPreferencePage.Rescan_Button_ToolTip")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
417 |
rescanButton.setText(Messages.getString("SDKPreferencePage.Rescan_Button_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
418 |
addButtonListener(rescanButton); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
419 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
420 |
// Populate SDK table |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
421 |
addSDKComponentTableItems(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
422 |
selectSDKEntry(0); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
423 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
424 |
return content; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
425 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
426 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
427 |
private void addButtonListener(final Button aButton) { |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
428 |
SelectionListener listener = new SelectionAdapter() { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
429 |
public void widgetSelected(SelectionEvent e) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
430 |
if (e.getSource().equals(addButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
431 |
handleAddButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
432 |
} else if (e.getSource().equals(deleteButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
433 |
handleDeleteButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
434 |
} else if (e.getSource().equals(propertiesButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
435 |
handlePropertiesButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
436 |
} else if (e.getSource().equals(scanForNewPluginsButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
437 |
handleScanForNewPluginsButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
438 |
} else if (e.getSource().equals(rescanButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
439 |
handleRescanButton(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
440 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
441 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
442 |
}; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
443 |
aButton.addSelectionListener(listener); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
444 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
445 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
446 |
private void addSDKComponentTableItems() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
447 |
sdkListTableViewer.setLabelProvider(new SDKLabelProvider()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
448 |
sdkListTableViewer.setContentProvider(new ArrayContentProvider()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
449 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
450 |
sdkListTableViewer.setInput(sdkList.toArray()); |
1451
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
451 |
Table table = sdkListTableViewer.getTable(); |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
452 |
int count = table.getItemCount(); |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
453 |
if (count < 10) { // min. number of rows |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
454 |
count = 10; |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
455 |
} else |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
456 |
if (count > 20) { // max. number of rows |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
457 |
count = 20; |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
458 |
} |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
459 |
table.setToolTipText(Messages.getString("SDKPreferencePage.List_of_Available_SDKs_ToolTip")); //$NON-NLS-1$ |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
460 |
GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
461 |
gridData.widthHint = 350; |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
462 |
gridData.heightHint = table.getItemHeight() * (count + 2); |
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
463 |
table.setLayoutData(gridData); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
464 |
setCheckedElements(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
465 |
addSDKTableViewerListeners(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
466 |
if (sdkList == null || sdkList.size() == 0){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
467 |
statusError(Messages.getString("SDKPreferencePage.No_SDKs_Available_Message")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
468 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
469 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
470 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
471 |
private void addSDKTableViewerListeners(){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
472 |
sdkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
473 |
public void selectionChanged(SelectionChangedEvent event) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
474 |
if(event.getSelection() instanceof IStructuredSelection) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
475 |
IStructuredSelection selection = (IStructuredSelection)event.getSelection(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
476 |
if (selection.size() == 1){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
477 |
ISymbianSDK sdk = (ISymbianSDK)selection.getFirstElement(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
478 |
deleteButton.setEnabled(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
479 |
propertiesButton.setEnabled(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
480 |
updateSDKStatus(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
481 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
482 |
else { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
483 |
deleteButton.setEnabled(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
484 |
propertiesButton.setEnabled(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
485 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
486 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
487 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
488 |
}); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
489 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
490 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
491 |
private void createSDKTable() { |
1451
1d88f6209d70
Add SDK version info back to SDK properties dialog; more changes to make table in SDK preference page resizable.
stechong
parents:
1446
diff
changeset
|
492 |
Table table = sdkListTableViewer.getTable(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
493 |
table.setHeaderVisible(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
494 |
table.setLinesVisible(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
495 |
|
1431 | 496 |
SDKViewerStrategy strategy = new SDKViewerStrategy(sdkListTableViewer); |
497 |
TableViewerEditor.create(sdkListTableViewer, strategy, ColumnViewerEditor.DEFAULT); |
|
498 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
499 |
TableViewerColumn enabledCol = new TableViewerColumn(sdkListTableViewer, SWT.LEFT); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
500 |
enabledCol.getColumn().setText(Messages.getString("SDKPreferencePage.SDK_Table_Enabled_Column_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
501 |
enabledCol.getColumn().setWidth(50); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
502 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
503 |
TableViewerColumn idCol = new TableViewerColumn(sdkListTableViewer, SWT.LEFT); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
504 |
idCol.setEditingSupport(new IdEditingSupport(sdkListTableViewer)); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
505 |
idCol.getColumn().setText(Messages.getString("SDKPreferencePage.SDK_Table_ID_Column_Label")); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
506 |
idCol.getColumn().setWidth(160); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
507 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
508 |
TableViewerColumn locationCol = new TableViewerColumn(sdkListTableViewer, SWT.LEFT); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
509 |
locationCol.setEditingSupport(new LocationEditingSupport(sdkListTableViewer)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
510 |
locationCol.getColumn().setText(Messages.getString("SDKPreferencePage.SDK_Table_Location_Column_Label")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
511 |
locationCol.getColumn().setWidth(170); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
512 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
513 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
514 |
private void handleAddButton() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
515 |
AddSDKDialog dialog = new AddSDKDialog(getShell()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
516 |
if (dialog.open() == AddSDKDialog.OK){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
517 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
518 |
sdkListTableViewer.setInput(sdkList.toArray()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
519 |
setCheckedElements(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
520 |
sdkListTableViewer.refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
521 |
selectSDKEntry(sdkList.size() - 1); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
522 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
523 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
524 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
525 |
private void handleDeleteButton() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
526 |
ISymbianSDK sdk = (ISymbianSDK)((IStructuredSelection)sdkListTableViewer.getSelection()).getFirstElement(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
527 |
int index = sdkListTableViewer.getTable().getSelectionIndex(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
528 |
if (sdk != null){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
529 |
if (sdkMgr.removeSDK(sdk.getUniqueId())){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
530 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
531 |
sdkListTableViewer.setInput(sdkList.toArray()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
532 |
if (index > 0) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
533 |
selectSDKEntry(index - 1); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
534 |
} else { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
535 |
selectSDKEntry(index); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
536 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
537 |
sdkListTableViewer.refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
538 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
539 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
540 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
541 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
542 |
private void handlePropertiesButton() { |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
543 |
ISymbianSDK sdk = (ISymbianSDK)((IStructuredSelection)sdkListTableViewer.getSelection()).getFirstElement(); |
1431 | 544 |
int index = sdkListTableViewer.getTable().getSelectionIndex(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
545 |
if (sdk != null){ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
546 |
SDKPropertiesDialog sdkPropDlg = new SDKPropertiesDialog(getShell(), sdk); |
1431 | 547 |
sdkPropDlg.open(); |
548 |
selectSDKEntry(index); |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
549 |
} else { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
550 |
MessageDialog.openError(getShell(), Messages.getString("SDKPreferencePage.No_SDK_Selected"), Messages.getString("SDKPreferencePage.No_selected_SDK_detected")); //$NON-NLS-1$ //$NON-NLS-2$ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
551 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
552 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
553 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
554 |
private void handleScanForNewPluginsButton() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
555 |
scanForNewPlugins = scanForNewPluginsButton.getSelection(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
556 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
557 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
558 |
private void handleRescanButton() { |
743
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
559 |
// forcible rescan; dump cache |
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
560 |
SymbianBuildContextDataCache.refreshForSDKs(null); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
561 |
sdkMgr.scanSDKs(); |
483
34f888c29813
Fix Bug 9787 - Carbide gets its SDK list out of sync with devices.xml
timkelly
parents:
335
diff
changeset
|
562 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
563 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
564 |
private void rescanSDKs(){ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
565 |
sdkListTableViewer.getTable().clearAll(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
566 |
sdkListTableViewer.refresh(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
567 |
sdkList.clear(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
568 |
sdkList = sdkMgr.getSDKList(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
569 |
addSDKComponentTableItems(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
570 |
sdkListTableViewer.refresh(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
571 |
selectSDKEntry(0); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
572 |
|
483
34f888c29813
Fix Bug 9787 - Carbide gets its SDK list out of sync with devices.xml
timkelly
parents:
335
diff
changeset
|
573 |
if (scanForNewPlugins){ |
34f888c29813
Fix Bug 9787 - Carbide gets its SDK list out of sync with devices.xml
timkelly
parents:
335
diff
changeset
|
574 |
NewPluginChecker.checkForNewlyInstalledPlugins(SDKUIPlugin.getDefault().getWorkbench()); |
34f888c29813
Fix Bug 9787 - Carbide gets its SDK list out of sync with devices.xml
timkelly
parents:
335
diff
changeset
|
575 |
} |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
576 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
577 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
578 |
private void selectSDKEntry(int index) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
579 |
ISymbianSDK sdk = (ISymbianSDK)sdkListTableViewer.getElementAt(index); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
580 |
if (sdk != null){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
581 |
sdkListTableViewer.setSelection(new StructuredSelection(sdk), true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
582 |
sdkListTableViewer.getTable().setFocus(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
583 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
584 |
updateSDKStatus(sdk); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
585 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
586 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
587 |
private void setCheckedElements() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
588 |
Iterator<ISymbianSDK> iterator = sdkList.iterator(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
589 |
while (iterator.hasNext()) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
590 |
ISymbianSDK sdk = iterator.next(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
591 |
sdkListTableViewer.setChecked(sdk, sdk.isEnabled()); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
592 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
593 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
594 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
595 |
private void statusClear() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
596 |
iconLabel.setImage(null); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
597 |
statusLabel.setText(""); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
598 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
599 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
600 |
private void statusError(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
601 |
String errorMsg = "Error : " + msg; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
602 |
iconLabel.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
603 |
statusLabel.setText(errorMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
604 |
statusLabel.setForeground(red); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
605 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
606 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
607 |
statusLabel.getParent().layout(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
608 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
609 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
610 |
private void statusWarning(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
611 |
String warningMsg = "Warning : " + msg; //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
612 |
iconLabel.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
613 |
statusLabel.setText(warningMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
614 |
statusLabel.setForeground(black); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
615 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
616 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
617 |
statusLabel.getParent().layout(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
618 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
619 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
620 |
private void statusInfo(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
621 |
String infoMsg = "Info : " + msg; //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
622 |
iconLabel.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
623 |
statusLabel.setText(infoMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
624 |
statusLabel.setForeground(black); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
625 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
626 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
627 |
statusLabel.getParent().layout(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
628 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
629 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
630 |
private void updateSDKStatus(ISymbianSDK sdk){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
631 |
// No SDK selected |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
632 |
if (sdk == null) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
633 |
statusWarning(Messages.getString("SDKPreferencePage.No_SDKs_Available_Message")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
634 |
return; |
1350
653fc45456c4
Remove ABLD support (and support for OS 9.4 and less)
timkelly
parents:
743
diff
changeset
|
635 |
} else { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
636 |
// Check SDK EPOCROOT |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
637 |
String epocRootStr = sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
638 |
IPath epocRoot = new Path(epocRootStr); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
639 |
epocRoot = epocRoot.append("epoc32"); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
640 |
File epocRootFile = epocRoot.toFile(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
641 |
if (!epocRootFile.exists()) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
642 |
statusError(Messages.getString("SDKPreferencePage.Invalid_Location_Message")); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
643 |
return; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
644 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
645 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
646 |
// Check SDK OS Version |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
647 |
if ((sdk.getOSVersion().getMajor() < 9 || |
1431 | 648 |
(sdk.getOSVersion().getMajor() == 9 && sdk.getOSVersion().getMinor() < 4))) { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
649 |
statusError(MessageFormat.format( |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
650 |
Messages.getString("SDKPreferencePage.Invalid_SDK_Message"), //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
651 |
sdk.getOSVersion().toString())); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
652 |
return; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
653 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
654 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
655 |
// No error |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
656 |
statusClear(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
657 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
658 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
659 |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
660 |
} |