Skip to content

Commit d9d0065

Browse files
committed
make global Combo read-only; simplify
1 parent d274b3f commit d9d0065

File tree

1 file changed

+23
-41
lines changed

1 file changed

+23
-41
lines changed

pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java

Lines changed: 23 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package pm.eclipse.editbox.pref;
22

3-
import java.net.MalformedURLException;
4-
import java.net.URL;
53
import java.util.ArrayList;
64
import java.util.Collection;
75
import java.util.Collections;
@@ -12,7 +10,6 @@
1210
import org.eclipse.jface.dialogs.IInputValidator;
1311
import org.eclipse.jface.dialogs.InputDialog;
1412
import org.eclipse.jface.preference.PreferencePage;
15-
import org.eclipse.jface.resource.ImageDescriptor;
1613
import org.eclipse.swt.SWT;
1714
import org.eclipse.swt.events.SelectionAdapter;
1815
import org.eclipse.swt.events.SelectionEvent;
@@ -51,19 +48,9 @@ public class EditboxPreferencePage extends PreferencePage implements IWorkbenchP
5148
private Button bAddFile;
5249
private boolean providersChanged;
5350

54-
//+
5551
public EditboxPreferencePage(){
5652
super("EditBox (Nodeclipse)");
57-
String pathSuffix = "icons/";
58-
URL ICON_BASE_URL = EditBox.getDefault().getBundle().getEntry(pathSuffix);
59-
URL url;
60-
try {
61-
url = new URL(ICON_BASE_URL, "editbox.png");
62-
ImageDescriptor imd = ImageDescriptor.createFromURL(url);
63-
setImageDescriptor(imd);
64-
} catch (MalformedURLException e) {
65-
//e.printStackTrace();
66-
}
53+
setImageDescriptor(EditBox.getImageDescriptor("icons/editbox.png"));
6754
}
6855

6956
@Override
@@ -100,22 +87,6 @@ public void widgetSelected(SelectionEvent e) {
10087
return c;
10188
}
10289

103-
104-
private void updateAllTabsWithSelectedTheme(String theme) {
105-
IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme);
106-
107-
TabItem[] tabItemas = folder.getItems();
108-
for (TabItem item: tabItemas){
109-
Object obj = item.getData();
110-
if (obj == null){
111-
continue;
112-
}
113-
BoxSettingsTab bst = (BoxSettingsTab) obj;
114-
bst.setProvider(provider);
115-
}
116-
}
117-
118-
11990
protected Control createCategoryControl(Composite parent) {
12091
Composite c = new Composite(parent, SWT.NONE);
12192
c.setLayout(new GridLayout(2, true));
@@ -124,14 +95,12 @@ protected Control createCategoryControl(Composite parent) {
12495
Label comboLabel = new Label(c, SWT.NONE);
12596
comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)");
12697

127-
final Combo combo = new Combo(c, SWT.DROP_DOWN);
98+
final Combo combo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY );
12899
GridData gd = new GridData(GridData.BEGINNING);
129100
gd.widthHint = 150;
130101
gd.horizontalSpan = 2;
131102
gd.horizontalAlignment = SWT.LEFT;
132103
combo.setLayoutData(gd);
133-
//TODO disable text editing, only selection
134-
//combo.setEnabled(false);
135104
combo.addSelectionListener(new SelectionAdapter() {
136105
public void widgetSelected(SelectionEvent e) {
137106
String s = combo.getText();
@@ -180,24 +149,37 @@ public void widgetSelected(SelectionEvent e) {
180149
bRemoveFile.setLayoutData(new GridData(GridData.FILL_BOTH));
181150
bRemoveFile.addSelectionListener(new RemoveFile());
182151

183-
loadData();
152+
loadDataFromProviderRegistryAndCreateTabs();
184153

185154
return c;
155+
}
156+
157+
private void updateAllTabsWithSelectedTheme(String theme) {
158+
IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme);
159+
160+
TabItem[] tabItemas = folder.getItems();
161+
for (TabItem item: tabItemas){
162+
BoxSettingsTab bst = (BoxSettingsTab) item.getData();
163+
if (bst == null){
164+
continue;
165+
}
166+
bst.setProvider(provider);
167+
}
186168
}
187169

188-
protected void loadData() {
170+
protected void loadDataFromProviderRegistryAndCreateTabs() {
189171
Collection<IBoxProvider> boxProviders = EditBox.getDefault().getProviderRegistry().getBoxProviders();
190172
for (IBoxProvider provider : boxProviders){
191173
newTab(provider.getName());
192174
}
193175
}
194176

195-
protected void newTab(String categoryName) {
196-
categoryList.add(categoryName);
177+
protected void newTab(String providerName) {
178+
categoryList.add(providerName);
197179
TabItem item = new TabItem(folder, SWT.NONE);
198-
item.setText(categoryName);
180+
item.setText(providerName);
199181
BoxSettingsTab bst = new BoxSettingsTab();
200-
IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(categoryName);
182+
IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(providerName);
201183
//: see BoxProviderRegistry
202184
item.setControl(bst.createContro(folder, provider));
203185
item.setData(bst);
@@ -206,8 +188,8 @@ protected void newTab(String categoryName) {
206188
Collection<String> fileNames = bst.getSettings().getFileNames();
207189
if (fileNames == null)
208190
fileNames = Collections.emptyList();
209-
categoryFiles.put(categoryName, new LinkedHashSet<String>(fileNames));
210-
categoryList.setSelection(new String[] { categoryName });
191+
categoryFiles.put(providerName, new LinkedHashSet<String>(fileNames));
192+
categoryList.setSelection(new String[] { providerName });
211193
namesList.setItems(fileNames.toArray(new String[0]));
212194
bAddFile.setEnabled(true);
213195
}

0 commit comments

Comments
 (0)