From 0eb9e9cb1ddd08ada9289ae82a921dee32678930 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 11:13:27 +0800 Subject: [PATCH 01/21] Theme name must be the same as file name (as it is then shown in Drop-down menu) --- README.md | 8 ++------ pm.eclipse.editbox/src/{Java_PaleBlue.eb => PaleBlue.eb} | 2 +- pm.eclipse.editbox/src/RainbowDropsLine.eb | 2 +- .../src/pm/eclipse/editbox/impl/BoxProviderRegistry.java | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) rename pm.eclipse.editbox/src/{Java_PaleBlue.eb => PaleBlue.eb} (97%) diff --git a/README.md b/README.md index da20b2e..67da36e 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,9 @@ in `BoxProviderRegistry.java` "Default", "Whitebox", "RainbowDrops", "OnClick", ![](pm.eclipse.editbox/docs/BlueLight.PNG) - [RainDropsLine][9] ![](pm.eclipse.editbox/docs/RainDropsLineOnSublimeEclipseColorTheme.png) -- [Java_PaleBlue](10) by Robin Martin +- [PaleBlue](10) by Robin Martin ![](pm.eclipse.editbox/docs/PaleBlueTheme.jpg) -Not yet released: - - `` - [2]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/Whitebox.eb [3]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/OnClick.eb [4]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/RainbowDrops.eb @@ -73,7 +69,7 @@ Not yet released: [7]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/BlueGradient22WithDarkBoldLeftBorder.eb [8]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/BlueLight.eb [9]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/RainbowDropsLine.eb - [10]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/Java_PaleBlue.eb + [10]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/PaleBlue.eb Hints: - Before modifying or importing a theme change name diff --git a/pm.eclipse.editbox/src/Java_PaleBlue.eb b/pm.eclipse.editbox/src/PaleBlue.eb similarity index 97% rename from pm.eclipse.editbox/src/Java_PaleBlue.eb rename to pm.eclipse.editbox/src/PaleBlue.eb index 0c9a432..c4aba15 100644 --- a/pm.eclipse.editbox/src/Java_PaleBlue.eb +++ b/pm.eclipse.editbox/src/PaleBlue.eb @@ -5,7 +5,7 @@ FillGradient=true FillSelected=true RoundBox=false BorderColorType=0 -Name=VeryLightBlue +Name=PaleBlue ExpandBox=false BorderDrawLine=false FillOnMove=false diff --git a/pm.eclipse.editbox/src/RainbowDropsLine.eb b/pm.eclipse.editbox/src/RainbowDropsLine.eb index 3d5f810..9abb34d 100644 --- a/pm.eclipse.editbox/src/RainbowDropsLine.eb +++ b/pm.eclipse.editbox/src/RainbowDropsLine.eb @@ -5,7 +5,7 @@ FillGradient=false FillSelected=false RoundBox=false BorderColorType=0 -Name=RainbowDrops +Name=RainbowDropsLine ExpandBox=false BorderDrawLine=true FillOnMove=false diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java index b359034..b46757a 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java @@ -32,7 +32,7 @@ public class BoxProviderRegistry { private static final List ALL_THEMES_LIST = Arrays.asList( "Default", "Whitebox", "OnClick", "GreyGradient", "Java_v_20", "RainbowDrops", "RainbowDropsLine", "RainbowDropsLineFill", - "BlueToDeepBlue", "OrangeToRed", "BlueGradient22WithDarkBoldLeftBorder", "BlueLight", "Java_PaleBlue" + "BlueToDeepBlue", "OrangeToRed", "BlueGradient22WithDarkBoldLeftBorder", "BlueLight", "PaleBlue" ); protected Collection providers; From 03363d3ca3d487903f918d62332d95c881a384c9 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 13:48:43 +0800 Subject: [PATCH 02/21] Update icon; use it in preferences --- pm.eclipse.editbox/iconbank/editbox-yellow.gif | Bin 0 -> 954 bytes pm.eclipse.editbox/iconbank/editbox.gif | Bin 0 -> 954 bytes pm.eclipse.editbox/iconbank/editbox_cyan.png | Bin 0 -> 1005 bytes pm.eclipse.editbox/icons/editbox.gif | Bin 356 -> 0 bytes pm.eclipse.editbox/icons/editbox.png | Bin 0 -> 1005 bytes pm.eclipse.editbox/plugin.xml | 2 +- .../editbox/pref/EditboxPreferencePage.java | 17 +++++++++++++++++ 7 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 pm.eclipse.editbox/iconbank/editbox-yellow.gif create mode 100644 pm.eclipse.editbox/iconbank/editbox.gif create mode 100644 pm.eclipse.editbox/iconbank/editbox_cyan.png delete mode 100644 pm.eclipse.editbox/icons/editbox.gif create mode 100644 pm.eclipse.editbox/icons/editbox.png diff --git a/pm.eclipse.editbox/iconbank/editbox-yellow.gif b/pm.eclipse.editbox/iconbank/editbox-yellow.gif new file mode 100644 index 0000000000000000000000000000000000000000..a008633bdda05ec068856c42ec131ac30b738f14 GIT binary patch literal 954 zcmZ?wbhEHb6krfw`2L^a{}zY;8?667FZ+K%Xm^16Hcz$x52OCy_L{8A`hSPZfpEi_4Z|F5Y1zvc4( zar*y@QvY8~`~UUq|FdlWZ~OkgVeE}%Rm zficmUi9y0R%g5l+0R~2XrVbg;PmPTIObjdm4hxogvobQw`Lkk^W8-WK=_7My8Zk67 zaYz_A1T-A*o1#^(SMVUg@#12WTCs>*Usn1o32NrsdTO)Uxj6yVn@Vm9J-f;!;WQ~G l`x66;h`8w~-vy5txVZ!sUd`R`sM(2^ow=An(LjO08UXM@nCbuk literal 0 HcmV?d00001 diff --git a/pm.eclipse.editbox/iconbank/editbox.gif b/pm.eclipse.editbox/iconbank/editbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..a008633bdda05ec068856c42ec131ac30b738f14 GIT binary patch literal 954 zcmZ?wbhEHb6krfw`2L^a{}zY;8?667FZ+K%Xm^16Hcz$x52OCy_L{8A`hSPZfpEi_4Z|F5Y1zvc4( zar*y@QvY8~`~UUq|FdlWZ~OkgVeE}%Rm zficmUi9y0R%g5l+0R~2XrVbg;PmPTIObjdm4hxogvobQw`Lkk^W8-WK=_7My8Zk67 zaYz_A1T-A*o1#^(SMVUg@#12WTCs>*Usn1o32NrsdTO)Uxj6yVn@Vm9J-f;!;WQ~G l`x66;h`8w~-vy5txVZ!sUd`R`sM(2^ow=An(LjO08UXM@nCbuk literal 0 HcmV?d00001 diff --git a/pm.eclipse.editbox/iconbank/editbox_cyan.png b/pm.eclipse.editbox/iconbank/editbox_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..8e0189bb2bc4c3a71f07049786d752bb44cf135e GIT binary patch literal 1005 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR{-_&ab~dxBm04`sW?7 z%O^)KnNc5-IwTq}EPc=Y z7pO7c)5S5QVoq&;I9G##fQ$L88>WKX5e}{_7kB>usdFNU@&5DXxpNg4Y?5RaXuFhj zi8DoNzC?Y=$!%K_wiI&+HQI2p#43fU8*;DQqw#6Vo=yYLL-il6ezw@%6MLVOwl6$B o#%bQCZ8>khZCz1Wdz)GMSup#mzy+56K&u%%UHx3vIVCg!0GV`};{X5v literal 0 HcmV?d00001 diff --git a/pm.eclipse.editbox/icons/editbox.gif b/pm.eclipse.editbox/icons/editbox.gif deleted file mode 100644 index 3b79d769151a5b0caed6cef519cbdf102c530b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmZ?wbhEHb6krfwxT?eOe~ZKa4c7mkm;JvWv^zk3o2T0Uhf)7;drj75{lCNIK)B`v zEvAWD%)9*5`!pE-Z?^k?&G7$&sQ(|f{C`&T|ElW$3!?v@Wd46O_5btI|5w!h-*Wl? zIQ{=cssFF0{r`IQ|5>*Gw|)QLF!}%G}!|DSB|mLR{-_&ab~dxBm04`sW?7 z%O^)KnNc5-IwTq}EPc=Y z7pO7c)5S5QVoq&;I9G##fQ$L88>WKX5e}{_7kB>usdFNU@&5DXxpNg4Y?5RaXuFhj zi8DoNzC?Y=$!%K_wiI&+HQI2p#43fU8*;DQqw#6Vo=yYLL-il6ezw@%6MLVOwl6$B o#%bQCZ8>khZCz1Wdz)GMSup#mzy+56K&u%%UHx3vIVCg!0GV`};{X5v literal 0 HcmV?d00001 diff --git a/pm.eclipse.editbox/plugin.xml b/pm.eclipse.editbox/plugin.xml index 1b73b03..a641c61 100644 --- a/pm.eclipse.editbox/plugin.xml +++ b/pm.eclipse.editbox/plugin.xml @@ -41,7 +41,7 @@ label="EditBox" toolbarPath="EditBox" style="toggle" - icon="icons/editbox.gif" + icon="icons/editbox.png" tooltip="Editbox on/off" class="pm.eclipse.editbox.actions.EnableEditBox" definitionId="pm.eclipse.editbox.actions.EnableEditBoxCmd" > diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java index 5da87e1..c1610ec 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java @@ -1,5 +1,7 @@ package pm.eclipse.editbox.pref; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -10,6 +12,7 @@ import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.preference.PreferencePage; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -45,6 +48,20 @@ public class EditboxPreferencePage extends PreferencePage implements IWorkbenchP private List namesList; private Button bAddFile; private boolean providersChanged; + + public EditboxPreferencePage(){ + super("EditBox (Nodeclipse)"); + String pathSuffix = "icons/"; + URL ICON_BASE_URL = EditBox.getDefault().getBundle().getEntry(pathSuffix); + URL url; + try { + url = new URL(ICON_BASE_URL, "editbox.png"); + ImageDescriptor imd = ImageDescriptor.createFromURL(url); + setImageDescriptor(imd); + } catch (MalformedURLException e) { + //e.printStackTrace(); + } + } @Override protected Control createContents(Composite parent) { From 2f175482f79da2216f0968344d6bdff534cc99d8 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 16:59:41 +0800 Subject: [PATCH 03/21] combo to apply theme globally --- .../editbox/impl/BoxProviderRegistry.java | 9 +- .../eclipse/editbox/pref/BoxSettingsTab.java | 18 +++- .../editbox/pref/EditboxPreferencePage.java | 93 ++++++++++++++----- 3 files changed, 89 insertions(+), 31 deletions(-) diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java index b46757a..11b7bcd 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java @@ -29,11 +29,10 @@ public class BoxProviderRegistry { // always added. Is it useless? private static final String PROVIDER_ID_ = "pm.eclipse.editbox.provider."; //+ - private static final List ALL_THEMES_LIST = Arrays.asList( - "Default", "Whitebox", "OnClick", "GreyGradient", "Java_v_20", - "RainbowDrops", "RainbowDropsLine", "RainbowDropsLineFill", - "BlueToDeepBlue", "OrangeToRed", "BlueGradient22WithDarkBoldLeftBorder", "BlueLight", "PaleBlue" - ); + public static final String[] ALL_THEMES_ARRAY = {"Default", "Whitebox", "OnClick", "GreyGradient", "Java_v_20", + "RainbowDrops", "RainbowDropsLine", "RainbowDropsLineFill", + "BlueToDeepBlue", "OrangeToRed", "BlueGradient22WithDarkBoldLeftBorder", "BlueLight", "PaleBlue"}; + private static final List ALL_THEMES_LIST = Arrays.asList(ALL_THEMES_ARRAY); protected Collection providers; protected Map decorators; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java index 080044f..3502bc0 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java @@ -83,10 +83,23 @@ public class BoxSettingsTab { public BoxSettingsTab() { } + + // called from EditboxPreferencePage + public void setProvider(IBoxProvider provider) { + //this.provider = provider; + + // as logic not clean to use object, made as inside combo widgetSelected() + decorator.enableUpdates(false); + store.load(provider.getName(), settings); //: get themes list + updateContents(); + decorator.enableUpdates(true); + } + /** * Create Tab Control * */ + // called from EditboxPreferencePage.newTab(String categoryName) public Control createContro(Composite parent, IBoxProvider provider0) { provider = provider0; if (provider == null) { @@ -194,7 +207,7 @@ public void widgetSelected(SelectionEvent e) { gd.horizontalSpan = 4; importConfig.setLayoutData(gd); - newLabel(c, "Enter/select theme"); + newLabel(c, "Rename/select theme"); combo = new Combo(c, SWT.DROP_DOWN); gd = new GridData(GridData.BEGINNING); gd.widthHint = 150; @@ -641,7 +654,7 @@ protected Label newLabel(Composite c, String msg) { return l; } - + /** update content from settings */ protected void updateContents() { enabled.setSelection(settings.getEnabled()); combo.setItems(store.getCatalog().toArray(new String[0])); @@ -772,4 +785,5 @@ public void cancel() { store.loadDefaults(provider.getEditorsBoxSettings()); } } + } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java index c1610ec..077afdf 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java @@ -21,6 +21,7 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; @@ -34,6 +35,7 @@ import pm.eclipse.editbox.EditBox; import pm.eclipse.editbox.IBoxProvider; +import pm.eclipse.editbox.impl.BoxProviderRegistry; /** @@ -49,6 +51,7 @@ public class EditboxPreferencePage extends PreferencePage implements IWorkbenchP private Button bAddFile; private boolean providersChanged; + //+ public EditboxPreferencePage(){ super("EditBox (Nodeclipse)"); String pathSuffix = "icons/"; @@ -62,6 +65,10 @@ public EditboxPreferencePage(){ //e.printStackTrace(); } } + + @Override + public void init(IWorkbench workbench) { + } @Override protected Control createContents(Composite parent) { @@ -79,7 +86,7 @@ protected Control createContents(Composite parent) { link.setFont(new Font(getShell().getDisplay(), fontData)); link.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - IWorkbenchPreferenceContainer container= (IWorkbenchPreferenceContainer)getContainer(); + IWorkbenchPreferenceContainer container= (IWorkbenchPreferenceContainer) getContainer(); container.openPage("org.eclipse.ui.preferencePages.GeneralTextEditor", null); } }); @@ -92,10 +99,49 @@ public void widgetSelected(SelectionEvent e) { folder.pack(); return c; } + + + private void updateAllTabsWithSelectedTheme(String theme) { + IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme); + + TabItem[] tabItemas = folder.getItems(); + for (TabItem item: tabItemas){ + Object obj = item.getData(); + if (obj == null){ + continue; + } + BoxSettingsTab bst = (BoxSettingsTab) obj; + bst.setProvider(provider); + } + } + protected Control createCategoryControl(Composite parent) { Composite c = new Composite(parent, SWT.NONE); c.setLayout(new GridLayout(2, true)); + + //+ apply theme globally { + Label comboLabel = new Label(c, SWT.NONE); + comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)"); + + Combo combo = new Combo(c, SWT.DROP_DOWN); + GridData gd = new GridData(GridData.BEGINNING); + gd.widthHint = 150; + gd.horizontalSpan = 2; + gd.horizontalAlignment = SWT.LEFT; + combo.setLayoutData(gd); + //TODO disable text editing, only selection + //combo.setEnabled(false); + combo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + String s = combo.getText(); + if (s != null && s.length() > 0) { + updateAllTabsWithSelectedTheme(s); + } + } + }); + combo.setItems(BoxProviderRegistry.ALL_THEMES_ARRAY); + //} Label categoryLabel = new Label(c, SWT.NONE); categoryLabel.setText("Categories"); @@ -141,38 +187,27 @@ protected Control createCategoryControl(Composite parent) { protected void loadData() { Collection boxProviders = EditBox.getDefault().getProviderRegistry().getBoxProviders(); - for (IBoxProvider provider : boxProviders) + for (IBoxProvider provider : boxProviders){ newTab(provider.getName()); + } } - public void init(IWorkbench workbench) { - } - - protected boolean contains(String[] items, String newText) { - if (items == null || items.length == 0) - return false; - for (String s : items) - if (s.equalsIgnoreCase(newText)) - return true; - return false; - } - - protected void newTab(String value) { - categoryList.add(value); + protected void newTab(String categoryName) { + categoryList.add(categoryName); TabItem item = new TabItem(folder, SWT.NONE); - item.setText(value); - BoxSettingsTab p = new BoxSettingsTab(); - IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(value); + item.setText(categoryName); + BoxSettingsTab bst = new BoxSettingsTab(); + IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(categoryName); //: see BoxProviderRegistry - item.setControl(p.createContro(folder, provider)); - item.setData(p); + item.setControl(bst.createContro(folder, provider)); + item.setData(bst); if (categoryFiles == null) categoryFiles = new LinkedHashMap>(); - Collection fileNames = p.getSettings().getFileNames(); + Collection fileNames = bst.getSettings().getFileNames(); if (fileNames == null) fileNames = Collections.emptyList(); - categoryFiles.put(value, new LinkedHashSet(fileNames)); - categoryList.setSelection(new String[] { value }); + categoryFiles.put(categoryName, new LinkedHashSet(fileNames)); + categoryList.setSelection(new String[] { categoryName }); namesList.setItems(fileNames.toArray(new String[0])); bAddFile.setEnabled(true); } @@ -233,6 +268,16 @@ public boolean performCancel() { return true; } + // used in AddCategory + protected boolean contains(String[] items, String newText) { + if (items == null || items.length == 0) + return false; + for (String s : items) + if (s.equalsIgnoreCase(newText)) + return true; + return false; + } + class AddCategory extends SelectionAdapter { @Override From d0e117d27da82ff3c376942ae5c75bc80a9ab295 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 17:21:12 +0800 Subject: [PATCH 04/21] update docs, comments --- .gitignore | 2 + README.md | 2 +- pm.eclipse.editbox/docs/ModelClasses.png | Bin 0 -> 165757 bytes pm.eclipse.editbox/docs/ModelClasses.ucls | 144 ++++++++++++++ pm.eclipse.editbox/docs/Preferences.png | Bin 0 -> 173988 bytes pm.eclipse.editbox/docs/Preferences.ucls | 177 ++++++++++++++++++ .../src/pm/eclipse/editbox/IBoxSettings.java | 5 +- 7 files changed, 328 insertions(+), 2 deletions(-) create mode 100644 pm.eclipse.editbox/docs/ModelClasses.png create mode 100644 pm.eclipse.editbox/docs/ModelClasses.ucls create mode 100644 pm.eclipse.editbox/docs/Preferences.png create mode 100644 pm.eclipse.editbox/docs/Preferences.ucls diff --git a/.gitignore b/.gitignore index 3dd7ed1..ac03cff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.bak *~ target +#GFMV generated +.*.html diff --git a/README.md b/README.md index 67da36e..4674956 100644 --- a/README.md +++ b/README.md @@ -90,8 +90,8 @@ see `pm.eclipse.editbox\docs` for an example. ### Terms -Provider `BoxProviderImpl` is Category . Catalog is list of Themes. +Provider `BoxProviderImpl` is Category . Provider is holding theme (Settings object). Theme `BoxSettingsImpl` is set of colors . ### Build diff --git a/pm.eclipse.editbox/docs/ModelClasses.png b/pm.eclipse.editbox/docs/ModelClasses.png new file mode 100644 index 0000000000000000000000000000000000000000..20d658e3c9aa73220a3ab1a7479b8eba87db8699 GIT binary patch literal 165757 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 =*<7EZxoyy!UEY!-C!m4ejSHE5{U39J)^| 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%0Dh@+<`y*aD-xaez)tQYsq}@tYLzK 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pm.eclipse.editbox/docs/Preferences.png b/pm.eclipse.editbox/docs/Preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..898a6f9c47f46d188f8bad009924726bd021e1e4 GIT binary patch literal 173988 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
+pm.eclipse.editbox.provider.java_Default=\#COMMENT\r\n\#Mon Jun 30 17\:24\:47 CST 2014\r\nHighlightOne\=false\r\nFillGradient\=false\r\nFillSelected\=true\r\nRoundBox\=true\r\nBorderColorType\=1\r\nName\=Default\r\nExpandBox\=false\r\nBorderDrawLine\=false\r\nFillOnMove\=true\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=acb3b7\r\nBorderColor\=c0c0c0\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=3\r\nFillGradientColor\=dadcc2\r\nBuilder\=Java\r\nHighlightDrawLine\=false\r\nFillSelectedColor\=ffffff\r\nBorderLineStyle\=2\r\nColors\=ffffff-c5d0ac-d9e3b7-e8ecd9\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
+pm.eclipse.editbox.provider.java_RainbowDrops=\#COMMENT\r\n\#Wed Jul 09 17\:06\:50 CST 2014\r\nHighlightOne\=true\r\nFillGradient\=false\r\nFillSelected\=false\r\nRoundBox\=false\r\nBorderColorType\=0\r\nName\=RainbowDrops\r\nExpandBox\=false\r\nBorderDrawLine\=true\r\nFillOnMove\=false\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=00ff00\r\nBorderColor\=00bbbb\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=0\r\nFillGradientColor\=null\r\nBuilder\=Java\r\nHighlightDrawLine\=true\r\nFillSelectedColor\=202020\r\nBorderLineStyle\=1\r\nColors\=202020-null\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
+pm.eclipse.editbox.provider.java_catalog=Default,Whitebox,OnClick,GreyGradient,Java_v_20,RainbowDropsLine,RainbowDropsLineFill,BlueToDeepBlue,OrangeToRed,BlueGradient22WithDarkBoldLeftBorder,BlueLight,Java_PaleBlue,RainbowDrops
+pm.eclipse.editbox.provider.java_default=RainbowDrops
+pm.eclipse.editbox.provider.java_enabled=true
+pm.eclipse.editbox.provider.java_fileNames=*.java,*.class,*.gradle,*.groovy,*.scala
+pm.eclipse.editbox.provider.js_Default=\#COMMENT\r\n\#Fri Jul 04 11\:28\:13 CST 2014\r\nHighlightOne\=true\r\nFillGradient\=false\r\nFillSelected\=true\r\nRoundBox\=true\r\nBorderColorType\=0\r\nName\=Default\r\nExpandBox\=false\r\nBorderDrawLine\=false\r\nFillOnMove\=false\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=000000\r\nBorderColor\=00bbbb\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=0\r\nFillGradientColor\=null\r\nBuilder\=Text\r\nHighlightDrawLine\=false\r\nFillSelectedColor\=ffffc4\r\nBorderLineStyle\=0\r\nColors\=null-d0dd9b-cdd8b9-e9f58b\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
+pm.eclipse.editbox.provider.js_RainbowDropsLineFill=\#COMMENT\r\n\#Wed Jul 09 17\:06\:50 CST 2014\r\nHighlightOne\=true\r\nFillGradient\=false\r\nFillSelected\=true\r\nRoundBox\=false\r\nBorderColorType\=0\r\nName\=RainbowDropsLineFill\r\nExpandBox\=false\r\nBorderDrawLine\=true\r\nFillOnMove\=true\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=00ff00\r\nBorderColor\=00bbbb\r\nFillKeyModifier\=\r\nHighlightColorType\=0\r\nFillGradientColor\=null\r\nBuilder\=Java\r\nHighlightDrawLine\=true\r\nFillSelectedColor\=000080\r\nBorderLineStyle\=1\r\nColors\=202020-null\r\nHighlightLineStyle\=1\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
+pm.eclipse.editbox.provider.js_default=RainbowDropsLineFill
+pm.eclipse.editbox.provider.js_enabled=true
+pm.eclipse.editbox.provider.js_fileNames=*.js,*.jjs,*.jshintrc,*.mjs,*.njs,*.pjs,*.vjs,*.ts,*.coffee,*.dart
+
+ * where java or js is providerId + * keys starting with Capital are actually themes names + */ public class BoxSettingsStoreImpl implements IBoxSettingsStore { private static final String FILE_NAMES = "fileNames"; private static final String TXT_POSTFIX = "$txt"; - private static final String DEFAULT = "default"; + private static final String DEFAULT = "default"; //what theme to use as default private static final String ENABLED = "enabled"; + private static final String CATALOG = "catalog"; protected String providerId; protected IPreferenceStore store; private Set catalog; @@ -31,54 +50,60 @@ protected IPreferenceStore getStore(){ return store; } - protected String key(String postfix){ + protected String providerKey(String postfix){ return providerId+"_"+postfix; } + @Override public void setProviderId(String id) { this.providerId = id; } + @Override public void loadDefaults(IBoxSettings editorsSettings) { - String defaultName = getStore().getString(key(DEFAULT)); - if (isEmpty(defaultName)) defaultName = providerId; - load(defaultName,editorsSettings); - } - - public void load(String name, IBoxSettings editorsSettings) { - String value = getStore().getString(key(name)); - if (!isEmpty(value)) - editorsSettings.load(value); + String defaultThemeName = getStore().getString(providerKey(DEFAULT)); + if (isEmpty(defaultThemeName)){ + defaultThemeName = providerId; + } + load(defaultThemeName, editorsSettings); + } + + @Override + public void load(String themeName, IBoxSettings editorsSettings) { + String themeInsideString = getStore().getString(providerKey(themeName)); + if (!isEmpty(themeInsideString)) + editorsSettings.load(themeInsideString); else try { - editorsSettings.load(getClass().getResourceAsStream("/"+name + ".eb")); + editorsSettings.load(getClass().getResourceAsStream("/"+themeName + ".eb")); } catch (Exception e) { - EditBox.logError(this, "Error loading settings: "+name, e); + EditBox.logError(this, "Error loading settings: "+themeName, e); } editorsSettings.setEnabled(getIsEnabled()); editorsSettings.setFileNames(getFileNames()); } - protected boolean isEmpty(String s) { + protected static boolean isEmpty(String s) { return s == null || s.length() == 0; } protected boolean getIsEnabled() { - String key = key(ENABLED); + String key = providerKey(ENABLED); if (getStore().contains(key)) return getStore().getBoolean(key); return true; } + @Override public void saveDefaults(IBoxSettings settings) { - getStore().setValue(key(ENABLED), settings.getEnabled()?"true":"false"); - getStore().setValue(key(DEFAULT),settings.getName()); + getStore().setValue(providerKey(ENABLED), settings.getEnabled()?"true":"false"); + getStore().setValue(providerKey(DEFAULT), settings.getName()); store(settings); } public void store(IBoxSettings settings) { String name = settings.getName(); - getStore().setValue(key(name),settings.export()); + getStore().setValue(providerKey(name),settings.export()); setFileNames(settings.getFileNames()); addToCatalog(name); EditBox.getDefault().savePluginPreferences(); @@ -98,13 +123,14 @@ private void storeCatalog(Set cat) { if (sb.length()>0) sb.append(","); sb.append(c); } - getStore().setValue(key("catalog"), sb.toString()); + getStore().setValue(providerKey(CATALOG), sb.toString()); } + @Override public Set getCatalog() { if (catalog == null){ catalog = new LinkedHashSet(); - String cstr = getStore().getString(key("catalog")); + String cstr = getStore().getString(providerKey(CATALOG)); if (!isEmpty(cstr)) for (String s : cstr.split(",")) catalog.add(s); @@ -119,11 +145,12 @@ public void setDefaultSettingsCatalog(Collection cat){ defaultCatalog = cat; } + @Override public void remove(String name) { if (getCatalog().remove(name)) storeCatalog(getCatalog()); - getStore().setValue(key(name), ""); - getStore().setValue(key(name+TXT_POSTFIX), ""); + getStore().setValue(providerKey(name), ""); + getStore().setValue(providerKey(name+TXT_POSTFIX), ""); EditBox.getDefault().savePluginPreferences(); } @@ -138,14 +165,14 @@ protected void setFileNames(Collection fileNames) { first = false; } } - getStore().setValue(key(FILE_NAMES), sb.toString()); + getStore().setValue(providerKey(FILE_NAMES), sb.toString()); } /* * @return null if settings never stored before */ protected Collection getFileNames() { - String key = key(FILE_NAMES); + String key = providerKey(FILE_NAMES); if (!getStore().contains(key)) return null; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java index 3502bc0..80e52aa 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java @@ -42,9 +42,9 @@ public class BoxSettingsTab { protected IWorkbench workbench; - protected IBoxProvider provider; + protected IBoxProvider provider; // stored theme settings ? protected IBoxSettingsStore store; - protected IBoxSettings settings; + protected IBoxSettings settings; // current theme settings ? protected IBoxDecorator decorator; private Button enabled; @@ -85,22 +85,28 @@ public BoxSettingsTab() { } // called from EditboxPreferencePage - public void setProvider(IBoxProvider provider) { - //this.provider = provider; - - // as logic not clean to use object, made as inside combo widgetSelected() + public void loadSettingsForName(String name){ decorator.enableUpdates(false); - store.load(provider.getName(), settings); //: get themes list - updateContents(); + store.load(name, settings); + updateContentFromSettings(); decorator.enableUpdates(true); } +// public void setProvider(IBoxProvider provider) { +// //this.provider = provider; +// +// // as logic not clean to use object, made as inside combo widgetSelected() +// decorator.enableUpdates(false); +// store.load(provider.getName(), settings); //: get themes list +// updateContentsFromSettings(); +// decorator.enableUpdates(true); +//} /** * Create Tab Control * */ // called from EditboxPreferencePage.newTab(String categoryName) - public Control createContro(Composite parent, IBoxProvider provider0) { + public Control createControlsWithContent(Composite parent, IBoxProvider provider0) { provider = provider0; if (provider == null) { Label l = new Label(parent, SWT.NONE); @@ -111,8 +117,8 @@ public Control createContro(Composite parent, IBoxProvider provider0) { settings = provider.createSettings(); decorator = provider.createDecorator(); decorator.setSettings(settings); - Control result = createContents0(parent); - updateContents(); + Control result = createControls(parent); + updateContentFromSettings(); decorator.setStyledText(st); decorator.decorate(true); decorator.enableUpdates(true); @@ -130,7 +136,7 @@ public void propertyChange(PropertyChangeEvent event) { } - protected Control createContents0(Composite parent) { + protected Control createControls(Composite parent) { int N = 6; Composite c = new Composite(parent, SWT.NONE); this.composite = c; @@ -191,7 +197,7 @@ public void widgetSelected(SelectionEvent e) { newSettings.load(new FileInputStream(file)); newSettings.setEnabled(settings.getEnabled()); settings.copyFrom(newSettings); - updateContents(); + updateContentFromSettings(); }catch(Exception ex){ EditBox.logError(this, "Failed to import EditBox setttings", ex); MessageBox mb = new MessageBox(getShell(),SWT.ICON_ERROR); @@ -219,10 +225,7 @@ public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) { String s = combo.getText(); if (s != null && s.length() > 0) { - decorator.enableUpdates(false); - store.load(s, settings); //: get themes list - updateContents(); - decorator.enableUpdates(true); + loadSettingsForName(s); } } }); @@ -655,7 +658,7 @@ protected Label newLabel(Composite c, String msg) { } /** update content from settings */ - protected void updateContents() { + protected void updateContentFromSettings() { enabled.setSelection(settings.getEnabled()); combo.setItems(store.getCatalog().toArray(new String[0])); if (settings.getName() != null) { @@ -746,7 +749,7 @@ private RGB[] rgbGradient(Color[] c) { return gradient; } - String generateIndentText(int n){ + private String generateIndentText(int n){ StringBuilder sb = new StringBuilder(); for (int i = 0;i>(); From 948901dd217100e945a5cff11ae78f6f4df153ed Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Mon, 18 Aug 2014 17:10:17 +0800 Subject: [PATCH 08/21] Checkbox "Plugin enabled"; Combo with global theme is restoring value --- README.md | 13 ++- .../src/pm/eclipse/editbox/EditBox.java | 50 ++++++++- .../editbox/actions/EditBoxStartup.java | 23 +--- .../editbox/actions/EnableEditBox.java | 1 + .../editbox/impl/BoxProviderRegistry.java | 18 ++- .../eclipse/editbox/pref/BoxSettingsTab.java | 3 +- .../pref/EditboxPreferenceInitializer.java | 18 +++ .../editbox/pref/EditboxPreferencePage.java | 106 +++++++++++++----- 8 files changed, 169 insertions(+), 63 deletions(-) create mode 100644 pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferenceInitializer.java diff --git a/README.md b/README.md index 37ab641..8edff40 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,9 @@ If there are updates here, they will be released together with [Nodeclipse train 0.50 0.55 0.60 -0.65 (2014-08) change icon; combo to apply one of bundled themes to all categories +0.65 (2014-08) change icon; + Checkbox "Plugin enabled"; + combo to apply one of bundled themes to all categories (this is done for case when switching to black themes and back) ## Themes @@ -109,9 +111,12 @@ pm.eclipse.editbox.provider.java_enabled=true pm.eclipse.editbox.provider.java_fileNames=*.java,*.class,*.gradle,*.groovy,*.scala ``` -Catalog is list of Themes. -Provider `BoxProviderImpl` is Category . Provider is holding theme (Settings object). -Theme `BoxSettingsImpl` is set of colors . + +Theme `BoxSettingsImpl` is set of colors . +Provider is theme applied to some category. Provider is holding current theme (Settings object). +Provider `BoxProviderImpl` is associated with category String (aka Provider name). +Catalog is list of Themes, that provider has. + ### Build diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java index b9a147f..8c26240 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java @@ -2,7 +2,15 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.CoolBarManager; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.ToolBarContributionItem; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.window.ApplicationWindow; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -10,9 +18,9 @@ public class EditBox extends AbstractUIPlugin { - private static final String ENABLED = "ENABLED"; - public static final String PLUGIN_ID = "pm.eclipse.editbox"; + public static final String PREF_ENABLED = "enabled"; + public static final String PREF_DEFAULT_THEME = "default_theme"; private static EditBox plugin; @@ -43,15 +51,49 @@ public BoxProviderRegistry getProviderRegistry(){ return registry == null ? (registry = new BoxProviderRegistry()) : registry; } + /** check if enabled from PreferenceStore */ public boolean isEnabled() { //if (getPreferenceStore().contains(ENABLED)) - return getPreferenceStore().getBoolean(ENABLED); + return getPreferenceStore().getBoolean(PREF_ENABLED); //return false; } public void setEnabled(boolean flag){ - getPreferenceStore().setValue(ENABLED, flag); + getPreferenceStore().setValue(PREF_ENABLED, flag); + } + + //+ { + //TODO move to utils class? + /** called from EditboxPreferencePage + * TODO still can't toggle on main window from Preferences + * */ + public static void toggleToolBarItemInAllWindows(boolean enabled) { + IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows(); + for (IWorkbenchWindow window: windows){ + toggleToolBarItem(window, enabled); + } } + /** called from EditBoxStartup */ + public static void toggleToolBarItem(IWorkbenchWindow window, boolean enabled) { + // any better way to toggle toolbar button in 3.2? + if (window instanceof ApplicationWindow) { + CoolBarManager coolBarManager = ((ApplicationWindow) window).getCoolBarManager(); + if (coolBarManager != null) { + IContributionItem item = coolBarManager.find("pm.eclipse.editbox.ActionSetId"); + if (item instanceof ToolBarContributionItem) { + IToolBarManager tbMgr2 = ((ToolBarContributionItem) item).getToolBarManager(); + if (tbMgr2 != null) { + IContributionItem item2 = tbMgr2.find("pm.eclipse.editbox.EnableEditboxActionId"); + if (item2 instanceof ActionContributionItem) { + ((ActionContributionItem) item2).getAction().setChecked(enabled); + } + } + } + } + } + } + //} + public static void logError(Object source, String msg, Throwable error) { String src = ""; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EditBoxStartup.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EditBoxStartup.java index 9a90a89..e346963 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EditBoxStartup.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EditBoxStartup.java @@ -19,6 +19,7 @@ public class EditBoxStartup implements IStartup { + @Override public void earlyStartup() { if (!EditBox.getDefault().isEnabled()) return; @@ -37,7 +38,8 @@ public void run() { if (handlerService != null) try { handlerService.executeCommand(new ParameterizedCommand(command, null), null); - toggle(window); + EditBox.toggleToolBarItem(window, true); + //EditBox.toggleToolBarItemInAllWindows(enabled); //no need as there is to be only one window } catch (Exception e) { EditBox.logError(this, "Failed to enable EditBox at startup", e); } @@ -47,23 +49,4 @@ public void run() { }); } - protected void toggle(IWorkbenchWindow window) { - // any better way to toggle toolbar button in 3.2? - if (window instanceof ApplicationWindow) { - CoolBarManager coolBarManager = ((ApplicationWindow) window).getCoolBarManager(); - if (coolBarManager != null) { - IContributionItem item = coolBarManager.find("pm.eclipse.editbox.ActionSetId"); - if (item instanceof ToolBarContributionItem) { - IToolBarManager tbMgr2 = ((ToolBarContributionItem) item).getToolBarManager(); - if (tbMgr2 != null) { - IContributionItem item2 = tbMgr2.find("pm.eclipse.editbox.EnableEditboxActionId"); - if (item2 instanceof ActionContributionItem) { - ((ActionContributionItem) item2).getAction().setChecked(true); - } - } - } - } - } - } - } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EnableEditBox.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EnableEditBox.java index 33a6944..0b7c0e0 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EnableEditBox.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/actions/EnableEditBox.java @@ -18,6 +18,7 @@ import pm.eclipse.editbox.impl.BoxProviderRegistry; //keep it stateless since called from commands +/** this is actually state toggler as both execute() and run() apply opposite state */ public class EnableEditBox extends AbstractHandler implements IWorkbenchWindowActionDelegate { public static final String COMMAND_ID = "pm.eclipse.editbox.actions.EnableEditBoxCmd"; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java index f8b8b3a..76a015c 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java @@ -28,11 +28,24 @@ public class BoxProviderRegistry { private static final String PROVIDERS = "proivders"; // always added. Is it useless? private static final String PROVIDER_ID_ = "pm.eclipse.editbox.provider."; - //+ + //+ { public static final String[] ALL_THEMES_ARRAY = {"Default", "Whitebox", "OnClick", "GreyGradient", "Java_v_20", "RainbowDrops", "RainbowDropsLine", "RainbowDropsLineFill", "BlueToDeepBlue", "OrangeToRed", "BlueGradient22WithDarkBoldLeftBorder", "BlueLight", "PaleBlue"}; private static final List ALL_THEMES_LIST = Arrays.asList(ALL_THEMES_ARRAY); + public static final String DEFAULT_THEME = "PaleBlue"; + + /** return index within ALL_THEMES_ARRAY or -1 if not found */ + public static int getThemeIndex(String preferedThemeName) { + for (int i = 0; i providers; protected Map decorators; @@ -99,7 +112,7 @@ protected Collection defaultProviders() { List result = new ArrayList(); // order important (see BoxProviderImpl.supports()) // refactored to use this more generic method - result.add(createProviderForNameAndExtentions("c++", Arrays.asList("*.c", "*.cpp", "*.h", "*.hpp") ) ); + result.add(createProviderForNameAndExtentions("c++", Arrays.asList("*.c", "*.cpp", "*.h", "*.hpp", "*.go") ) ); result.add(createProviderForNameAndExtentions("java", Arrays.asList("*.java", "*.class", "*.gradle", "*.groovy", "*.scala") ) ); result.add(createProviderForNameAndExtentions("js", Arrays.asList("*.js", "*.jjs", "*.jshintrc", "*.mjs", "*.njs", "*.pjs", "*.vjs", "*.ts", "*.coffee", "*.dart") ) ); result.add(createProviderForNameAndExtentions("lua", Arrays.asList("*.lua") ) ); @@ -215,4 +228,5 @@ public void removePartListener(IPartService partService) { if (oldListener != null) partService.removePartListener(oldListener); } + } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java index 80e52aa..078e97a 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java @@ -150,10 +150,9 @@ protected Control createControls(Composite parent) { enabled = new Button(c, SWT.CHECK); GridData gd = new GridData(); enabled.setLayoutData(gd); - enabled.setText("Enabled"); + enabled.setText("Provider enabled"); enabled.setAlignment(SWT.RIGHT); enabled.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { settings.setEnabled(enabled.getSelection()); } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferenceInitializer.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferenceInitializer.java new file mode 100644 index 0000000..3b95815 --- /dev/null +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferenceInitializer.java @@ -0,0 +1,18 @@ +package pm.eclipse.editbox.pref; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.jface.preference.IPreferenceStore; + +import pm.eclipse.editbox.EditBox; +import pm.eclipse.editbox.impl.BoxProviderRegistry; + +public class EditboxPreferenceInitializer extends AbstractPreferenceInitializer { + + @Override + public void initializeDefaultPreferences() { + IPreferenceStore store = EditBox.getDefault().getPreferenceStore(); + store.setDefault(EditBox.PREF_ENABLED, true); + store.setDefault(EditBox.PREF_DEFAULT_THEME, BoxProviderRegistry.DEFAULT_THEME); + //TODO move defaults from BoxProviderRegistry into this EditboxPreferenceInitializer + } +} diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java index daf7fd2..e81370d 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java @@ -7,8 +7,10 @@ import java.util.LinkedHashSet; import java.util.Map; +import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -28,10 +30,13 @@ import org.eclipse.swt.widgets.TabItem; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; import pm.eclipse.editbox.EditBox; import pm.eclipse.editbox.IBoxProvider; +import pm.eclipse.editbox.actions.EnableEditBox; import pm.eclipse.editbox.impl.BoxProviderRegistry; @@ -41,16 +46,19 @@ */ public class EditboxPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { + private Button enabled; + private Combo combo; private List categoryList; - private TabFolder folder; + private TabFolder tabFolder; private Map> categoryFiles; private List namesList; private Button bAddFile; private boolean providersChanged; + private BoxProviderRegistry providerRegistry = EditBox.getDefault().getProviderRegistry(); + private IPreferenceStore preferenceStore = EditBox.getDefault().getPreferenceStore(); public EditboxPreferencePage(){ - super("EditBox (Nodeclipse)"); - setImageDescriptor(EditBox.getImageDescriptor("icons/editbox.png")); + super("EditBox (Nodeclipse)", EditBox.getImageDescriptor("icons/editbox.png")); } @Override @@ -63,6 +71,35 @@ protected Control createContents(Composite parent) { Composite c = new Composite(parent, SWT.NONE); c.setLayout(new GridLayout(1, false)); + + //+ { + enabled = new Button(c, SWT.CHECK); + GridData gd = new GridData(); + enabled.setLayoutData(gd); + enabled.setText("Plugin enabled"); + enabled.setAlignment(SWT.RIGHT); + enabled.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + Boolean isEnabled = enabled.getSelection(); + //preferenceStore.setValue(EditBox.PREF_ENABLED, isEnabled ); + + // decorators + EnableEditBox toggleHandler = new EnableEditBox(); + try { + toggleHandler.execute(null); + } catch (ExecutionException ex) { + EditBox.logError(this, ex.getLocalizedMessage(), ex); + } + // toolbar item + EditBox.toggleToolBarItemInAllWindows(isEnabled); + + } + }); + //enabled.setSelection(EditBox.getDefault().isEnabled()); //-> NPE + //enabled.setSelection(EditBox.getDefault()!=null); //if not null, then it is running + enabled.setSelection(preferenceStore.getBoolean(EditBox.PREF_ENABLED)); + //} + Link link = new Link(c, SWT.NONE); link.setText("Configure print margin and current line highlighting here."); FontData[] fontData = link.getFont().getFontData(); @@ -78,12 +115,12 @@ public void widgetSelected(SelectionEvent e) { } }); - folder = new TabFolder(c, SWT.NONE); - folder.setLayoutData(new GridData(GridData.FILL_BOTH)); - TabItem ti = new TabItem(folder, SWT.NONE); + tabFolder = new TabFolder(c, SWT.NONE); + tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); + TabItem ti = new TabItem(tabFolder, SWT.NONE); ti.setText("Categories"); - ti.setControl(createCategoryControl(folder)); - folder.pack(); + ti.setControl(createCategoryControl(tabFolder)); + tabFolder.pack(); return c; } @@ -95,7 +132,7 @@ protected Control createCategoryControl(Composite parent) { Label comboLabel = new Label(c, SWT.NONE); comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)"); - final Combo combo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY ); + combo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY ); GridData gd = new GridData(GridData.BEGINNING); gd.widthHint = 150; gd.horizontalSpan = 2; @@ -105,11 +142,15 @@ protected Control createCategoryControl(Composite parent) { public void widgetSelected(SelectionEvent e) { String s = combo.getText(); if (s != null && s.length() > 0) { + preferenceStore.setValue(EditBox.PREF_DEFAULT_THEME, s); + //preferenceStore. updateAllTabsWithSelectedTheme(s); } } }); combo.setItems(BoxProviderRegistry.ALL_THEMES_ARRAY); + String preferedThemeName = preferenceStore .getString(EditBox.PREF_DEFAULT_THEME); + combo.select( BoxProviderRegistry.getThemeIndex(preferedThemeName) ); //} Label categoryLabel = new Label(c, SWT.NONE); @@ -156,7 +197,7 @@ public void widgetSelected(SelectionEvent e) { private void updateAllTabsWithSelectedTheme(String theme) { //IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme); - TabItem[] tabItemas = folder.getItems(); + TabItem[] tabItemas = tabFolder.getItems(); for (TabItem item: tabItemas){ BoxSettingsTab bst = (BoxSettingsTab) item.getData(); if (bst == null){ @@ -168,7 +209,7 @@ private void updateAllTabsWithSelectedTheme(String theme) { } protected void loadDataFromProviderRegistryAndCreateTabs() { - Collection boxProviders = EditBox.getDefault().getProviderRegistry().getBoxProviders(); + Collection boxProviders = providerRegistry.getBoxProviders(); for (IBoxProvider provider : boxProviders){ newTab(provider.getName()); } @@ -176,12 +217,11 @@ protected void loadDataFromProviderRegistryAndCreateTabs() { protected void newTab(String providerName) { categoryList.add(providerName); - TabItem item = new TabItem(folder, SWT.NONE); + TabItem item = new TabItem(tabFolder, SWT.NONE); item.setText(providerName); BoxSettingsTab bst = new BoxSettingsTab(); - IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(providerName); - //: see BoxProviderRegistry - item.setControl(bst.createControlsWithContent(folder, provider)); + IBoxProvider provider = providerRegistry.providerForName(providerName); + item.setControl(bst.createControlsWithContent(tabFolder, provider)); item.setData(bst); if (categoryFiles == null) categoryFiles = new LinkedHashMap>(); @@ -189,7 +229,6 @@ protected void newTab(String providerName) { if (fileNames == null) fileNames = Collections.emptyList(); categoryFiles.put(providerName, new LinkedHashSet(fileNames)); - categoryList.setSelection(new String[] { providerName }); namesList.setItems(fileNames.toArray(new String[0])); bAddFile.setEnabled(true); } @@ -208,7 +247,7 @@ public void addFileName(String value) { LinkedHashSet fileNames = categoryFiles.get(categoryName); fileNames.add(value); namesList.add(value); - Object o = folder.getItem(i + 1).getData(); + Object o = tabFolder.getItem(i + 1).getData(); if (o instanceof BoxSettingsTab) ((BoxSettingsTab) o).getSettings().setFileNames(fileNames); } @@ -216,28 +255,30 @@ public void addFileName(String value) { @Override public boolean performOk() { - TabItem[] items = folder.getItems(); + + TabItem[] items = tabFolder.getItems(); for (int i=1;i fNames = categoryFiles.get(key); fNames.remove(value); namesList.remove(i); - Object o = folder.getItem(n+1).getData(); + Object o = tabFolder.getItem(n+1).getData(); if (o instanceof BoxSettingsTab) ((BoxSettingsTab) o).getSettings().setFileNames(new ArrayList(fNames)); } From 8167886f2b4ce5f06a62bc3fb361f5028604bef2 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Tue, 26 Aug 2014 16:37:36 +0800 Subject: [PATCH 09/21] Heavy renaming --- .../eclipse/editbox/impl/BoxProviderImpl.java | 43 ++-- .../editbox/impl/BoxProviderRegistry.java | 37 +-- .../eclipse/editbox/impl/BoxSettingsImpl.java | 139 +++++------ .../editbox/impl/BoxSettingsStoreImpl.java | 67 +++--- .../eclipse/editbox/pref/BoxSettingsTab.java | 217 +++++++++--------- .../editbox/pref/EditboxPreferencePage.java | 51 ++-- 6 files changed, 274 insertions(+), 280 deletions(-) diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java index 21d7362..bf8d8e2 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java @@ -17,29 +17,32 @@ import pm.eclipse.editbox.IBoxProvider; import pm.eclipse.editbox.IBoxSettings; +/** + * Provider + */ public class BoxProviderImpl implements IBoxProvider { protected String id; protected String name; - protected IBoxSettings editorsSettings; - protected BoxSettingsStoreImpl settingsStore; + protected IBoxSettings theme; + protected BoxSettingsStoreImpl providerStore; protected Map builders; protected Collection defaultSettingsCatalog; private ArrayList matchers; public BoxSettingsStoreImpl getSettingsStore() { - if (settingsStore == null) { - settingsStore = createSettingsStore(); - settingsStore.setProviderId(id); + if (providerStore == null) { + providerStore = createSettingsStore(); + providerStore.setProviderId(id); } - return settingsStore; + return providerStore; } public IBoxSettings getEditorsBoxSettings() { - if (editorsSettings == null) { - editorsSettings = createEmptySettings(); - getSettingsStore().loadDefaults(editorsSettings); - editorsSettings.addPropertyChangeListener(new IPropertyChangeListener() { + if (theme == null) { + theme = createEmptySettings(); + getSettingsStore().loadDefaults(theme); + theme.addPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { String p = event.getProperty(); if (p!=null && (p.equals(IBoxSettings.PropertiesKeys.FileNames.name()) || @@ -47,7 +50,7 @@ public void propertyChange(PropertyChangeEvent event) { matchers = null; }}); } - return editorsSettings; + return theme; } public IBoxDecorator decorate(IWorkbenchPart editorPart) { @@ -122,9 +125,9 @@ public void setName(String newName) { protected BoxSettingsStoreImpl createSettingsStore() { - BoxSettingsStoreImpl result = new BoxSettingsStoreImpl(); - result.setDefaultSettingsCatalog(defaultSettingsCatalog); - return result; + BoxSettingsStoreImpl pstore = new BoxSettingsStoreImpl(); + pstore.setDefaultSettingsCatalog(defaultSettingsCatalog); + return pstore; } public void setDefaultSettingsCatalog(Collection cat){ @@ -132,9 +135,9 @@ public void setDefaultSettingsCatalog(Collection cat){ } public IBoxSettings createSettings() { - BoxSettingsImpl result = createEmptySettings(); - result.copyFrom(getEditorsBoxSettings()); - return result; + BoxSettingsImpl theme = createEmptySettings(); + theme.copyFrom(getEditorsBoxSettings()); + return theme; } protected BoxSettingsImpl createEmptySettings() { @@ -142,9 +145,9 @@ protected BoxSettingsImpl createEmptySettings() { } public IBoxDecorator createDecorator() { - BoxDecoratorImpl result = new BoxDecoratorImpl(); - result.setProvider(this); - return result; + BoxDecoratorImpl decorator = new BoxDecoratorImpl(); + decorator.setProvider(this); + return decorator; } public Collection getBuilders() { diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java index 76a015c..d49d092 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java @@ -16,9 +16,10 @@ import pm.eclipse.editbox.EditBox; import pm.eclipse.editbox.IBoxDecorator; import pm.eclipse.editbox.IBoxProvider; +import pm.eclipse.editbox.IBoxSettings; /** - * Default settings + * Registry keeps Providers list and initialize them or restores from preferences * @author Piotr Metel * @author Paul Verest : added "RainbowDrops" and ALL_THEMES_LIST to be used in every category */ @@ -46,7 +47,15 @@ public static int getThemeIndex(String preferedThemeName) { } //} - + //{ like in BoxSettingsStoreImpl + protected IPreferenceStore store = EditBox.getDefault().getPreferenceStore(); +// protected IPreferenceStore store{ +// if (store == null) +// store = EditBox.getDefault().getPreferenceStore(); +// return store; +// } + //} + protected Collection providers; protected Map decorators; protected Map partListeners; @@ -58,27 +67,16 @@ public Collection getBoxProviders() { } if (providers == null){ providers = defaultProviders(); - }else{ - // comparing providers from Preferences with defaultProviders can be here } return providers; } - //{ like in BoxSettingsStoreImpl - protected IPreferenceStore store; - protected IPreferenceStore getStore(){ - if (store == null) - store = EditBox.getDefault().getPreferenceStore(); - return store; - } - //} - // Preferences have string like // proivders=java,python,markup,text,js // calls createProvider(name) protected Collection loadProvidersFromPreferences() { List result = null; - String pSetting = getStore().getString(PROVIDERS); + String pSetting = store.getString(PROVIDERS); if (pSetting != null && pSetting.length() > 0) { String[] split = pSetting.split(","); if (split.length > 0) @@ -103,7 +101,7 @@ public void storeProviders(){ if (sb.length()!=0) sb.append(","); sb.append(p.getName()); } - getStore().setValue(PROVIDERS,sb.toString()); + store.setValue(PROVIDERS,sb.toString()); } } @@ -122,7 +120,7 @@ protected Collection defaultProviders() { result.add(createProviderForNameAndExtentions("ruby", Arrays.asList("*.rb", "*.ruby") ) ); result.add(createProviderForNameAndExtentions("text", Arrays.asList("*.txt", "*.") ) ); result.add(createProviderForNameAndExtentions("xml", Arrays.asList("*.xml", "*.launch", "*.project", "*.classpath") ) ); - result.add(createProviderForNameAndExtentions("exclude", Arrays.asList("*.ascii") ) ); + result.add(createProviderForNameAndExtentionsDisabled("exclude", Arrays.asList("*.ascii") ) ); result.add(createProviderForNameAndExtentions("others", Arrays.asList("*.*") ) ); // "*.*" makes default to every file return result; } @@ -148,6 +146,13 @@ protected BoxProviderImpl createProviderForNameAndExtentions(String name, List extentions) { + BoxProviderImpl provider = createProviderForNameAndExtentions(name, extentions); + // no effect :-( + // IBoxSettings theme = provider.getEditorsBoxSettings(); + // theme.setEnabled(false); //this fires PropertyChangeListener + return provider; + } protected Map defaultBuilders() { Map result = new HashMap(); diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java index 9b1aabf..5250e41 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java @@ -76,7 +76,6 @@ public class BoxSettingsImpl implements IBoxSettings { private transient Color[] highlightColors; - public void copyFrom(IBoxSettings other) { BoxSettingsImpl o = (BoxSettingsImpl) other; name = o.getName(); @@ -140,38 +139,6 @@ protected Color setColorCopy(Color old, Color newColor) { return newColor == null ? null : new Color(null, newColor.getRGB()); } - public String export() { - return new StringExternalization().export(this); - } - - public void load(String string) { - StringExternalization ext = new StringExternalization(); - boolean error = false; - if (string != null) - try { - ext.load(string, this); - } catch (Exception e) { - EditBox.logError(this, "Cannot load EditBox settings from string: "+string, e); - error = true; - } - if (error || string == null) { - this.copyFrom(DEFAULT); - } - notifyChange(PropertiesKeys.ALL.name(), null, null); - } - - public void export(OutputStream stream) throws Exception{ - new StringExternalization().export(stream,this); - } - - public void load(InputStream stream) throws Exception{ - if (stream==null) - load((String)null); - else - new StringExternalization().load(stream,this); - notifyChange(PropertiesKeys.ALL.name(), null, null); - } - public boolean getEnabled() { return enabled; } @@ -533,34 +500,86 @@ public int getFillKeyModifierSWTInt(){ return SWT.SHIFT; return 0; } + + //save/restore related { + private StringExternalization ext = new StringExternalization(); + + public String export() { + return ext.exportToString(this); + } + public void export(OutputStream stream) throws Exception{ + ext.export(stream,this); + } + public void load(String string) { + //StringExternalization ext = new StringExternalization(); + boolean error = false; + if (string != null){ + try { + ext.loadFromString(string, this); + } catch (Exception e) { + EditBox.logError(this, "Cannot load EditBox settings from string: "+string, e); + error = true; + } + } + if (error || string == null) { + this.copyFrom(DEFAULT); + } + notifyChange(PropertiesKeys.ALL.name(), null, null); + } + public void load(InputStream stream) throws Exception{ + if (stream==null) + load((String)null); + else + ext.loadFromStream(stream,this); + notifyChange(PropertiesKeys.ALL.name(), null, null); + } + + // could have all methods static, but it just has too many methods to change + /** + * using Properties store and load methods + */ class StringExternalization { private static final String COMMENT = "Editbox Eclipse Plugin Settings"; - public String export(BoxSettingsImpl b) { + public void export(OutputStream stream, BoxSettingsImpl b) throws Exception { Properties p = toProperies(b); - return propertiesToString(p); + p.store(stream, COMMENT); } - - public void load(InputStream stream, BoxSettingsImpl b) throws Exception { + public String exportToString(BoxSettingsImpl b) { + Properties p = toProperies(b); +// return exportPropertiesToString(p); +// } +// private String exportPropertiesToString(Properties p) { + try { + ByteArrayOutputStream bo = new ByteArrayOutputStream(); + p.store(bo, "COMMENT"); + return bo.toString(); + } catch (IOException e) { + EditBox.logError(this, "Cannot convert propeties to sring", e); + } + return ""; + } + // private Properties loadProperties(String s) throws IOException { + // Properties p = new Properties(); + // p.load(new StringBufferInputStream(s)); + // return p; + // } + public void loadFromString(String s, BoxSettingsImpl b) throws Exception { + //Properties p = loadProperties(s); Properties p = new Properties(); - p.load(stream); - load(p,b); + p.load(new StringBufferInputStream(s)); + fromProperties(p,b); } - - public void export(OutputStream stream, BoxSettingsImpl b) throws Exception { - Properties p = toProperies(b); - p.store(stream, COMMENT); - + public void loadFromStream(InputStream stream, BoxSettingsImpl b) throws Exception { + Properties p = new Properties(); + p.load(stream); + fromProperties(p,b); } - public void load(String s, BoxSettingsImpl b) throws Exception { - Properties p = loadProperties(s); - load(p,b); - } - private void load(Properties p, BoxSettingsImpl b) { + private void fromProperties(Properties p, BoxSettingsImpl b) { b.name = parseString(p.get(PropertiesKeys.Name.name())); b.borderColor = parseColor(p.get(PropertiesKeys.BorderColor.name())); b.highlightColor = parseColor(p.get(PropertiesKeys.HighlightColor.name())); @@ -618,23 +637,6 @@ private Properties toProperies(BoxSettingsImpl b) { return p; } - private Properties loadProperties(String s) throws IOException { - Properties p = new Properties(); - p.load(new StringBufferInputStream(s)); - return p; - } - - private String propertiesToString(Properties p) { - try { - ByteArrayOutputStream bo = new ByteArrayOutputStream(); - p.store(bo, "COMMENT"); - return bo.toString(); - } catch (IOException e) { - EditBox.logError(this, "Cannot convert propeties to sring", e); - } - return ""; - } - private Color[] parseColorsArray(Object o) { if (o == null || o.equals("null")) @@ -717,7 +719,9 @@ private String toS(String s) { return s == null ? "null" : s; } } - + //} + + //{ public void addPropertyChangeListener(IPropertyChangeListener listener) { if (listeners == null) listeners = new ArrayList(); @@ -735,6 +739,7 @@ protected void notifyChange(String propertyName, Object oldValue, Object newValu listener.propertyChange(e); } } + //} public void setBorderLineStyle(int selectionIndex) { this.borderLineStyle = selectionIndex; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java index 843ead7..1c16320 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java @@ -14,8 +14,9 @@ import pm.eclipse.editbox.IBoxSettingsStore; -/** - * Saving to pm.eclipse.editbox.prefs +/** ProviderStore + * Saving to pm.eclipse.editbox.prefs just ONE provider: + * gives mapping to serialize to Eclipse IPreferenceStore
 pm.eclipse.editbox.provider.java_Default=\#COMMENT\r\n\#Mon Jun 30 17\:24\:47 CST 2014\r\nHighlightOne\=false\r\nFillGradient\=false\r\nFillSelected\=true\r\nRoundBox\=true\r\nBorderColorType\=1\r\nName\=Default\r\nExpandBox\=false\r\nBorderDrawLine\=false\r\nFillOnMove\=true\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=acb3b7\r\nBorderColor\=c0c0c0\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=3\r\nFillGradientColor\=dadcc2\r\nBuilder\=Java\r\nHighlightDrawLine\=false\r\nFillSelectedColor\=ffffff\r\nBorderLineStyle\=2\r\nColors\=ffffff-c5d0ac-d9e3b7-e8ecd9\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
 pm.eclipse.editbox.provider.java_RainbowDrops=\#COMMENT\r\n\#Wed Jul 09 17\:06\:50 CST 2014\r\nHighlightOne\=true\r\nFillGradient\=false\r\nFillSelected\=false\r\nRoundBox\=false\r\nBorderColorType\=0\r\nName\=RainbowDrops\r\nExpandBox\=false\r\nBorderDrawLine\=true\r\nFillOnMove\=false\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=00ff00\r\nBorderColor\=00bbbb\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=0\r\nFillGradientColor\=null\r\nBuilder\=Java\r\nHighlightDrawLine\=true\r\nFillSelectedColor\=202020\r\nBorderLineStyle\=1\r\nColors\=202020-null\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n
@@ -40,15 +41,15 @@ public class BoxSettingsStoreImpl implements IBoxSettingsStore {
 	private static final String ENABLED = "enabled";
 	private static final String CATALOG = "catalog";
 	protected String providerId;
-	protected IPreferenceStore store;
+	protected IPreferenceStore store = EditBox.getDefault().getPreferenceStore();
 	private Set catalog;
 	private Collection defaultCatalog;
 
-	protected IPreferenceStore getStore(){
-		if (store == null)
-			store = EditBox.getDefault().getPreferenceStore();
-		return store;
-	}
+//	protected IPreferenceStore store{
+//		if (store == null)
+//			store = EditBox.getDefault().getPreferenceStore();
+//		return store;
+//	}
 	
 	protected String providerKey(String postfix){
 		return providerId+"_"+postfix;
@@ -61,7 +62,7 @@ public void setProviderId(String id) {
 	
 	@Override
 	public void loadDefaults(IBoxSettings editorsSettings) {
-		String defaultThemeName = getStore().getString(providerKey(DEFAULT));
+		String defaultThemeName = store.getString(providerKey(DEFAULT));
 		if (isEmpty(defaultThemeName)){
 			defaultThemeName = providerId;
 		} 
@@ -70,7 +71,7 @@ public void loadDefaults(IBoxSettings editorsSettings) {
 
 	@Override
 	public void load(String themeName, IBoxSettings editorsSettings) {
-		String themeInsideString = getStore().getString(providerKey(themeName));
+		String themeInsideString = store.getString(providerKey(themeName));
 		if (!isEmpty(themeInsideString))
 			editorsSettings.load(themeInsideString);
 		else
@@ -79,7 +80,7 @@ public void load(String themeName, IBoxSettings editorsSettings) {
 			} catch (Exception e) {
 				EditBox.logError(this, "Error loading settings: "+themeName, e);
 			}
-		editorsSettings.setEnabled(getIsEnabled());
+		editorsSettings.setEnabled(getIsEnabled()); //XXX smell: is Enabled for Provider, not theme!
 		editorsSettings.setFileNames(getFileNames());
 	}
 
@@ -89,21 +90,21 @@ protected static boolean isEmpty(String s) {
 
 	protected boolean getIsEnabled() {
 		String key = providerKey(ENABLED);
-		if (getStore().contains(key))
-			return getStore().getBoolean(key);
+		if (store.contains(key))
+			return store.getBoolean(key);
 		return true;
 	}
 
 	@Override
 	public void saveDefaults(IBoxSettings settings) {
-		getStore().setValue(providerKey(ENABLED), settings.getEnabled()?"true":"false");
-		getStore().setValue(providerKey(DEFAULT), settings.getName());
+		store.setValue(providerKey(ENABLED), settings.getEnabled()?"true":"false");
+		store.setValue(providerKey(DEFAULT), settings.getName());
 		store(settings);
 	}
 
 	public void store(IBoxSettings settings) {
 		String name = settings.getName();
-		getStore().setValue(providerKey(name),settings.export());
+		store.setValue(providerKey(name),settings.export());
 		setFileNames(settings.getFileNames());
 		addToCatalog(name);
 		EditBox.getDefault().savePluginPreferences();
@@ -123,14 +124,14 @@ private void storeCatalog(Set cat) {
 			if (sb.length()>0) sb.append(",");
 			sb.append(c);
 		}
-		getStore().setValue(providerKey(CATALOG), sb.toString());
+		store.setValue(providerKey(CATALOG), sb.toString());
 	}
 
 	@Override
 	public Set getCatalog() {
 		if (catalog == null){
 			catalog = new LinkedHashSet();
-			String cstr = getStore().getString(providerKey(CATALOG));
+			String cstr = store.getString(providerKey(CATALOG));
 			if (!isEmpty(cstr))
 				for (String s : cstr.split(",")) 
 					catalog.add(s);
@@ -149,8 +150,8 @@ public void setDefaultSettingsCatalog(Collection cat){
 	public void remove(String name) {
 		if (getCatalog().remove(name))
 			storeCatalog(getCatalog());
-		getStore().setValue(providerKey(name), "");
-		getStore().setValue(providerKey(name+TXT_POSTFIX), "");
+		store.setValue(providerKey(name), "");
+		store.setValue(providerKey(name+TXT_POSTFIX), "");
 		EditBox.getDefault().savePluginPreferences();
 	}
 
@@ -165,30 +166,26 @@ protected void setFileNames(Collection fileNames) {
 				first = false;
 			}
 		}
-		getStore().setValue(providerKey(FILE_NAMES), sb.toString());
+		store.setValue(providerKey(FILE_NAMES), sb.toString());
 	}
 
 	/*
 	 * @return null if settings never stored before
 	 */
 	protected Collection getFileNames() {
-		String key = providerKey(FILE_NAMES);
-
-		if (!getStore().contains(key))
+		String fileNames = store.getString(providerKey(FILE_NAMES));
+		if (fileNames == null) {
 			return null;
-
-		String value = getStore().getString(key);
-		List l = new ArrayList();
-		if (value != null) {
-			StringTokenizer st = new StringTokenizer(value, ",");
-			while (st.hasMoreTokens()) {
-				String t = st.nextToken().trim();
-				if (t.length() > 0)
-					l.add(t);
-			}
+		}		
+		List list = new ArrayList();
+		StringTokenizer st = new StringTokenizer(fileNames, ",");
+		while (st.hasMoreTokens()) {
+			String t = st.nextToken().trim();
+			if (t.length() > 0)
+				list.add(t);
 		}
 
-		return l;
+		return list;
 	}
 
 }
diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java
index 078e97a..4670fdc 100644
--- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java
+++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/BoxSettingsTab.java
@@ -43,8 +43,8 @@ public class BoxSettingsTab {
 
 	protected IWorkbench workbench;
 	protected IBoxProvider provider; // stored theme settings ?
-	protected IBoxSettingsStore store;
-	protected IBoxSettings settings; // current theme settings ?
+	protected IBoxSettingsStore providerStore;
+	protected IBoxSettings theme; // current theme settings ?
 	protected IBoxDecorator decorator;
 	
 	private Button enabled;
@@ -84,24 +84,6 @@ public class BoxSettingsTab {
 	public BoxSettingsTab() {
 	}
 	
-	// called from EditboxPreferencePage
-	public void loadSettingsForName(String name){
-		decorator.enableUpdates(false);
-		store.load(name, settings);
-		updateContentFromSettings();
-		decorator.enableUpdates(true);
-	}
-//	public void setProvider(IBoxProvider provider) {
-//	//this.provider = provider;		
-//	
-//	// as logic not clean to use object, made as inside combo widgetSelected()
-//	decorator.enableUpdates(false);
-//	store.load(provider.getName(), settings); 					//: get themes list
-//	updateContentsFromSettings();
-//	decorator.enableUpdates(true);
-//}
-	
-
 	/** 
 	 * Create Tab Control
 	 * */
@@ -113,22 +95,22 @@ public Control createControlsWithContent(Composite parent, IBoxProvider provider
 			l.setText("Error - cannot make configuration");
 			return l;
 		}
-		store = provider.getSettingsStore();
-		settings = provider.createSettings();
+		providerStore = provider.getSettingsStore();
+		theme = provider.createSettings();
 		decorator = provider.createDecorator();
-		decorator.setSettings(settings);
+		decorator.setSettings(theme);
 		Control result = createControls(parent);
-		updateContentFromSettings();
+		updateContentFromTheme();
 		decorator.setStyledText(st);
 		decorator.decorate(true);
 		decorator.enableUpdates(true);
-		settings.addPropertyChangeListener(new IPropertyChangeListener() {
+		theme.addPropertyChangeListener(new IPropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent event) {
 				changed = true;
 				if (event.getProperty().equals(IBoxSettings.PropertiesKeys.Color.name()))
 					updateFromToColors();
 				
-				provider.getEditorsBoxSettings().copyFrom(settings);
+				provider.getEditorsBoxSettings().copyFrom(theme);
 			}
 		});
 		
@@ -150,11 +132,11 @@ protected Control createControls(Composite parent) {
 		enabled = new Button(c, SWT.CHECK);
 		GridData gd = new GridData();
 		enabled.setLayoutData(gd);
-		enabled.setText("Provider enabled");
+		enabled.setText("Enabled");
 		enabled.setAlignment(SWT.RIGHT);
 		enabled.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
-				settings.setEnabled(enabled.getSelection());
+				theme.setEnabled(enabled.getSelection());
 			}
 		});
 		
@@ -162,13 +144,13 @@ public void widgetSelected(SelectionEvent e) {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
-				dialog.setFileName(settings.getName());
+				dialog.setFileName(theme.getName());
 				dialog.setFilterExtensions(new String[]{"*.eb"});
 				dialog.setText("Editbox settings");
 				String file = dialog.open();
 				if(file != null) {
 					try{
-						settings.export(new FileOutputStream(file));
+						theme.export(new FileOutputStream(file));
 					}catch(Exception ex){
 						EditBox.logError(this, "Failed to export EditBox setttings", ex);
 						MessageBox mb = new MessageBox(getShell(),SWT.ICON_ERROR);
@@ -186,7 +168,7 @@ public void widgetSelected(SelectionEvent e) {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
-				dialog.setFileName(settings.getName());
+				dialog.setFileName(theme.getName());
 				dialog.setFilterExtensions(new String[]{"*.eb"});
 				dialog.setText("Editbox settings");
 				String file = dialog.open();
@@ -194,9 +176,9 @@ public void widgetSelected(SelectionEvent e) {
 					try{
 						IBoxSettings newSettings = provider.createSettings();
 						newSettings.load(new FileInputStream(file));
-						newSettings.setEnabled(settings.getEnabled());
-						settings.copyFrom(newSettings);
-						updateContentFromSettings();
+						newSettings.setEnabled(theme.getEnabled());
+						theme.copyFrom(newSettings);
+						updateContentFromTheme();
 					}catch(Exception ex){
 						EditBox.logError(this, "Failed to import EditBox setttings", ex);
 						MessageBox mb = new MessageBox(getShell(),SWT.ICON_ERROR);
@@ -239,7 +221,7 @@ public void widgetSelected(SelectionEvent e) {
 					int si = combo.indexOf(t);
 					if (si > -1) {
 						combo.remove(si);
-						store.remove(t);
+						providerStore.remove(t);
 					} else {
 						combo.setText("");
 					}
@@ -265,7 +247,7 @@ public void widgetSelected(SelectionEvent e) {
 		borderLineStyle = newCombo(c1, new String[]{"Solid","Dot","Dash","DashDot", "DashDotDot"}, new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setBorderLineStyle(borderLineStyle.getSelectionIndex());
+				theme.setBorderLineStyle(borderLineStyle.getSelectionIndex());
 			}
 		});
 		borderLineStyle.select(0);
@@ -282,7 +264,7 @@ public void widgetSelected(SelectionEvent e) {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				int idx = borderColorType.getSelectionIndex();
-				settings.setBorderColorType(idx);
+				theme.setBorderColorType(idx);
 				borderColorSelector.getButton().setEnabled(idx == 0);
 			}
 		});
@@ -291,7 +273,7 @@ public void widgetSelected(SelectionEvent e) {
 		borderColorSelector = new ColorSelector(c);
 		borderColorSelector.addListener(new IPropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent event) {
-				settings.setBorderRGB(borderColorSelector.getColorValue());
+				theme.setBorderRGB(borderColorSelector.getColorValue());
 			}
 		});
 		
@@ -301,7 +283,7 @@ public void propertyChange(PropertyChangeEvent event) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setBorderWidth(borderWidth.getSelectionIndex());
+				theme.setBorderWidth(borderWidth.getSelectionIndex());
 			}
 		});
 
@@ -310,7 +292,7 @@ public void widgetSelected(SelectionEvent e) {
 		bordertDrawLine.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setBorderDrawLine(bordertDrawLine.getSelection());
+				theme.setBorderDrawLine(bordertDrawLine.getSelection());
 			}
 		});
 		
@@ -333,7 +315,7 @@ public void widgetSelected(SelectionEvent e) {
 		highlightLineStyle = newCombo(c3, new String[]{"Solid","Dot","Dash","DashDot", "DashDotDot"}, new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setHighlightLineStyle(highlightLineStyle.getSelectionIndex());
+				theme.setHighlightLineStyle(highlightLineStyle.getSelectionIndex());
 			}
 		});
 		highlightLineStyle.select(0);
@@ -351,7 +333,7 @@ public void widgetSelected(SelectionEvent e) {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				int idx = highlightColorType.getSelectionIndex();
-				settings.setHighlightColorType(idx);
+				theme.setHighlightColorType(idx);
 				highlightColorSelector.getButton().setEnabled(idx == 0);
 			}
 		});
@@ -360,7 +342,7 @@ public void widgetSelected(SelectionEvent e) {
 		highlightColorSelector = new ColorSelector(c);
 		highlightColorSelector.addListener(new IPropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent event) {
-				settings.setHighlightRGB(highlightColorSelector.getColorValue());
+				theme.setHighlightRGB(highlightColorSelector.getColorValue());
 			}
 		});
 
@@ -370,7 +352,7 @@ public void propertyChange(PropertyChangeEvent event) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setHighlightWidth(highlightWidth.getSelectionIndex());
+				theme.setHighlightWidth(highlightWidth.getSelectionIndex());
 			}
 		});
 
@@ -379,7 +361,7 @@ public void widgetSelected(SelectionEvent e) {
 		highlightDrawLine.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setHighlightDrawLine(highlightDrawLine.getSelection());
+				theme.setHighlightDrawLine(highlightDrawLine.getSelection());
 			}
 		});
 
