]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/TextSizeHint.java
df2ae2d8e2c4989142bdf43f49b96fb6029e70da
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / evaluator / TextSizeHint.java
1 package org.simantics.document.linking.report.evaluator;
2
3 import org.eclipse.jface.resource.ImageDescriptor;
4 import org.simantics.document.linking.Activator;
5 import org.simantics.document.linking.ontology.DocumentLink;
6 import org.simantics.document.linking.report.Document.TextSize;
7 import org.simantics.objmap.graph.annotations.OrderedSetType;
8 import org.simantics.objmap.graph.annotations.RelatedGetValue;
9 import org.simantics.objmap.graph.annotations.RelatedSetValue;
10
11
12 @OrderedSetType(DocumentLink.URIs.EvaluatorTree_TextSizeHint)
13 public class TextSizeHint extends HintNode implements EnumEditableNode{
14         
15         
16         TextSize textSize;
17         
18         public TextSizeHint() {
19                 textSize = TextSize.SMALL;
20         }
21         
22         public TextSizeHint(TextSize textSize) {
23                 this.textSize = textSize;
24         }
25         
26         
27         @RelatedGetValue(DocumentLink.URIs.EvaluatorTree_HasValue)
28         @Override
29         public String getValue() {
30                 return textSize.toString();
31         }
32         
33         @RelatedSetValue(DocumentLink.URIs.EvaluatorTree_HasValue)
34         @Override
35         public void setValue(String value) {
36                 textSize = TextSize.valueOf(value);
37         }
38         
39         public TextSizeHint setTextSize(TextSize textSize) {
40                 this.textSize = textSize;
41                 return this;
42         }
43         
44         @Override
45         public String[] getEnumearation() {
46                 String values[] = new String[TextSize.values().length];
47                 for (int i = 0; i < values.length; i++)
48                         values[i] = TextSize.values()[i].toString();
49                 return values;
50         }
51         
52         @Override
53         public String toString() {
54                 return textSize.toString();
55         }
56         
57         @Override
58         public Object getHintValue() {
59                 return textSize;
60         }
61         
62         @Override
63         public Object getHintClass() {
64                 return TextSize.class;
65         }
66         
67         @Override
68         public EvaluatorItem copy() {
69                 TextSizeHint t = new TextSizeHint(textSize);
70                 copyChildren(t);
71                 return t;
72         }
73         
74         @Override
75         public ImageDescriptor getImage() {
76                 if (textSize == TextSize.TINY) {
77                         return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_heading_5.png");
78                 } else if (textSize == TextSize.SMALL) {
79                         return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_heading_4.png");
80                 } else if (textSize == TextSize.MEDIUM) {
81                         return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_heading_3.png");
82                 } else if (textSize == TextSize.LARGE) {
83                         return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_heading_2.png");
84                 } else if (textSize == TextSize.HUGE) {
85                         return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_heading_1.png");
86                 } else {
87                         return null;
88                 }
89         }
90
91 }