11package pm .eclipse .editbox .pref ;
22
3- import java .net .MalformedURLException ;
4- import java .net .URL ;
53import java .util .ArrayList ;
64import java .util .Collection ;
75import java .util .Collections ;
1210import org .eclipse .jface .dialogs .IInputValidator ;
1311import org .eclipse .jface .dialogs .InputDialog ;
1412import org .eclipse .jface .preference .PreferencePage ;
15- import org .eclipse .jface .resource .ImageDescriptor ;
1613import org .eclipse .swt .SWT ;
1714import org .eclipse .swt .events .SelectionAdapter ;
1815import 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