@@ -389,10 +371,10 @@ public void widgetSelected(SelectionEvent e) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setRoundBox(roundBox.getSelection());
+				theme.setRoundBox(roundBox.getSelection());
 				if (roundBox.getSelection()){
 					fillGradient.setSelection(false);
-					settings.setFillGradient(false);
+					theme.setFillGradient(false);
 				}
 			}
 		});
@@ -402,7 +384,7 @@ public void widgetSelected(SelectionEvent e) {
 		highlightOne.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setHighlightOne(highlightOne.getSelection());
+				theme.setHighlightOne(highlightOne.getSelection());
 			}
 		});
 
@@ -411,7 +393,7 @@ public void widgetSelected(SelectionEvent e) {
 		eolBox.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setExpandBox(eolBox.getSelection());
+				theme.setExpandBox(eolBox.getSelection());
 			}
 		});
 
@@ -424,7 +406,7 @@ public void widgetSelected(SelectionEvent e) {
 		noBackground.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setNoBackground(noBackground.getSelection());
+				theme.setNoBackground(noBackground.getSelection());
 			}
 		});
 
@@ -438,14 +420,14 @@ public void widgetSelected(SelectionEvent e) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setFillSelected(fillSelected.getSelection());
+				theme.setFillSelected(fillSelected.getSelection());
 			}
 		});
 		
 		fillSelectedColor = new ColorSelector(c);
 		fillSelectedColor.addListener(new IPropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent e) {
-				settings.setFillSelectedRGB(fillSelectedColor.getColorValue());
+				theme.setFillSelectedRGB(fillSelectedColor.getColorValue());
 			}
 		});
 		fillSelectedColor.getButton().setLayoutData(new GridData(GridData.BEGINNING));
