author | timkelly |
Thu, 29 Jul 2010 15:50:56 -0500 | |
branch | C3_BUILDER_WORK |
changeset 1730 | e0e324a4ef67 |
parent 1700 | aa833f2c99b6 |
child 1743 | b94a1c13f1e5 |
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; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
26 |
import org.eclipse.jface.dialogs.MessageDialog; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
27 |
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
|
28 |
import org.eclipse.jface.viewers.ArrayContentProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
29 |
import org.eclipse.jface.viewers.CellEditor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
30 |
import org.eclipse.jface.viewers.CheckboxTableViewer; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
31 |
import org.eclipse.jface.viewers.ColumnViewer; |
1431 | 32 |
import org.eclipse.jface.viewers.ColumnViewerEditor; |
33 |
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; |
|
34 |
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
|
35 |
import org.eclipse.jface.viewers.EditingSupport; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
36 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
37 |
import org.eclipse.jface.viewers.IStructuredSelection; |
1495 | 38 |
import org.eclipse.jface.viewers.ITableColorProvider; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
39 |
import org.eclipse.jface.viewers.ITableLabelProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
40 |
import org.eclipse.jface.viewers.LabelProvider; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
41 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
42 |
import org.eclipse.jface.viewers.StructuredSelection; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
43 |
import org.eclipse.jface.viewers.TableViewerColumn; |
1431 | 44 |
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
|
45 |
import org.eclipse.jface.viewers.TextCellEditor; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
46 |
import org.eclipse.swt.SWT; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
47 |
import org.eclipse.swt.events.SelectionAdapter; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
48 |
import org.eclipse.swt.events.SelectionEvent; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
49 |
import org.eclipse.swt.events.SelectionListener; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
50 |
import org.eclipse.swt.graphics.Color; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
51 |
import org.eclipse.swt.graphics.Image; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
52 |
import org.eclipse.swt.layout.GridData; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
53 |
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
|
54 |
import org.eclipse.swt.widgets.Button; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
55 |
import org.eclipse.swt.widgets.Composite; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
56 |
import org.eclipse.swt.widgets.Control; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
57 |
import org.eclipse.swt.widgets.DirectoryDialog; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
58 |
import org.eclipse.swt.widgets.Label; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
59 |
import org.eclipse.swt.widgets.Shell; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
60 |
import org.eclipse.swt.widgets.Table; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
61 |
import org.eclipse.swt.widgets.Text; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
62 |
import org.eclipse.ui.ISharedImages; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
63 |
import org.eclipse.ui.IWorkbench; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
64 |
import org.eclipse.ui.IWorkbenchPreferencePage; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
65 |
import org.eclipse.ui.PlatformUI; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
66 |
|
743
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
67 |
import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContextDataCache; |
1434 | 68 |
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
|
69 |
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
|
70 |
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
|
71 |
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
|
72 |
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
|
73 |
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
|
74 |
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
|
75 |
|
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
76 |
public class SDKPreferencePage |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
77 |
extends PreferencePage |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
78 |
implements IWorkbenchPreferencePage { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
79 |
|
1495 | 80 |
private class SDKLabelProvider extends LabelProvider implements ITableLabelProvider, ITableColorProvider { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
81 |
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
|
82 |
return null; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
83 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
84 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
85 |
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
|
86 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
87 |
switch (columnIndex) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
88 |
case 1: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
89 |
return sdk.getUniqueId(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
90 |
case 2: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
91 |
return sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
92 |
default: |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
93 |
return ""; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
94 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
95 |
} |
1495 | 96 |
|
97 |
public Color getForeground(Object element, int columnIndex) { |
|
98 |
ISymbianSDK sdk = (ISymbianSDK) element; |
|
99 |
return updateSDKcolor(sdk); |
|
100 |
} |
|
101 |
||
102 |
public Color getBackground(Object element, int columnIndex) { |
|
103 |
return white; |
|
104 |
} |
|
1421
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 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
107 |
private class IdEditingSupport extends EditingSupport { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
108 |
private TextCellEditor editor; |
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 |
public IdEditingSupport(ColumnViewer viewer) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
111 |
super(viewer); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
112 |
editor = new TextCellEditor((Composite) viewer.getControl()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
113 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
114 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
115 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
116 |
protected boolean canEdit(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
117 |
if (element instanceof ISymbianSDK) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
118 |
return true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
119 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
120 |
return false; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
121 |
} |
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 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
124 |
protected CellEditor getCellEditor(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
125 |
return editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
126 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
127 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
128 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
129 |
protected Object getValue(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
130 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
131 |
return sdk.getUniqueId(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
132 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
133 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
134 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
135 |
protected void setValue(Object element, Object value) { |
1431 | 136 |
String sdkID = value.toString(); |
137 |
||
138 |
// check for spaces in ID |
|
139 |
if (sdkID.contains(" ")){ //$NON-NLS-1$ |
|
140 |
MessageDialog.openError(getShell(), Messages.getString("AddSDKDialog.Invalid_SDK_ID"), Messages.getString("AddSDKDialog.SDK_ID_No_Spaces")); //$NON-NLS-1$ //$NON-NLS-2$ |
|
141 |
return; |
|
142 |
} |
|
143 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
144 |
ISymbianSDK sdk = (ISymbianSDK) element; |
1434 | 145 |
((SymbianSDK)sdk).setUniqueId(sdkID); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
146 |
SDKCorePlugin.getSDKManager().updateSDK(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
147 |
getViewer().refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
148 |
} |
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 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
151 |
private class LocationEditingSupport extends EditingSupport { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
152 |
private LocationCellEditor editor; |
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 |
public LocationEditingSupport(ColumnViewer viewer) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
155 |
super(viewer); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
156 |
editor = new LocationCellEditor((Composite) viewer.getControl()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
157 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
158 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
159 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
160 |
protected boolean canEdit(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
161 |
if (element instanceof ISymbianSDK) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
162 |
return true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
163 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
164 |
return false; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
165 |
} |
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 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
168 |
protected CellEditor getCellEditor(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
169 |
return editor; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
170 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
171 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
172 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
173 |
protected Object getValue(Object element) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
174 |
ISymbianSDK sdk = (ISymbianSDK) element; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
175 |
return sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
176 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
177 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
178 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
179 |
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
|
180 |
ISymbianSDK sdk = (ISymbianSDK) element; |
1462 | 181 |
((SymbianSDK)sdk).setEPOCROOT(value.toString()); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
182 |
SDKCorePlugin.getSDKManager().updateSDK(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
183 |
getViewer().refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
184 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
185 |
} |
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 |
private class LocationCellEditor extends TextAndDialogCellEditor { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
188 |
private Button button; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
189 |
private Text text; |
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 |
public LocationCellEditor(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
192 |
super(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
193 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
194 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
195 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
196 |
protected Control createContents(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
197 |
text = (Text) super.createContents(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
198 |
return text; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
199 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
200 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
201 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
202 |
protected Control createControl(Composite parent) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
203 |
Control control = super.createControl(parent); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
204 |
button = getButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
205 |
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
|
206 |
return control; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
207 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
208 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
209 |
@Override |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
210 |
protected Object openDialogBox(Control cellEditorWindow) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
211 |
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
|
212 |
BrowseDialogUtils.initializeFrom(dialog, text); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
213 |
return dialog.open(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
214 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
215 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
216 |
|
1431 | 217 |
private class SDKViewerStrategy extends ColumnViewerEditorActivationStrategy { |
218 |
public SDKViewerStrategy(ColumnViewer viewer) { |
|
219 |
super(viewer); |
|
220 |
} |
|
221 |
||
222 |
@Override |
|
223 |
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { |
|
224 |
return (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION); |
|
225 |
} |
|
226 |
} |
|
227 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
228 |
private ISDKManager sdkMgr; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
229 |
private List<ISymbianSDK> sdkList; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
230 |
private CheckboxTableViewer sdkListTableViewer; |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
231 |
private Button addButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
232 |
private Button deleteButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
233 |
private Button propertiesButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
234 |
private Button rescanButton; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
235 |
private Label iconLabel; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
236 |
private Label statusLabel; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
237 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
238 |
private Color black; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
239 |
private Color gray; |
1495 | 240 |
private Color red; |
241 |
private Color white; |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
242 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
243 |
/** |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
244 |
* Constructor. |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
245 |
*/ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
246 |
public SDKPreferencePage() { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
247 |
super(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
248 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
249 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
250 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
251 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
252 |
* @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
|
253 |
*/ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
254 |
public void createControl(Composite parent){ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
255 |
sdkMgr = SDKCorePlugin.getSDKManager(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
256 |
if (sdkMgr == null){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
257 |
return; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
258 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
259 |
sdkList = sdkMgr.getSDKList(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
260 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
261 |
super.createControl(parent); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
262 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
263 |
// Hide "Restore Defaults" button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
264 |
getDefaultsButton().setVisible(false); |
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 |
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
|
267 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
268 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
269 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
270 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
271 |
* @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
|
272 |
*/ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
273 |
public void init(IWorkbench arg0) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
274 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
275 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
276 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
277 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
278 |
* @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
|
279 |
*/ |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
280 |
public boolean performOk() { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
281 |
// Remember which SDK is enabled |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
282 |
for (ISymbianSDK sdk : sdkMgr.getSDKList()){ |
1434 | 283 |
((SymbianSDK)sdk).setEnabled(false); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
284 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
285 |
Object[] sdkObjects = sdkListTableViewer.getCheckedElements(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
286 |
for (Object currObj : sdkObjects){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
287 |
if (currObj instanceof ISymbianSDK){ |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
288 |
ISymbianSDK sdk = (ISymbianSDK)currObj; |
1434 | 289 |
((SymbianSDK)sdk).setEnabled(true); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
290 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
291 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
292 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
293 |
// Update cached SDK info |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
294 |
sdkMgr.updateCarbideSDKCache(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
295 |
return super.performOk(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
296 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
297 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
298 |
/* |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
299 |
* (non-Javadoc) |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
300 |
* @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
|
301 |
*/ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
302 |
@Override |
1730
e0e324a4ef67
make createContents public so Carbide portal can access SDK Prefs to draw it.
timkelly
parents:
1700
diff
changeset
|
303 |
public Control createContents(Composite parent) { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
304 |
// 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
|
305 |
Shell shell = parent.getShell(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
306 |
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
|
307 |
gray = shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); |
1495 | 308 |
red = shell.getDisplay().getSystemColor(SWT.COLOR_RED); |
309 |
white = shell.getDisplay().getSystemColor(SWT.COLOR_WHITE); |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
310 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
311 |
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
|
312 |
GridLayout gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
313 |
gridLayout.numColumns = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
314 |
content.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
315 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
316 |
// SDK table |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
317 |
sdkListTableViewer = CheckboxTableViewer.newCheckList(content, |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
318 |
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
|
319 |
createSDKTable(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
320 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
321 |
// Buttons composite |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
322 |
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
|
323 |
gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
324 |
gridLayout.makeColumnsEqualWidth = true; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
325 |
composite1.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
326 |
GridData gridData = new GridData(SWT.LEFT, SWT.TOP, true, false); |
1431 | 327 |
composite1.setLayoutData(gridData); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
328 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
329 |
// Add button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
330 |
addButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
331 |
addButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
332 |
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
|
333 |
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
|
334 |
addButtonListener(addButton); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
335 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
336 |
// Delete button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
337 |
deleteButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
338 |
deleteButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
339 |
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
|
340 |
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
|
341 |
addButtonListener(deleteButton); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
342 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
343 |
// Properties button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
344 |
propertiesButton = new Button(composite1, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
345 |
propertiesButton.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
346 |
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
|
347 |
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
|
348 |
addButtonListener(propertiesButton); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
349 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
350 |
// Status and Rescan composite |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
351 |
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
|
352 |
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
|
353 |
gridData.widthHint = 350; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
354 |
gridData.heightHint = 50; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
355 |
composite2.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
356 |
gridLayout = new GridLayout(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
357 |
gridLayout.numColumns = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
358 |
composite2.setLayout(gridLayout); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
359 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
360 |
// IStatus icon label |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
361 |
iconLabel = new Label(composite2, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
362 |
// IStatus text label |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
363 |
statusLabel = new Label(composite2, SWT.WRAP); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
364 |
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
|
365 |
gridData.verticalSpan = 2; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
366 |
statusLabel.setLayoutData(gridData); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
367 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
368 |
new Label(content, SWT.WRAP); // filler |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
369 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
370 |
// Rescan button |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
371 |
rescanButton = new Button(content, SWT.NONE); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
372 |
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
|
373 |
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
|
374 |
addButtonListener(rescanButton); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
375 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
376 |
// Populate SDK table |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
377 |
addSDKComponentTableItems(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
378 |
selectSDKEntry(0); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
379 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
380 |
return content; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
381 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
382 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
383 |
private void addButtonListener(final Button aButton) { |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
384 |
SelectionListener listener = new SelectionAdapter() { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
385 |
public void widgetSelected(SelectionEvent e) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
386 |
if (e.getSource().equals(addButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
387 |
handleAddButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
388 |
} else if (e.getSource().equals(deleteButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
389 |
handleDeleteButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
390 |
} else if (e.getSource().equals(propertiesButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
391 |
handlePropertiesButton(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
392 |
} else if (e.getSource().equals(rescanButton)) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
393 |
handleRescanButton(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
394 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
395 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
396 |
}; |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
397 |
aButton.addSelectionListener(listener); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
398 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
399 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
400 |
private void addSDKComponentTableItems() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
401 |
sdkListTableViewer.setLabelProvider(new SDKLabelProvider()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
402 |
sdkListTableViewer.setContentProvider(new ArrayContentProvider()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
403 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
404 |
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
|
405 |
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
|
406 |
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
|
407 |
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
|
408 |
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
|
409 |
} 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
|
410 |
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
|
411 |
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
|
412 |
} |
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
|
413 |
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
|
414 |
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
|
415 |
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
|
416 |
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
|
417 |
table.setLayoutData(gridData); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
418 |
setCheckedElements(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
419 |
addSDKTableViewerListeners(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
420 |
if (sdkList == null || sdkList.size() == 0){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
421 |
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
|
422 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
423 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
424 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
425 |
private void addSDKTableViewerListeners(){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
426 |
sdkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
427 |
public void selectionChanged(SelectionChangedEvent event) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
428 |
if(event.getSelection() instanceof IStructuredSelection) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
429 |
IStructuredSelection selection = (IStructuredSelection)event.getSelection(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
430 |
if (selection.size() == 1){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
431 |
ISymbianSDK sdk = (ISymbianSDK)selection.getFirstElement(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
432 |
deleteButton.setEnabled(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
433 |
propertiesButton.setEnabled(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
434 |
updateSDKStatus(sdk); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
435 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
436 |
else { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
437 |
deleteButton.setEnabled(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
438 |
propertiesButton.setEnabled(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
439 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
440 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
441 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
442 |
}); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
443 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
444 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
445 |
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
|
446 |
Table table = sdkListTableViewer.getTable(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
447 |
table.setHeaderVisible(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
448 |
table.setLinesVisible(false); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
449 |
|
1431 | 450 |
SDKViewerStrategy strategy = new SDKViewerStrategy(sdkListTableViewer); |
451 |
TableViewerEditor.create(sdkListTableViewer, strategy, ColumnViewerEditor.DEFAULT); |
|
452 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
453 |
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
|
454 |
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
|
455 |
enabledCol.getColumn().setWidth(50); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
456 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
457 |
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
|
458 |
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
|
459 |
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
|
460 |
idCol.getColumn().setWidth(160); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
461 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
462 |
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
|
463 |
locationCol.setEditingSupport(new LocationEditingSupport(sdkListTableViewer)); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
464 |
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
|
465 |
locationCol.getColumn().setWidth(170); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
466 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
467 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
468 |
private void handleAddButton() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
469 |
AddSDKDialog dialog = new AddSDKDialog(getShell()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
470 |
if (dialog.open() == AddSDKDialog.OK){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
471 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
472 |
sdkListTableViewer.setInput(sdkList.toArray()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
473 |
setCheckedElements(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
474 |
sdkListTableViewer.refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
475 |
selectSDKEntry(sdkList.size() - 1); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
476 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
477 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
478 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
479 |
private void handleDeleteButton() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
480 |
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
|
481 |
int index = sdkListTableViewer.getTable().getSelectionIndex(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
482 |
if (sdk != null){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
483 |
if (sdkMgr.removeSDK(sdk.getUniqueId())){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
484 |
sdkList = sdkMgr.getSDKList(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
485 |
sdkListTableViewer.setInput(sdkList.toArray()); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
486 |
if (index > 0) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
487 |
selectSDKEntry(index - 1); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
488 |
} else { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
489 |
selectSDKEntry(index); |
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 |
sdkListTableViewer.refresh(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
492 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
493 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
494 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
495 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
496 |
private void handlePropertiesButton() { |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
497 |
ISymbianSDK sdk = (ISymbianSDK)((IStructuredSelection)sdkListTableViewer.getSelection()).getFirstElement(); |
1431 | 498 |
int index = sdkListTableViewer.getTable().getSelectionIndex(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
499 |
if (sdk != null){ |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
500 |
SDKPropertiesDialog sdkPropDlg = new SDKPropertiesDialog(getShell(), sdk); |
1431 | 501 |
sdkPropDlg.open(); |
502 |
selectSDKEntry(index); |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
503 |
} else { |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
504 |
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
|
505 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
506 |
} |
1421
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 |
private void handleRescanButton() { |
743
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
509 |
// forcible rescan; dump cache |
78fd666a897a
Fix filesystem caching performance as in bug #10318
Ed Swartz <ed.swartz@nokia.com>
parents:
608
diff
changeset
|
510 |
SymbianBuildContextDataCache.refreshForSDKs(null); |
1456 | 511 |
startRescanning(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
512 |
sdkMgr.scanSDKs(); |
1456 | 513 |
finishRescanning(); |
483
34f888c29813
Fix Bug 9787 - Carbide gets its SDK list out of sync with devices.xml
timkelly
parents:
335
diff
changeset
|
514 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
515 |
|
1456 | 516 |
private void startRescanning() { |
517 |
rescanButton.setText(Messages.getString("SDKPreferencePage.Rescanning_Button_Label")); //$NON-NLS-1$ |
|
518 |
rescanButton.setEnabled(false); |
|
519 |
} |
|
520 |
||
521 |
private void finishRescanning(){ |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
522 |
sdkListTableViewer.getTable().clearAll(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
523 |
sdkListTableViewer.refresh(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
524 |
sdkList.clear(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
525 |
sdkList = sdkMgr.getSDKList(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
526 |
addSDKComponentTableItems(); |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
527 |
sdkListTableViewer.refresh(); |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
528 |
selectSDKEntry(0); |
1456 | 529 |
rescanButton.setText(Messages.getString("SDKPreferencePage.Rescan_Button_Label")); //$NON-NLS-1$ |
530 |
rescanButton.setEnabled(true); |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
531 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
532 |
|
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
533 |
private void selectSDKEntry(int index) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
534 |
ISymbianSDK sdk = (ISymbianSDK)sdkListTableViewer.getElementAt(index); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
535 |
if (sdk != null){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
536 |
sdkListTableViewer.setSelection(new StructuredSelection(sdk), true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
537 |
sdkListTableViewer.getTable().setFocus(); |
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 |
updateSDKStatus(sdk); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
540 |
} |
1421
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 setCheckedElements() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
543 |
Iterator<ISymbianSDK> iterator = sdkList.iterator(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
544 |
while (iterator.hasNext()) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
545 |
ISymbianSDK sdk = iterator.next(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
546 |
sdkListTableViewer.setChecked(sdk, sdk.isEnabled()); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
547 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
548 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
549 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
550 |
private void statusClear() { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
551 |
iconLabel.setImage(null); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
552 |
statusLabel.setText(""); |
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 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
555 |
private void statusError(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
556 |
String errorMsg = "Error : " + msg; |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
557 |
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
|
558 |
statusLabel.setText(errorMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
559 |
statusLabel.setForeground(red); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
560 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
561 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
562 |
statusLabel.getParent().layout(true); |
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 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
565 |
private void statusWarning(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
566 |
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
|
567 |
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
|
568 |
statusLabel.setText(warningMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
569 |
statusLabel.setForeground(black); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
570 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
571 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
572 |
statusLabel.getParent().layout(true); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
573 |
} |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
574 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
575 |
private void statusInfo(String msg) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
576 |
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
|
577 |
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
|
578 |
statusLabel.setText(infoMsg); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
579 |
statusLabel.setForeground(black); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
580 |
statusLabel.setBackground(gray); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
581 |
statusLabel.update(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
582 |
statusLabel.getParent().layout(true); |
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 |
|
1495 | 585 |
private Color updateSDKcolor(ISymbianSDK sdk){ |
586 |
Color color = black; |
|
587 |
||
588 |
// Check SDK EPOCROOT |
|
589 |
String epocRootStr = sdk.getEPOCROOT(); |
|
590 |
IPath epocRoot = new Path(epocRootStr); |
|
591 |
epocRoot = epocRoot.append("epoc32"); |
|
592 |
File epocRootFile = epocRoot.toFile(); |
|
593 |
if (!epocRootFile.exists()) { |
|
594 |
color = red; |
|
595 |
} |
|
596 |
||
597 |
// Check SDK OS Version |
|
598 |
if ((sdk.getOSVersion().getMajor() < 9 || |
|
599 |
(sdk.getOSVersion().getMajor() == 9 && sdk.getOSVersion().getMinor() < 4))) { |
|
600 |
color = red; |
|
601 |
} |
|
602 |
||
603 |
return color; |
|
604 |
} |
|
605 |
||
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
606 |
private void updateSDKStatus(ISymbianSDK sdk){ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
607 |
// No SDK selected |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
608 |
if (sdk == null) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
609 |
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
|
610 |
return; |
1350
653fc45456c4
Remove ABLD support (and support for OS 9.4 and less)
timkelly
parents:
743
diff
changeset
|
611 |
} else { |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
612 |
// Check SDK EPOCROOT |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
613 |
String epocRootStr = sdk.getEPOCROOT(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
614 |
IPath epocRoot = new Path(epocRootStr); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
615 |
epocRoot = epocRoot.append("epoc32"); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
616 |
File epocRootFile = epocRoot.toFile(); |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
617 |
if (!epocRootFile.exists()) { |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
618 |
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
|
619 |
return; |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
620 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
621 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
622 |
// Check SDK OS Version |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
623 |
if ((sdk.getOSVersion().getMajor() < 9 || |
1431 | 624 |
(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
|
625 |
statusError(MessageFormat.format( |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
626 |
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
|
627 |
sdk.getOSVersion().toString())); //$NON-NLS-1$ |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
628 |
return; |
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 |
|
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
631 |
// No error |
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
632 |
statusClear(); |
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
633 |
} |
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
634 |
} |
1421
587da7cb64b7
New SDK preference page and SDK scanning mechanism; fix for Bug 10634.
stechong
parents:
1352
diff
changeset
|
635 |
|
0
fb279309251b
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
636 |
} |