[Text-UI] Improve handling of root style in CssTextStyleManager
Follow-up-to: 7b9c6940ea4a784b401ff606d6fbc93360706f61
Change-Id: Ib5b6396b46d3263714b5256821d7e56c71a8037b
diff --git a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ecommons/text/ui/settings/CssTextStyleManager.java b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ecommons/text/ui/settings/CssTextStyleManager.java
index b7d2331..957f22b 100644
--- a/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ecommons/text/ui/settings/CssTextStyleManager.java
+++ b/ltk/org.eclipse.statet.ltk.ui/src/org/eclipse/statet/ecommons/text/ui/settings/CssTextStyleManager.java
@@ -22,7 +22,6 @@
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.rules.IToken;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
@@ -33,6 +32,9 @@
public class CssTextStyleManager extends PreferenceStoreTextStyleManager<@Nullable String> {
+ public static final String ROOT_STYLE_KEY= "ROOT"; //$NON-NLS-1$
+
+
private static void appendCssColor(final StringBuilder sb, final RGB color) {
sb.append('#');
String s= Integer.toHexString(color.red);
@@ -53,29 +55,26 @@
}
- private final String defaultRootKey;
+ private final String defaultStyleKey;
public CssTextStyleManager(final IPreferenceStore preferenceStore, final String stylesGroupId,
- final String defaultRootKey) {
+ final String defaultStyleKey) {
super(preferenceStore, stylesGroupId);
- this.defaultRootKey= defaultRootKey;
+ this.defaultStyleKey= defaultStyleKey;
}
@Override
- public IToken getToken(@Nullable String key) {
- if (key == null) {
- key= this.defaultRootKey;
- }
- return super.getToken(key);
- }
-
- @Override
protected @Nullable String createTextAttributes(String key) {
- key= resolveUsedKey(key);
- if (key.equals(this.defaultRootKey)) {
- return null;
+ if (key != ROOT_STYLE_KEY) {
+ key= resolveUsedKey(key);
+ if (key.equals(this.defaultStyleKey)) {
+ return null;
+ }
+ }
+ else {
+ key= this.defaultStyleKey;
}
final StringBuilder sb= new StringBuilder(32);