@@ -455,7 +437,7 @@ public void propertyChange(PropertyChangeEvent e) {
 		fillOnMove.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setFillOnMove(fillOnMove.getSelection());
+				theme.setFillOnMove(fillOnMove.getSelection());
 			}
 		});
 
@@ -466,7 +448,7 @@ public void widgetSelected(SelectionEvent e) {
 
 		fillKey = newCombo(c, new String[]{"","Alt","Ctrl","Shift"}, new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
-				settings.setFillKeyModifier(fillKey.getText());
+				theme.setFillKeyModifier(fillKey.getText());
 			}
 		});
 		
@@ -476,10 +458,10 @@ public void widgetSelected(SelectionEvent e) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setFillGradient(fillGradient.getSelection());
+				theme.setFillGradient(fillGradient.getSelection());
 				if (fillGradient.getSelection()) {
 					roundBox.setSelection(false);
-					settings.setRoundBox(false);
+					theme.setRoundBox(false);
 				}
 			}
 		});
@@ -488,7 +470,7 @@ public void widgetSelected(SelectionEvent e) {
 		fillGradientColor.addListener(new IPropertyChangeListener() {
 			
 			public void propertyChange(PropertyChangeEvent event) {
-				settings.setFillGradientColorRGB(fillGradientColor.getColorValue());				
+				theme.setFillGradientColorRGB(fillGradientColor.getColorValue());				
 			}
 		}); 
 
@@ -512,7 +494,7 @@ public void propertyChange(PropertyChangeEvent event) {
 			public void widgetSelected(SelectionEvent e) {
 				int alpha = scale.getSelection() * 255/100;
 				spinner.setSelection(alpha);
-				settings.setAlpha(alpha);
+				theme.setAlpha(alpha);
 			}
 		});
 		
