diff options
author | Stéphane Bégaudeau | 2016-08-24 09:50:51 +0000 |
---|---|---|
committer | Stéphane Bégaudeau | 2016-08-24 12:09:12 +0000 |
commit | 7e6c731e21df840e5a896bdb3634ebbb60043f02 (patch) | |
tree | f892633b7be8e43fc784f5e5bf552e20f5f01db2 /plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java | |
parent | 4dd8b5c7ee41caaf38c05e1880b3e3763d2ceb2f (diff) | |
download | org.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.java | 17 |
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; + } + }); } } |