Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Bégaudeau2016-08-24 09:50:51 +0000
committerStéphane Bégaudeau2016-08-24 12:09:12 +0000
commit7e6c731e21df840e5a896bdb3634ebbb60043f02 (patch)
treef892633b7be8e43fc784f5e5bf552e20f5f01db2 /plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
parent4dd8b5c7ee41caaf38c05e1880b3e3763d2ceb2f (diff)
downloadorg.eclipse.eef-7e6c731e21df840e5a896bdb3634ebbb60043f02.tar.gz
org.eclipse.eef-7e6c731e21df840e5a896bdb3634ebbb60043f02.tar.xz
org.eclipse.eef-7e6c731e21df840e5a896bdb3634ebbb60043f02.zip
[496007] Fix an issue with labels and conditional styles
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=496007 Change-Id: I71c8c6bfaffd448e8bc2ff2d9cd09a869e0ffd52 Signed-off-by: Stéphane Bégaudeau <stephane.begaudeau@obeo.fr>
Diffstat (limited to 'plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java')
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
index fb3677cb8..fac70a936 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
@@ -30,6 +30,8 @@ import org.eclipse.eef.ide.ui.internal.Messages;
import org.eclipse.eef.ide.ui.internal.widgets.EEFStyleHelper;
import org.eclipse.eef.ide.ui.internal.widgets.EEFStyleHelper.IEEFTextStyleCallback;
import org.eclipse.eef.ide.ui.internal.widgets.EEFStyledTextStyleCallback;
+import org.eclipse.eef.ide.ui.internal.widgets.styles.EEFColor;
+import org.eclipse.eef.ide.ui.internal.widgets.styles.EEFFont;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
@@ -39,6 +41,8 @@ import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -265,10 +269,21 @@ public abstract class AbstractEEFWidgetLifecycleManager extends AbstractEEFLifec
private void setLabelFontStyle() {
EEFStyleHelper styleHelper = new EEFStyleHelper(interpreter, variableManager);
EEFWidgetStyle style = styleHelper.getWidgetStyle(getWidgetDescription());
+ IEEFTextStyleCallback callback = new EEFStyledTextStyleCallback(this.label);
if (style != null) {
- IEEFTextStyleCallback callback = new EEFStyledTextStyleCallback(this.label);
styleHelper.applyTextStyle(style.getLabelFontNameExpression(), style.getLabelFontSizeExpression(), style.getLabelFontStyleExpression(),
this.label.getFont(), style.getLabelBackgroundColorExpression(), style.getLabelForegroundColorExpression(), callback);
+ } else {
+ // Set everything back to the default value
+ callback.applyForegroundColor(new EEFColor((Color) null));
+ callback.applyBackgroundColor(new EEFColor((Color) null));
+ callback.applyFontStyle(false, false);
+ callback.applyFont(new EEFFont(null, 0, 0) {
+ @Override
+ public Font getFont() {
+ return null;
+ }
+ });
}
}

Back to the top