@@ -524,7 +506,7 @@ public void widgetSelected(SelectionEvent e) {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				scale.setSelection(spinner.getSelection() * 100/255);
-				settings.setAlpha(spinner.getSelection());
+				theme.setAlpha(spinner.getSelection());
 			}
 		});
 		
@@ -537,8 +519,8 @@ public void widgetSelected(SelectionEvent e) {
 				new SelectionAdapter() { // EditBox helps to signal that there are too long strings
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setColorsSize(levels.getSelectionIndex());
-				st.setText(generateIndentText(settings.getColorsSize() +1));
+				theme.setColorsSize(levels.getSelectionIndex());
+				st.setText(generateIndentText(theme.getColorsSize() +1));
 			}
 		});
 
@@ -547,7 +529,7 @@ public void widgetSelected(SelectionEvent e) {
 		circulateColors.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setCirculateLevelColors(circulateColors.getSelection());
+				theme.setCirculateLevelColors(circulateColors.getSelection());
 			}
 		});
 		
@@ -565,7 +547,7 @@ public void widgetSelected(SelectionEvent e) {
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				settings.setBuilder(builderCombo.getText());
+				theme.setBuilder(builderCombo.getText());
 			}
 		});
 
@@ -601,10 +583,10 @@ public void propertyChange(PropertyChangeEvent event) {
 			public void widgetSelected(SelectionEvent e) {
 				if (fromColorLab.getColorValue() == null || toColorLab.getColorValue()==null)
 					return;
-				Color[] colors = settings.getColors();
+				Color[] colors = theme.getColors();
 				if (colors == null || colors.length < 2)
 					return;
-				settings.setColorsRGB(rgbGradient(colors));
+				theme.setColorsRGB(rgbGradient(colors));
 			}
 		});
 
