Skip to content

Commit 98ff2aa

Browse files
committed
CSS: Allow Color And Font Definitions To Be Marked As Not Editable
Color and Fonts can be defined as not editable if done via the extensions point. Provide the same possibility if they are defined via CSS.
1 parent 6c459cc commit 98ff2aa

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

bundles/org.eclipse.e4.ui.css.swt/plugin.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@
494494
<property-name name="category"/>
495495
<property-name name="label"/>
496496
<property-name name="description"/>
497+
<property-name name="editable"/>
497498
</handler>
498499
<handler
499500
adapter="org.eclipse.e4.ui.css.swt.dom.definition.FontDefinitionElement"

bundles/org.eclipse.e4.ui.css.swt/src/org/eclipse/e4/ui/css/swt/properties/definition/CSSPropertyThemeElementDefinitionHandler.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ public class CSSPropertyThemeElementDefinitionHandler implements ICSSPropertyHan
4242

4343
private static final String MESSAGE_QUERY_PARAM = "message";
4444

45+
private static final String EDITABLE_PROP = "editable";
46+
4547
private Map<Long, ResourceBundle> bundleToResourceBundles = new WeakHashMap<>();
4648

4749
@Override
@@ -65,6 +67,10 @@ public boolean applyCSSProperty(Object element, String property,
6567
case DESCRIPTION_PROP:
6668
definition.setDescription(getLabel(value));
6769
break;
70+
case EDITABLE_PROP:
71+
Boolean editable = (Boolean) engine.convert(value, Boolean.class, null);
72+
definition.setEditable(editable);
73+
break;
6874
default:
6975
return false;
7076
}

bundles/org.eclipse.e4.ui.css.swt/src/org/eclipse/e4/ui/internal/css/swt/definition/IThemeElementDefinitionOverridable.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ public interface IThemeElementDefinitionOverridable<T> {
2727
void setName(String name);
2828

2929
void setDescription(String description);
30+
31+
void setEditable(Boolean editable);
3032
}

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/themes/ColorDefinition.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,10 @@ public void setValue(RGB data) {
155155
appendState(State.OVERRIDDEN);
156156
}
157157
}
158+
159+
@Override
160+
public void setEditable(Boolean editable) {
161+
isEditable = editable;
162+
}
163+
158164
}

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/themes/FontDefinition.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,10 @@ public void setValue(FontData[] data) {
138138
appendState(State.OVERRIDDEN);
139139
}
140140
}
141+
142+
@Override
143+
public void setEditable(Boolean editable) {
144+
isEditable = editable;
145+
}
146+
141147
}

0 commit comments

Comments
 (0)