ConstantLabelDecorationRule to avoid Display in creating FontDescriptors 03/1103/1
authorjsimomaa <jani.simomaa@gmail.com>
Fri, 13 Oct 2017 07:44:43 +0000 (10:44 +0300)
committerjsimomaa <jani.simomaa@gmail.com>
Fri, 13 Oct 2017 07:44:43 +0000 (10:44 +0300)
refs #7545

Change-Id: I921a8f43129cb9710f6c5db0842c174ee802ab81

bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/labeldecorators/ConstantLabelDecorationRule.java

index 494c0a8198b88685025e84c7e2abd4829e91d94f..2df8e52ee93ca8e98b1b85e9ba5655e0e6c57197 100644 (file)
@@ -13,9 +13,8 @@ package org.simantics.browsing.ui.model.labeldecorators;
 
 import org.eclipse.jface.resource.ColorDescriptor;
 import org.eclipse.jface.resource.FontDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.RGB;
 import org.simantics.browsing.ui.content.LabelDecorator;
 import org.simantics.databoard.Bindings;
@@ -30,6 +29,11 @@ import org.simantics.viewpoint.ontology.ViewpointResource;
  */
 public class ConstantLabelDecorationRule extends AbstractLabelDecorator implements LabelDecorationRule {
 
+    /**
+     * For headless instances where no Display is available
+     */
+    private static final FontDescriptor DEFAULT_FONT_DESCRIPTOR = FontDescriptor.createFrom(new FontData("Arial", 11, 0));
+
     String prefix;
     String postfix;
     ColorDescriptor foregroundColor;
@@ -135,7 +139,8 @@ public class ConstantLabelDecorationRule extends AbstractLabelDecorator implemen
             return font;
         else {
             FontDescriptor desc = (FontDescriptor)font;
-            if(desc == null) desc = FontDescriptor.createFrom(JFaceResources.getDialogFont().getFontData());
+            if(desc == null)
+                desc = DEFAULT_FONT_DESCRIPTOR;
             return (Font)desc.withStyle(style);
         }
     }