@@ -655,58 +637,67 @@ protected Label newLabel(Composite c, String msg) {
 			l.setBackground(new Color(null, bc.getRGB()));
 		return l;
 	}
+	
+	// called from EditboxPreferencePage
+	public void loadSettingsForName(String name){
+		decorator.enableUpdates(false);
+		providerStore.load(name, theme);
+		updateContentFromTheme();
+		decorator.enableUpdates(true);
+	}
 
 	/** update content from settings */
-	protected void updateContentFromSettings() {
-		enabled.setSelection(settings.getEnabled());
-		combo.setItems(store.getCatalog().toArray(new String[0]));
-		if (settings.getName() != null) {
-			int idx = combo.indexOf(settings.getName());
+	protected void updateContentFromTheme() {
+		enabled.setSelection(theme.getEnabled()); // enable is applied from provider!
+		
+		combo.setItems(providerStore.getCatalog().toArray(new String[0]));
+		if (theme.getName() != null) {
+			int idx = combo.indexOf(theme.getName());
 			if (idx > -1)
 				combo.select(idx);
-			else combo.setText(settings.getName());
+			else combo.setText(theme.getName());
 		}
-		if (settings.getBorderColor() != null)
-			borderColorSelector.setColorValue(settings.getBorderColor().getRGB());
-		borderWidth.select(settings.getBorderWidth());
-		roundBox.setSelection(settings.getRoundBox());
-		if (settings.getHighlightColor() != null)
-			highlightColorSelector.setColorValue(settings.getHighlightColor().getRGB());
-		highlightWidth.select(settings.getHighlightWidth());
-		highlightOne.setSelection(settings.getHighlightOne());
-		fillSelected.setSelection(settings.getFillSelected());
-		if (settings.getFillSelectedColor() != null)
-			fillSelectedColor.setColorValue(settings.getFillSelectedColor().getRGB());
+		if (theme.getBorderColor() != null)
+			borderColorSelector.setColorValue(theme.getBorderColor().getRGB());
+		borderWidth.select(theme.getBorderWidth());
+		roundBox.setSelection(theme.getRoundBox());
+		if (theme.getHighlightColor() != null)
+			highlightColorSelector.setColorValue(theme.getHighlightColor().getRGB());
+		highlightWidth.select(theme.getHighlightWidth());
+		highlightOne.setSelection(theme.getHighlightOne());
+		fillSelected.setSelection(theme.getFillSelected());
+		if (theme.getFillSelectedColor() != null)
+			fillSelectedColor.setColorValue(theme.getFillSelectedColor().getRGB());
 		builderCombo.setItems(provider.getBuilders().toArray(new String[0]));
 		int i = -1;
-		if (settings.getBuilder() != null)
-			i = builderCombo.indexOf(settings.getBuilder());
+		if (theme.getBuilder() != null)
+			i = builderCombo.indexOf(theme.getBuilder());
 		builderCombo.select(i == -1 ? 0 : i);
-		st.setText(generateIndentText(settings.getColorsSize() +1));
+		st.setText(generateIndentText(theme.getColorsSize() +1));
 		updateFromToColors();
-		bordertDrawLine.setSelection(settings.getBorderDrawLine());
-		highlightDrawLine.setSelection(settings.getHighlightDrawLine());
-		fillGradient.setSelection(settings.getFillGradient());
-		if (settings.getFillGradientColor() != null)
-			fillGradientColor.setColorValue(settings.getFillGradientColor().getRGB());
-		fillOnMove.setSelection(settings.getFillOnMove());
-		circulateColors.setSelection(settings.getCirculateLevelColors());
-		levels.select(settings.getColorsSize());
-		fillKey.setText(settings.getFillKeyModifier()==null?"":settings.getFillKeyModifier());
-		borderColorType.select(settings.getBorderColorType());
-		highlightColorType.select(settings.getHighlightColorType());
-		highlightColorSelector.getButton().setEnabled(settings.getHighlightColorType() == 0);
-		borderColorSelector.getButton().setEnabled(settings.getBorderColorType() == 0);
-		borderLineStyle.select(settings.getBorderLineStyle());
-		highlightLineStyle.select(settings.getHighlightLineStyle());
-		noBackground.setSelection(settings.getNoBackground());
-		eolBox.setSelection(settings.getExpandBox());
-		spinner.setSelection(settings.getAlpha());
-		scale.setSelection(settings.getAlpha() * 100/255);
+		bordertDrawLine.setSelection(theme.getBorderDrawLine());
+		highlightDrawLine.setSelection(theme.getHighlightDrawLine());
+		fillGradient.setSelection(theme.getFillGradient());
+		if (theme.getFillGradientColor() != null)
+			fillGradientColor.setColorValue(theme.getFillGradientColor().getRGB());
+		fillOnMove.setSelection(theme.getFillOnMove());
+		circulateColors.setSelection(theme.getCirculateLevelColors());
+		levels.select(theme.getColorsSize());
+		fillKey.setText(theme.getFillKeyModifier()==null?"":theme.getFillKeyModifier());
+		borderColorType.select(theme.getBorderColorType());
+		highlightColorType.select(theme.getHighlightColorType());
+		highlightColorSelector.getButton().setEnabled(theme.getHighlightColorType() == 0);
+		borderColorSelector.getButton().setEnabled(theme.getBorderColorType() == 0);
+		borderLineStyle.select(theme.getBorderLineStyle());
+		highlightLineStyle.select(theme.getHighlightLineStyle());
+		noBackground.setSelection(theme.getNoBackground());
+		eolBox.setSelection(theme.getExpandBox());
+		spinner.setSelection(theme.getAlpha());
+		scale.setSelection(theme.getAlpha() * 100/255);
 	}
 
 	private void updateFromToColors() {
-		Color[] c = settings.getColors();
+		Color[] c = theme.getColors();
 		if (c != null && c.length > 1) {
 			updateBackground(fromColorLab, c[0]);
 			updateBackground(toColorLab, c[c.length - 1]);
@@ -727,8 +718,8 @@ protected void disposeColor(Color oldColor) {
 	}
 
 	public void dispose() {
-		if (settings != null)
-			settings.dispose();
+		if (theme != null)
+			theme.dispose();
 	}
 
 	private RGB[] rgbGradient(Color[] c) {
@@ -764,12 +755,12 @@ public IBoxProvider getProvider() {
 	}
 
 	public IBoxSettings getSettings() {
-		return settings;
+		return theme;
 	}
 
 	public String validate() {
-		settings.setName(combo.getText());
-		if (settings.getName() == null || settings.getName().length() == 0) {
+		theme.setName(combo.getText());
+		if (theme.getName() == null || theme.getName().length() == 0) {
 			return "Enter configuration name";
 		}
 		return null;
@@ -777,14 +768,14 @@ public String validate() {
 
 	public void save() {
 		if (changed) {
-			store.saveDefaults(settings);
-			provider.getEditorsBoxSettings().copyFrom(settings);
+			providerStore.saveDefaults(theme);
+			provider.getEditorsBoxSettings().copyFrom(theme);
 		}
 	}
 
 	public void cancel() {
 		if (changed) {
-			store.loadDefaults(provider.getEditorsBoxSettings());
+			providerStore.loadDefaults(provider.getEditorsBoxSettings());
 		}
 	}
 
diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java
index e81370d..d4d0ec7 100644
--- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java
+++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java
@@ -30,8 +30,6 @@
 import org.eclipse.swt.widgets.TabItem;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
 
 import pm.eclipse.editbox.EditBox;
@@ -46,16 +44,16 @@
  */
 public class EditboxPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
 
-	private Button enabled;
-	private Combo combo;
+	private Button pluginEnabled;
+	private Combo themeCombo;
 	private List categoryList;
 	private TabFolder tabFolder;
 	private Map> categoryFiles;
 	private List namesList;
 	private Button bAddFile;
 	private boolean providersChanged;
+	private IPreferenceStore store = EditBox.getDefault().getPreferenceStore();
 	private BoxProviderRegistry providerRegistry = EditBox.getDefault().getProviderRegistry();
-	private IPreferenceStore preferenceStore = EditBox.getDefault().getPreferenceStore();
 	
 	public EditboxPreferencePage(){
 		super("EditBox (Nodeclipse)", EditBox.getImageDescriptor("icons/editbox.png"));
@@ -73,17 +71,16 @@ protected Control createContents(Composite parent) {
 		c.setLayout(new GridLayout(1, false));
 		
 		//+ {
-		enabled = new Button(c, SWT.CHECK);
+		pluginEnabled = new Button(c, SWT.CHECK);
 		GridData gd = new GridData();
-		enabled.setLayoutData(gd);
-		enabled.setText("Plugin enabled");
-		enabled.setAlignment(SWT.RIGHT);
-		enabled.addSelectionListener(new SelectionAdapter() {
+		pluginEnabled.setLayoutData(gd);
+		pluginEnabled.setText("Plugin enabled");
+		pluginEnabled.setAlignment(SWT.RIGHT);
+		pluginEnabled.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
-				Boolean isEnabled = enabled.getSelection();
-				//preferenceStore.setValue(EditBox.PREF_ENABLED, isEnabled );
-				
-				// decorators
+				Boolean isEnabled = pluginEnabled.getSelection();
+				//store.setValue(EditBox.PREF_ENABLED, isEnabled ); // no need
+				// decorators are updated when state is toggled within Command Handler
 				EnableEditBox toggleHandler = new EnableEditBox();
 				try {
 					toggleHandler.execute(null);
@@ -91,13 +88,10 @@ public void widgetSelected(SelectionEvent e) {
 					EditBox.logError(this, ex.getLocalizedMessage(), ex);
 				}
 				// toolbar item
-				EditBox.toggleToolBarItemInAllWindows(isEnabled);
-				
+				EditBox.toggleToolBarItemInAllWindows(isEnabled);				
 			}
 		});
-		//enabled.setSelection(EditBox.getDefault().isEnabled()); //-> NPE
-		//enabled.setSelection(EditBox.getDefault()!=null); //if not null, then it is running
-		enabled.setSelection(preferenceStore.getBoolean(EditBox.PREF_ENABLED));
+		pluginEnabled.setSelection(store.getBoolean(EditBox.PREF_ENABLED));
 		//}		
 		
 		Link link = new Link(c, SWT.NONE);
@@ -132,25 +126,24 @@ protected Control createCategoryControl(Composite parent) {
 		Label comboLabel = new Label(c, SWT.NONE);
 		comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)");		
 		
-		combo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY );
+		themeCombo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY );
 		GridData gd = new GridData(GridData.BEGINNING);
 		gd.widthHint = 150;
 		gd.horizontalSpan = 2;
 		gd.horizontalAlignment = SWT.LEFT;
-		combo.setLayoutData(gd);
-		combo.addSelectionListener(new SelectionAdapter() {
+		themeCombo.setLayoutData(gd);
+		themeCombo.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
-				String s = combo.getText();
+				String s = themeCombo.getText();
 				if (s != null && s.length() > 0) {
-					preferenceStore.setValue(EditBox.PREF_DEFAULT_THEME, s);
-					//preferenceStore.
+					store.setValue(EditBox.PREF_DEFAULT_THEME, s);
 					updateAllTabsWithSelectedTheme(s);
 				}
 			}
 		});
-		combo.setItems(BoxProviderRegistry.ALL_THEMES_ARRAY);
-		String preferedThemeName = preferenceStore .getString(EditBox.PREF_DEFAULT_THEME);
-		combo.select( BoxProviderRegistry.getThemeIndex(preferedThemeName) );
+		themeCombo.setItems(BoxProviderRegistry.ALL_THEMES_ARRAY);
+		String preferedThemeName = store.getString(EditBox.PREF_DEFAULT_THEME);
+		themeCombo.select( BoxProviderRegistry.getThemeIndex(preferedThemeName) );
 		//}
 
 		Label categoryLabel = new Label(c, SWT.NONE);
@@ -225,7 +218,7 @@ protected void newTab(String providerName) {
 		item.setData(bst);
 		if (categoryFiles == null)
 			categoryFiles = new LinkedHashMap>();
-		Collection fileNames = bst.getSettings().getFileNames();
+		Collection fileNames = bst.getSettings().getFileNames(); //XXX should be from Provider
 		if (fileNames == null)
 			fileNames = Collections.emptyList();
 		categoryFiles.put(providerName, new LinkedHashSet(fileNames));

From 1338858faf655dcecf6d9970d728f5fd3a00b6cf Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Wed, 8 Jul 2015 17:05:11 +0800
Subject: [PATCH 10/21] README add icon

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 8edff40..1be9a09 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+![](pm.eclipse.editbox/icons/editbox.png)
+
 # EditBox Eclipse plugin
 
 [![Build Status](https://secure.travis-ci.org/Nodeclipse/EditBox.png)](http://travis-ci.org/Nodeclipse/EditBox)

From 20f5a471e526f7bd5086b281435067746cd7dfe7 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Tue, 11 Aug 2015 22:59:20 +0800
Subject: [PATCH 11/21] move icon

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 1be9a09..2558c08 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-![](pm.eclipse.editbox/icons/editbox.png)
 
 # EditBox Eclipse plugin
 
+![](pm.eclipse.editbox/icons/editbox.png)
 [![Build Status](https://secure.travis-ci.org/Nodeclipse/EditBox.png)](http://travis-ci.org/Nodeclipse/EditBox)
 

From c001926f59c267337d5ec33457434179a4718243 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Tue, 11 Aug 2015 23:22:36 +0800
Subject: [PATCH 12/21] move icon into caption

---
 README.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 2558c08..69d1d3b 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
 
-# EditBox Eclipse plugin
+# ![](pm.eclipse.editbox/icons/editbox.png) EditBox Eclipse plugin
 
-![](pm.eclipse.editbox/icons/editbox.png)
 [![Build Status](https://secure.travis-ci.org/Nodeclipse/EditBox.png)](http://travis-ci.org/Nodeclipse/EditBox)
 

From c7dcc2378ada58e6fe7d91f4071829210fed2801 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Tue, 18 Aug 2015 12:46:53 +0800
Subject: [PATCH 13/21] 0.70 (2015-8) refresh release;

---
 README.md                               | 5 +++--
 pm.eclipse.editbox.feature/feature.xml  | 2 +-
 pm.eclipse.editbox.feature/pom.xml      | 2 +-
 pm.eclipse.editbox.site/pom.xml         | 2 +-
 pm.eclipse.editbox/META-INF/MANIFEST.MF | 2 +-
 pm.eclipse.editbox/pom.xml              | 2 +-
 pom.xml                                 | 2 +-
 7 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 69d1d3b..5360cd9 100644
--- a/README.md
+++ b/README.md
@@ -26,9 +26,9 @@ UPDATE: In one day 2014-03-26 converted to git and mavenized; added RainbowDrops
 	
 For example [add Blue Light theme](https://github.com/Nodeclipse/EditBox/commit/b7ceed8f1c391b691f39ee7f45b5613651ab91ca)	
 	
-Latest released version is 0.60.0.	 
+Latest released version is 0.70.0.	 
 
-	mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.65.0-SNAPSHOT
+	mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:0.19.0:set-version -DnewVersion=0.70.0-SNAPSHOT
 
 While it is nice to play with colors, there are Nodeclipse core projects to do.  
 If there are updates here, they will be released together with [Nodeclipse train](http://www.nodeclipse.org/history).
@@ -42,6 +42,7 @@ If there are updates here, they will be released together with [Nodeclipse train
 	Checkbox "Plugin enabled";
 	combo to apply one of bundled themes to all categories	
 	(this is done for case when switching to black themes and back)
+0.70 (2015-8) refresh release; known issues: [#14](https://github.com/Nodeclipse/EditBox/issues/14)	
 
 ## Themes
 
diff --git a/pm.eclipse.editbox.feature/feature.xml b/pm.eclipse.editbox.feature/feature.xml
index ee771b7..5cf5106 100644
--- a/pm.eclipse.editbox.feature/feature.xml
+++ b/pm.eclipse.editbox.feature/feature.xml
@@ -2,7 +2,7 @@
 
 
    
diff --git a/pm.eclipse.editbox.feature/pom.xml b/pm.eclipse.editbox.feature/pom.xml
index e7d4599..8ffc35e 100644
--- a/pm.eclipse.editbox.feature/pom.xml
+++ b/pm.eclipse.editbox.feature/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.60.0-SNAPSHOT
+		0.70.0-SNAPSHOT
 	
 
 	pm.eclipse.editbox.feature
diff --git a/pm.eclipse.editbox.site/pom.xml b/pm.eclipse.editbox.site/pom.xml
index c982c3f..42d46e8 100644
--- a/pm.eclipse.editbox.site/pom.xml
+++ b/pm.eclipse.editbox.site/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.60.0-SNAPSHOT
+		0.70.0-SNAPSHOT
 	
 
 	pm.eclipse.editbox.site
diff --git a/pm.eclipse.editbox/META-INF/MANIFEST.MF b/pm.eclipse.editbox/META-INF/MANIFEST.MF
index 69a909e..3ed0282 100644
--- a/pm.eclipse.editbox/META-INF/MANIFEST.MF
+++ b/pm.eclipse.editbox/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Editbox Plug-in
 Bundle-SymbolicName: pm.eclipse.editbox;singleton:=true
-Bundle-Version: 0.60.0.qualifier
+Bundle-Version: 0.70.0.qualifier
 Bundle-Activator: pm.eclipse.editbox.EditBox
 Bundle-Vendor: Nodeclipse
 Require-Bundle: org.eclipse.ui,
diff --git a/pm.eclipse.editbox/pom.xml b/pm.eclipse.editbox/pom.xml
index c0404ed..50724fc 100644
--- a/pm.eclipse.editbox/pom.xml
+++ b/pm.eclipse.editbox/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.60.0-SNAPSHOT
+		0.70.0-SNAPSHOT
 	
 	
 	pm.eclipse.editbox
diff --git a/pom.xml b/pom.xml
index 680bee8..749579c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 
 	pm.eclipse.editbox
 	pm.eclipse.editbox.parent
-	0.60.0-SNAPSHOT
+	0.70.0-SNAPSHOT
 	pom
 	EditBox (parent)
 

From 5c94f4e13311fdd10078149b7326339f95a9bd64 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Tue, 18 Aug 2015 13:15:19 +0800
Subject: [PATCH 14/21] update README history

---
 README.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index 5360cd9..c58e045 100644
--- a/README.md
+++ b/README.md
@@ -35,14 +35,14 @@ If there are updates here, they will be released together with [Nodeclipse train
 
 ### History
 
-0.50
-0.55
-0.60
-0.65 (2014-08) change icon; 
+- 0.50
+- 0.55
+- 0.60
+- 0.65 (2014-08) change icon; 
 	Checkbox "Plugin enabled";
 	combo to apply one of bundled themes to all categories	
 	(this is done for case when switching to black themes and back)
-0.70 (2015-8) refresh release; known issues: [#14](https://github.com/Nodeclipse/EditBox/issues/14)	
+- 0.70 (2015-8) refresh release; known issues: [#14](https://github.com/Nodeclipse/EditBox/issues/14)	
 
 ## Themes
 

From 307dfe1dd95af9909645f49f0fa93437e84a7e1d Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Sat, 19 Nov 2016 00:08:29 +0800
Subject: [PATCH 15/21] Update README.md

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index c58e045..d287f58 100644
--- a/README.md
+++ b/README.md
@@ -83,6 +83,8 @@ in `BoxProviderRegistry.java` "Default", "Whitebox", "RainbowDrops", "OnClick",
   [9]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/RainbowDropsLine.eb
   [10]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/PaleBlue.eb
 
+[Youtube video where EditBox is used, but not mentioned](https://www.youtube.com/watch?v=KX_tHp_KQkE)
+
 Hints:
 - Before modifying or importing a theme change name
 - (for themes with gradient) Adjust "Alpha blending" to make theme lighter or darker.

From e57567ee1168ab350baf267c8de747c0454a936d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Engelthaler?= 
Date: Fri, 30 Mar 2018 07:58:38 +0200
Subject: [PATCH 16/21] Fix not working with Oxygen, cleanup dependencies

Fix Issue #15
---
 pm.eclipse.editbox/META-INF/MANIFEST.MF                      | 5 +----
 .../src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java    | 2 +-
 pom.xml                                                      | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/pm.eclipse.editbox/META-INF/MANIFEST.MF b/pm.eclipse.editbox/META-INF/MANIFEST.MF
index 3ed0282..8a16f7c 100644
--- a/pm.eclipse.editbox/META-INF/MANIFEST.MF
+++ b/pm.eclipse.editbox/META-INF/MANIFEST.MF
@@ -6,8 +6,5 @@ Bundle-Version: 0.70.0.qualifier
 Bundle-Activator: pm.eclipse.editbox.EditBox
 Bundle-Vendor: Nodeclipse
 Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.editors,
- org.eclipse.jface.text,
- org.eclipse.jdt.ui
+ org.eclipse.core.runtime
 Eclipse-LazyStart: true
diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java
index 1c16320..2ee3967 100644
--- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java
+++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java
@@ -174,7 +174,7 @@ protected void setFileNames(Collection fileNames) {
 	 */
 	protected Collection getFileNames() {
 		String fileNames = store.getString(providerKey(FILE_NAMES));
-		if (fileNames == null) {
+		if (fileNames == null || fileNames.equals("")) {
 			return null;
 		}		
 		List list = new ArrayList();
diff --git a/pom.xml b/pom.xml
index 749579c..1fb636d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,9 +51,9 @@
 
 	
 		
-			kepler
+			oxygen
 			p2
-			http://download.eclipse.org/releases/kepler
+			http://download.eclipse.org/releases/oxygen
 		
 		 
 	

From d807b711adeb5d7cb889d7c714292705f1ddc9a3 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Mon, 2 Apr 2018 22:17:32 +0800
Subject: [PATCH 17/21] update tycho build 1.1.0; bump version to 1.0.0

---
 README.md                               | 10 +++++-----
 pm.eclipse.editbox.feature/feature.xml  |  2 +-
 pm.eclipse.editbox.feature/pom.xml      |  2 +-
 pm.eclipse.editbox.site/pom.xml         |  2 +-
 pm.eclipse.editbox/META-INF/MANIFEST.MF |  2 +-
 pm.eclipse.editbox/pom.xml              |  2 +-
 pom.xml                                 | 10 +++++-----
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index d287f58..07c0359 100644
--- a/README.md
+++ b/README.md
@@ -26,12 +26,9 @@ UPDATE: In one day 2014-03-26 converted to git and mavenized; added RainbowDrops
 	
 For example [add Blue Light theme](https://github.com/Nodeclipse/EditBox/commit/b7ceed8f1c391b691f39ee7f45b5613651ab91ca)	
 	
-Latest released version is 0.70.0.	 
+Hint: bump to next version with
 
-	mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:0.19.0:set-version -DnewVersion=0.70.0-SNAPSHOT
-
-While it is nice to play with colors, there are Nodeclipse core projects to do.  
-If there are updates here, they will be released together with [Nodeclipse train](http://www.nodeclipse.org/history).
+	mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=1.1.0-SNAPSHOT
 
 ### History
 
@@ -43,6 +40,9 @@ If there are updates here, they will be released together with [Nodeclipse train
 	combo to apply one of bundled themes to all categories	
 	(this is done for case when switching to black themes and back)
 - 0.70 (2015-8) refresh release; known issues: [#14](https://github.com/Nodeclipse/EditBox/issues/14)	
+- 1.0.0 (2018-04-02) fix for Oxygen by Jiří Engelthaler;
+	update tycho build to [1.1.0](https://wiki.eclipse.org/Tycho/Release_Notes/1.1)
+
 
 ## Themes
 
diff --git a/pm.eclipse.editbox.feature/feature.xml b/pm.eclipse.editbox.feature/feature.xml
index 5cf5106..bd8c71e 100644
--- a/pm.eclipse.editbox.feature/feature.xml
+++ b/pm.eclipse.editbox.feature/feature.xml
@@ -2,7 +2,7 @@
 
 
    
diff --git a/pm.eclipse.editbox.feature/pom.xml b/pm.eclipse.editbox.feature/pom.xml
index 8ffc35e..35dc2e1 100644
--- a/pm.eclipse.editbox.feature/pom.xml
+++ b/pm.eclipse.editbox.feature/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.70.0-SNAPSHOT
+		1.0.0-SNAPSHOT
 	
 
 	pm.eclipse.editbox.feature
diff --git a/pm.eclipse.editbox.site/pom.xml b/pm.eclipse.editbox.site/pom.xml
index 42d46e8..1024d27 100644
--- a/pm.eclipse.editbox.site/pom.xml
+++ b/pm.eclipse.editbox.site/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.70.0-SNAPSHOT
+		1.0.0-SNAPSHOT
 	
 
 	pm.eclipse.editbox.site
diff --git a/pm.eclipse.editbox/META-INF/MANIFEST.MF b/pm.eclipse.editbox/META-INF/MANIFEST.MF
index 8a16f7c..1dd2a90 100644
--- a/pm.eclipse.editbox/META-INF/MANIFEST.MF
+++ b/pm.eclipse.editbox/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Editbox Plug-in
 Bundle-SymbolicName: pm.eclipse.editbox;singleton:=true
-Bundle-Version: 0.70.0.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: pm.eclipse.editbox.EditBox
 Bundle-Vendor: Nodeclipse
 Require-Bundle: org.eclipse.ui,
diff --git a/pm.eclipse.editbox/pom.xml b/pm.eclipse.editbox/pom.xml
index 50724fc..8cd2e9c 100644
--- a/pm.eclipse.editbox/pom.xml
+++ b/pm.eclipse.editbox/pom.xml
@@ -7,7 +7,7 @@
 	
 		pm.eclipse.editbox
 		pm.eclipse.editbox.parent
-		0.70.0-SNAPSHOT
+		1.0.0-SNAPSHOT
 	
 	
 	pm.eclipse.editbox
diff --git a/pom.xml b/pom.xml
index 1fb636d..349a34d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 
 	pm.eclipse.editbox
 	pm.eclipse.editbox.parent
-	0.70.0-SNAPSHOT
+	1.0.0-SNAPSHOT
 	pom
 	EditBox (parent)
 
@@ -25,7 +25,7 @@
 		
 			Paul Verest
 			Nodeclipse organization
-			http://www.nodeclipse.org/
+			https://nodeclipse.github.io/
 			+8
 		
 	
@@ -35,7 +35,7 @@
 	
 
 	
-		0.19.0
+		1.1.0
 
 		
 		UTF-8
@@ -51,9 +51,9 @@
 
 	
 		
-			oxygen
+			kepler
 			p2
-			http://download.eclipse.org/releases/oxygen
+			http://download.eclipse.org/releases/kepler
 		
 		 
 	

From 9aaeeaadef6becbdbf4046fda1b58e2fa262215e Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Mon, 2 Apr 2018 22:56:40 +0800
Subject: [PATCH 18/21] URL

---
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 07c0359..5764341 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,12 @@
 [![Build Status](https://secure.travis-ci.org/Nodeclipse/EditBox.png)](http://travis-ci.org/Nodeclipse/EditBox)
 
-or use `http://www.nodeclipse.org/updates/`
+Use 
+
+direct update site `http://nodeclipse.github.io/dev.updates/editbox-1.0.0/`
 
 EditBox is using background colors theme to highlight code blocks.
 

From 5acac332ed92ddc238b31d92c3ea1a8c364d3816 Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Mon, 2 Apr 2018 23:10:32 +0800
Subject: [PATCH 19/21] fix PaleBlue.eb link

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 5764341..8f33a91 100644
--- a/README.md
+++ b/README.md
@@ -75,7 +75,7 @@ in `BoxProviderRegistry.java` "Default", "Whitebox", "RainbowDrops", "OnClick",
 ![](pm.eclipse.editbox/docs/BlueLight.PNG)
 - [RainDropsLine][9]  
 ![](pm.eclipse.editbox/docs/RainDropsLineOnSublimeEclipseColorTheme.png)
-- [PaleBlue](10) by Robin Martin
+- [PaleBlue][10] by Robin Martin
 ![](pm.eclipse.editbox/docs/PaleBlueTheme.jpg)
 
   [2]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/Whitebox.eb

From 4e298844068957bc57500445d7e42f3c95baaa4a Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Mon, 2 Apr 2018 23:12:06 +0800
Subject: [PATCH 20/21] Update README.md

---
 README.md | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 8f33a91..16aeb20 100644
--- a/README.md
+++ b/README.md
@@ -138,16 +138,17 @@ Converted with `git svn clone -s http://svn.code.sf.net/p/editbox/code/ editbox3
 
 
 https://sourceforge.net/p/editbox/code/HEAD/tree/plugin/
-
+```
 svn checkout svn://svn.code.sf.net/p/editbox/code/ editbox-code
 
 git svn clone -s svn://svn.code.sf.net/p/editbox/code/
-
+```
 
 https://sourceforge.net/p/editbox/code/HEAD/tree/
-
+```
 svn checkout http://svn.code.sf.net/p/editbox/code/ editbox-code
 
 git svn clone -s http://svn.code.sf.net/p/editbox/code/
 git svn clone -s http://svn.code.sf.net/p/editbox/code/ editbox3 --trunk=plugin
+```
 OK

From 7d338632199c8f7247c91494528e6e043ab34a7b Mon Sep 17 00:00:00 2001
From: Paul Verest 
Date: Mon, 2 Apr 2018 23:28:06 +0800
Subject: [PATCH 21/21] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 16aeb20..a5b2419 100644
--- a/README.md
+++ b/README.md
@@ -75,7 +75,7 @@ in `BoxProviderRegistry.java` "Default", "Whitebox", "RainbowDrops", "OnClick",
 ![](pm.eclipse.editbox/docs/BlueLight.PNG)
 - [RainDropsLine][9]  
 ![](pm.eclipse.editbox/docs/RainDropsLineOnSublimeEclipseColorTheme.png)
-- [PaleBlue][10] by Robin Martin
+- [PaleBlue][10] by Robin Martin  
 ![](pm.eclipse.editbox/docs/PaleBlueTheme.jpg)
 
   [2]: https://raw.githubusercontent.com/Nodeclipse/EditBox/master/pm.eclipse.editbox/src/Whitebox.eb

t~A3cC|5>pk`^9l^>SZkVjhylX~@^ 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettings.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettings.java index 60b811d..9a7b6b3 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettings.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettings.java @@ -10,11 +10,14 @@ +/** + * Theme settings + */ public interface IBoxSettings { enum PropertiesKeys { ALL,Enabled, Name, BorderColor, HighlightColor, BorderWidth, HighlightWidth, RoundBox, HighlightOne, FillSelected, FillSelectedColor, Builder, Colors, Color, HighlightDrawLine, BorderDrawLine, FillGradient, FillGradientColor, FillOnMove, CirculateLevelColors, FillKeyModifier, FileNames, HighlightColorType, BorderColorType, - HighlightLineStyle,BorderLineStyle,NoBackground,ExpandBox,Alpha, + HighlightLineStyle, BorderLineStyle, NoBackground, ExpandBox, Alpha, }; void addPropertyChangeListener(IPropertyChangeListener listener); From d274b3f6fdb4a6eae5ee5fac67cd8832b60d4cb4 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 17:26:15 +0800 Subject: [PATCH 05/21] fix "Cannot refer to a non-final variable combo inside an inner class defined in a different method" --- .../src/pm/eclipse/editbox/pref/EditboxPreferencePage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java index 077afdf..931b8ef 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java @@ -124,7 +124,7 @@ protected Control createCategoryControl(Composite parent) { Label comboLabel = new Label(c, SWT.NONE); comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)"); - Combo combo = new Combo(c, SWT.DROP_DOWN); + final Combo combo = new Combo(c, SWT.DROP_DOWN); GridData gd = new GridData(GridData.BEGINNING); gd.widthHint = 150; gd.horizontalSpan = 2; From d9d0065b51ec77bdbc3c733cfa9e9a94470b2420 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Thu, 14 Aug 2014 17:30:57 +0800 Subject: [PATCH 06/21] make global Combo read-only; simplify --- .../editbox/pref/EditboxPreferencePage.java | 64 +++++++------------ 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java index 931b8ef..7eea231 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/pref/EditboxPreferencePage.java @@ -1,7 +1,5 @@ package pm.eclipse.editbox.pref; -import java.net.MalformedURLException; -import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -12,7 +10,6 @@ import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -51,19 +48,9 @@ public class EditboxPreferencePage extends PreferencePage implements IWorkbenchP private Button bAddFile; private boolean providersChanged; - //+ public EditboxPreferencePage(){ super("EditBox (Nodeclipse)"); - String pathSuffix = "icons/"; - URL ICON_BASE_URL = EditBox.getDefault().getBundle().getEntry(pathSuffix); - URL url; - try { - url = new URL(ICON_BASE_URL, "editbox.png"); - ImageDescriptor imd = ImageDescriptor.createFromURL(url); - setImageDescriptor(imd); - } catch (MalformedURLException e) { - //e.printStackTrace(); - } + setImageDescriptor(EditBox.getImageDescriptor("icons/editbox.png")); } @Override @@ -100,22 +87,6 @@ public void widgetSelected(SelectionEvent e) { return c; } - - private void updateAllTabsWithSelectedTheme(String theme) { - IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme); - - TabItem[] tabItemas = folder.getItems(); - for (TabItem item: tabItemas){ - Object obj = item.getData(); - if (obj == null){ - continue; - } - BoxSettingsTab bst = (BoxSettingsTab) obj; - bst.setProvider(provider); - } - } - - protected Control createCategoryControl(Composite parent) { Composite c = new Composite(parent, SWT.NONE); c.setLayout(new GridLayout(2, true)); @@ -124,14 +95,12 @@ protected Control createCategoryControl(Composite parent) { Label comboLabel = new Label(c, SWT.NONE); comboLabel.setText("Select one of bundled themes to apply to all categories (you can refine on respective Tab)"); - final Combo combo = new Combo(c, SWT.DROP_DOWN); + final Combo combo = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY ); GridData gd = new GridData(GridData.BEGINNING); gd.widthHint = 150; gd.horizontalSpan = 2; gd.horizontalAlignment = SWT.LEFT; combo.setLayoutData(gd); - //TODO disable text editing, only selection - //combo.setEnabled(false); combo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { String s = combo.getText(); @@ -180,24 +149,37 @@ public void widgetSelected(SelectionEvent e) { bRemoveFile.setLayoutData(new GridData(GridData.FILL_BOTH)); bRemoveFile.addSelectionListener(new RemoveFile()); - loadData(); + loadDataFromProviderRegistryAndCreateTabs(); return c; + } + + private void updateAllTabsWithSelectedTheme(String theme) { + IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(theme); + + TabItem[] tabItemas = folder.getItems(); + for (TabItem item: tabItemas){ + BoxSettingsTab bst = (BoxSettingsTab) item.getData(); + if (bst == null){ + continue; + } + bst.setProvider(provider); + } } - protected void loadData() { + protected void loadDataFromProviderRegistryAndCreateTabs() { Collection boxProviders = EditBox.getDefault().getProviderRegistry().getBoxProviders(); for (IBoxProvider provider : boxProviders){ newTab(provider.getName()); } } - protected void newTab(String categoryName) { - categoryList.add(categoryName); + protected void newTab(String providerName) { + categoryList.add(providerName); TabItem item = new TabItem(folder, SWT.NONE); - item.setText(categoryName); + item.setText(providerName); BoxSettingsTab bst = new BoxSettingsTab(); - IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(categoryName); + IBoxProvider provider = EditBox.getDefault().getProviderRegistry().providerForName(providerName); //: see BoxProviderRegistry item.setControl(bst.createContro(folder, provider)); item.setData(bst); @@ -206,8 +188,8 @@ protected void newTab(String categoryName) { Collection fileNames = bst.getSettings().getFileNames(); if (fileNames == null) fileNames = Collections.emptyList(); - categoryFiles.put(categoryName, new LinkedHashSet(fileNames)); - categoryList.setSelection(new String[] { categoryName }); + categoryFiles.put(providerName, new LinkedHashSet(fileNames)); + categoryList.setSelection(new String[] { providerName }); namesList.setItems(fileNames.toArray(new String[0])); bAddFile.setEnabled(true); } From 702f0047936a6df8ab77eaffdca9daf687126ac1 Mon Sep 17 00:00:00 2001 From: Paul Verest Date: Fri, 15 Aug 2014 16:21:49 +0800 Subject: [PATCH 07/21] merciless adding comments and renaming variables (not yet classes) to make things clear --- README.md | 21 +++++- .../src/pm/eclipse/editbox/EditBox.java | 4 +- .../pm/eclipse/editbox/IBoxSettingsStore.java | 4 + .../eclipse/editbox/impl/BoxProviderImpl.java | 6 +- .../editbox/impl/BoxProviderRegistry.java | 8 +- .../eclipse/editbox/impl/BoxSettingsImpl.java | 10 ++- .../editbox/impl/BoxSettingsStoreImpl.java | 75 +++++++++++++------ .../eclipse/editbox/pref/BoxSettingsTab.java | 41 +++++----- .../editbox/pref/EditboxPreferencePage.java | 8 +- 9 files changed, 116 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 4674956..37ab641 100644 --- a/README.md +++ b/README.md @@ -27,11 +27,19 @@ For example [add Blue Light theme](https://github.com/Nodeclipse/EditBox/commit/ Latest released version is 0.60.0. - mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.60.0-SNAPSHOT + mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.65.0-SNAPSHOT While it is nice to play with colors, there are Nodeclipse core projects to do. If there are updates here, they will be released together with [Nodeclipse train](http://www.nodeclipse.org/history). +### History + +0.50 +0.55 +0.60 +0.65 (2014-08) change icon; combo to apply one of bundled themes to all categories + (this is done for case when switching to black themes and back) + ## Themes Text Category included `*.*` file mask. Remove it for better customization. @@ -90,6 +98,17 @@ see `pm.eclipse.editbox\docs` for an example. ### Terms +Looking at code and .prefs file + +``` +pm.eclipse.editbox.provider.java_Default=\#COMMENT\r\n\#Mon Jun 30 17\:24\:47 CST 2014\r\nHighlightOne\=false\r\nFillGradient\=false\r\nFillSelected\=true\r\nRoundBox\=true\r\nBorderColorType\=1\r\nName\=Default\r\nExpandBox\=false\r\nBorderDrawLine\=false\r\nFillOnMove\=true\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=acb3b7\r\nBorderColor\=c0c0c0\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=3\r\nFillGradientColor\=dadcc2\r\nBuilder\=Java\r\nHighlightDrawLine\=false\r\nFillSelectedColor\=ffffff\r\nBorderLineStyle\=2\r\nColors\=ffffff-c5d0ac-d9e3b7-e8ecd9\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n +pm.eclipse.editbox.provider.java_RainbowDrops=\#COMMENT\r\n\#Wed Jul 09 17\:06\:50 CST 2014\r\nHighlightOne\=true\r\nFillGradient\=false\r\nFillSelected\=false\r\nRoundBox\=false\r\nBorderColorType\=0\r\nName\=RainbowDrops\r\nExpandBox\=false\r\nBorderDrawLine\=true\r\nFillOnMove\=false\r\nAlpha\=0\r\nHighlightWidth\=1\r\nBorderWidth\=1\r\nHighlightColor\=00ff00\r\nBorderColor\=00bbbb\r\nFillKeyModifier\=Alt\r\nHighlightColorType\=0\r\nFillGradientColor\=null\r\nBuilder\=Java\r\nHighlightDrawLine\=true\r\nFillSelectedColor\=202020\r\nBorderLineStyle\=1\r\nColors\=202020-null\r\nHighlightLineStyle\=0\r\nNoBackground\=false\r\nCirculateLevelColors\=false\r\n +pm.eclipse.editbox.provider.java_catalog=Default,Whitebox,OnClick,GreyGradient,Java_v_20,RainbowDropsLine,RainbowDropsLineFill,BlueToDeepBlue,OrangeToRed,BlueGradient22WithDarkBoldLeftBorder,BlueLight,Java_PaleBlue,RainbowDrops +pm.eclipse.editbox.provider.java_default=RainbowDrops +pm.eclipse.editbox.provider.java_enabled=true +pm.eclipse.editbox.provider.java_fileNames=*.java,*.class,*.gradle,*.groovy,*.scala +``` + Catalog is list of Themes. Provider `BoxProviderImpl` is Category . Provider is holding theme (Settings object). Theme `BoxSettingsImpl` is set of colors . diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java index c48c670..b9a147f 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/EditBox.java @@ -44,9 +44,9 @@ public BoxProviderRegistry getProviderRegistry(){ } public boolean isEnabled() { - if (getPreferenceStore().contains(ENABLED)) + //if (getPreferenceStore().contains(ENABLED)) return getPreferenceStore().getBoolean(ENABLED); - return false; + //return false; } public void setEnabled(boolean flag){ diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettingsStore.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettingsStore.java index 14c83fc..00e97fe 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettingsStore.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/IBoxSettingsStore.java @@ -3,6 +3,10 @@ import java.util.Set; +/** + * How this provider is saved into several lines of Eclipse preferences + * see BoxSettingsStoreImpl + */ public interface IBoxSettingsStore { void setProviderId(String id); diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java index 12b75fc..21d7362 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderImpl.java @@ -37,7 +37,7 @@ public BoxSettingsStoreImpl getSettingsStore() { public IBoxSettings getEditorsBoxSettings() { if (editorsSettings == null) { - editorsSettings = createSettings0(); + editorsSettings = createEmptySettings(); getSettingsStore().loadDefaults(editorsSettings); editorsSettings.addPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { @@ -132,12 +132,12 @@ public void setDefaultSettingsCatalog(Collection cat){ } public IBoxSettings createSettings() { - BoxSettingsImpl result = createSettings0(); + BoxSettingsImpl result = createEmptySettings(); result.copyFrom(getEditorsBoxSettings()); return result; } - protected BoxSettingsImpl createSettings0() { + protected BoxSettingsImpl createEmptySettings() { return new BoxSettingsImpl(); } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java index 11b7bcd..f8b8b3a 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxProviderRegistry.java @@ -24,7 +24,7 @@ */ public class BoxProviderRegistry { - //used to get Preferences, if changed, user preferences are gone after update + //used to get Preferences, if this misspelled value is changed, user preferences are gone after update private static final String PROVIDERS = "proivders"; // always added. Is it useless? private static final String PROVIDER_ID_ = "pm.eclipse.editbox.provider."; @@ -46,11 +46,7 @@ public Collection getBoxProviders() { if (providers == null){ providers = defaultProviders(); }else{ - // comparing providers from Preferences with defaultProviders - // can be here - // proivders=java,python,markup,text,js - // createProvider(String name) - // + // comparing providers from Preferences with defaultProviders can be here } return providers; } diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java index e198ef6..9b1aabf 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsImpl.java @@ -18,6 +18,10 @@ import pm.eclipse.editbox.EditBox; import pm.eclipse.editbox.IBoxSettings; +/** + * Utils to handle theme, including serialization + * + */ public class BoxSettingsImpl implements IBoxSettings { private static final BoxSettingsImpl DEFAULT = new BoxSettingsImpl(){{ @@ -35,9 +39,10 @@ public class BoxSettingsImpl implements IBoxSettings { fillKeyModifier = "Alt"; }}; + // this is actually domain model class Theme { //TODO extract into class ? protected boolean enabled; protected String name; - protected String text; + protected String text; //? protected Color borderColor; protected Color highlightColor; @@ -49,7 +54,6 @@ public class BoxSettingsImpl implements IBoxSettings { protected boolean roundBox; protected String builder; protected Color[] boxColors; - protected ArrayList listeners; protected boolean highlightDrawLine; protected Color fillGradientColor; protected boolean fillGradient; @@ -65,6 +69,8 @@ public class BoxSettingsImpl implements IBoxSettings { protected boolean noBackground; protected boolean expandBox; protected int alpha; + //} + protected ArrayList listeners; private transient Color[] borderColors; private transient Color[] highlightColors; diff --git a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java index aa0a8d7..843ead7 100644 --- a/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java +++ b/pm.eclipse.editbox/src/pm/eclipse/editbox/impl/BoxSettingsStoreImpl.java @@ -14,12 +14,31 @@ import pm.eclipse.editbox.IBoxSettingsStore; +/** + * Saving to pm.eclipse.editbox.prefs +