]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/labeldecorators/ConstantLabelDecorationRule.java
ConstantLabelDecorationRule to avoid Display in creating FontDescriptors
[simantics/platform.git] / bundles / org.simantics.browsing.ui.model / src / org / simantics / browsing / ui / model / labeldecorators / ConstantLabelDecorationRule.java
index 3bb2db942095c6a34390377a2d69488c57d2c094..2df8e52ee93ca8e98b1b85e9ba5655e0e6c57197 100644 (file)
@@ -14,6 +14,7 @@ package org.simantics.browsing.ui.model.labeldecorators;
 import org.eclipse.jface.resource.ColorDescriptor;
 import org.eclipse.jface.resource.FontDescriptor;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.RGB;
 import org.simantics.browsing.ui.content.LabelDecorator;
 import org.simantics.databoard.Bindings;
@@ -28,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;
@@ -133,6 +139,8 @@ public class ConstantLabelDecorationRule extends AbstractLabelDecorator implemen
             return font;
         else {
             FontDescriptor desc = (FontDescriptor)font;
+            if(desc == null)
+                desc = DEFAULT_FONT_DESCRIPTOR;
             return (Font)desc.withStyle(style);
         }
     }