JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / javax / swing / text / LabelView.js
1 Clazz.declarePackage ("javax.swing.text");\r
2 Clazz.load (["javax.swing.text.GlyphView", "$.TabableView"], "javax.swing.text.LabelView", ["java.awt.Toolkit", "javax.swing.text.StateInvariantError", "$.StyleConstants", "$.StyledDocument"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.font = null;\r
5 this.fg = null;\r
6 this.bg = null;\r
7 this.underline = false;\r
8 this.strike = false;\r
9 this.superscript = false;\r
10 this.subscript = false;\r
11 Clazz.instantialize (this, arguments);\r
12 }, javax.swing.text, "LabelView", javax.swing.text.GlyphView, javax.swing.text.TabableView);\r
13 Clazz.defineMethod (c$, "sync", \r
14 function () {\r
15 if (this.font == null) {\r
16 this.setPropertiesFromAttributes ();\r
17 }});\r
18 Clazz.defineMethod (c$, "setUnderline", \r
19 function (u) {\r
20 this.underline = u;\r
21 }, "~B");\r
22 Clazz.defineMethod (c$, "setStrikeThrough", \r
23 function (s) {\r
24 this.strike = s;\r
25 }, "~B");\r
26 Clazz.defineMethod (c$, "setSuperscript", \r
27 function (s) {\r
28 this.superscript = s;\r
29 }, "~B");\r
30 Clazz.defineMethod (c$, "setSubscript", \r
31 function (s) {\r
32 this.subscript = s;\r
33 }, "~B");\r
34 Clazz.defineMethod (c$, "setBackground", \r
35 function (bg) {\r
36 this.bg = bg;\r
37 }, "java.awt.Color");\r
38 Clazz.defineMethod (c$, "setPropertiesFromAttributes", \r
39 function () {\r
40 var attr = this.getAttributes ();\r
41 if (attr != null) {\r
42 var d = this.getDocument ();\r
43 if (Clazz.instanceOf (d, javax.swing.text.StyledDocument)) {\r
44 var doc = d;\r
45 this.font = doc.getFont (attr);\r
46 this.fg = doc.getForeground (attr);\r
47 if (attr.isDefined (javax.swing.text.StyleConstants.Background)) {\r
48 this.bg = doc.getBackground (attr);\r
49 } else {\r
50 this.bg = null;\r
51 }this.setUnderline (javax.swing.text.StyleConstants.isUnderline (attr));\r
52 this.setStrikeThrough (javax.swing.text.StyleConstants.isStrikeThrough (attr));\r
53 this.setSuperscript (javax.swing.text.StyleConstants.isSuperscript (attr));\r
54 this.setSubscript (javax.swing.text.StyleConstants.isSubscript (attr));\r
55 } else {\r
56 throw  new javax.swing.text.StateInvariantError ("LabelView needs StyledDocument");\r
57 }}});\r
58 Clazz.defineMethod (c$, "getFontMetrics", \r
59 function () {\r
60 this.sync ();\r
61 var c = this.getContainer ();\r
62 return (c != null) ? c.getFontMetrics (this.font) : java.awt.Toolkit.getDefaultToolkit ().getFontMetrics (this.font);\r
63 });\r
64 Clazz.overrideMethod (c$, "getBackground", \r
65 function () {\r
66 this.sync ();\r
67 return this.bg;\r
68 });\r
69 Clazz.overrideMethod (c$, "getForeground", \r
70 function () {\r
71 this.sync ();\r
72 return this.fg;\r
73 });\r
74 Clazz.overrideMethod (c$, "getFont", \r
75 function () {\r
76 this.sync ();\r
77 return this.font;\r
78 });\r
79 Clazz.overrideMethod (c$, "isUnderline", \r
80 function () {\r
81 this.sync ();\r
82 return this.underline;\r
83 });\r
84 Clazz.overrideMethod (c$, "isStrikeThrough", \r
85 function () {\r
86 this.sync ();\r
87 return this.strike;\r
88 });\r
89 Clazz.overrideMethod (c$, "isSubscript", \r
90 function () {\r
91 this.sync ();\r
92 return this.subscript;\r
93 });\r
94 Clazz.overrideMethod (c$, "isSuperscript", \r
95 function () {\r
96 this.sync ();\r
97 return this.superscript;\r
98 });\r
99 Clazz.defineMethod (c$, "changedUpdate", \r
100 function (e, a, f) {\r
101 this.font = null;\r
102 Clazz.superCall (this, javax.swing.text.LabelView, "changedUpdate", [e, a, f]);\r
103 }, "javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");\r
104 });\r