6615b8440d26e3c221ba5c7aac0c96b815ca9691
[jalviewjs.git] / site / swingjs / j2s / swingjs / test / Test_3.js
1 Clazz.declarePackage ("swingjs.test");\r
2 Clazz.load (["java.awt.event.ItemListener", "$.MouseListener", "$.MouseMotionListener", "javax.swing.JApplet", "$.JPanel", "javax.swing.event.DocumentListener", "java.awt.Color", "$.Font", "$.Rectangle"], ["swingjs.test.Test_3Canvas", "$.Test_3Controls", "$.Test_3"], ["java.awt.BasicStroke", "$.BorderLayout", "$.Dimension", "$.FlowLayout", "$.Point", "java.awt.event.ActionListener", "java.beans.PropertyChangeListener", "java.lang.Double", "$.StringBuffer", "javax.swing.ButtonGroup", "$.JButton", "$.JCheckBox", "$.JFrame", "$.JLabel", "$.JRadioButton", "$.JTextField", "javax.swing.event.CaretListener"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.canvas = null;\r
5 this.controls = null;\r
6 Clazz.instantialize (this, arguments);\r
7 }, swingjs.test, "Test_3", javax.swing.JApplet);\r
8 Clazz.makeConstructor (c$, \r
9 function () {\r
10 Clazz.superConstructor (this, swingjs.test.Test_3, []);\r
11 this.setName ("Test_3");\r
12 });\r
13 Clazz.overrideMethod (c$, "init", \r
14 function () {\r
15 this.setLayout ( new java.awt.BorderLayout ());\r
16 this.canvas =  new swingjs.test.Test_3Canvas ();\r
17 this.canvas.setSize (850, 500);\r
18 var c = this.getContentPane ();\r
19 c.setSize (850, 500);\r
20 c.add (this.canvas, "Center");\r
21 c.add (this.controls =  new swingjs.test.Test_3Controls (this.canvas), "North");\r
22 System.out.println ("Hello, world!");\r
23 });\r
24 Clazz.defineMethod (c$, "setSize", \r
25 function (width, height) {\r
26 Clazz.superCall (this, swingjs.test.Test_3, "setSize", [width, height]);\r
27 this.validate ();\r
28 }, "~N,~N");\r
29 Clazz.overrideMethod (c$, "destroy", \r
30 function () {\r
31 this.remove (this.controls);\r
32 this.remove (this.canvas);\r
33 });\r
34 Clazz.overrideMethod (c$, "start", \r
35 function () {\r
36 this.controls.setEnabled (true);\r
37 this.controls.f1.requestFocus ();\r
38 });\r
39 Clazz.overrideMethod (c$, "stop", \r
40 function () {\r
41 this.controls.setEnabled (false);\r
42 });\r
43 Clazz.overrideMethod (c$, "processEvent", \r
44 function (e) {\r
45 if (e.getID () == 201) {\r
46 System.exit (0);\r
47 }}, "java.awt.AWTEvent");\r
48 c$.main = Clazz.defineMethod (c$, "main", \r
49 function (args) {\r
50 var f =  new javax.swing.JFrame ("Tanabe-Sugano");\r
51 var tanabe =  new swingjs.test.Test_3 ();\r
52 tanabe.init ();\r
53 tanabe.start ();\r
54 f.add ("Center", tanabe);\r
55 f.pack ();\r
56 f.setVisible (true);\r
57 f.setDefaultCloseOperation (3);\r
58 }, "~A");\r
59 Clazz.overrideMethod (c$, "getAppletInfo", \r
60 function () {\r
61 return "A d3 octahedral Tanabe-Sugano Diagram";\r
62 });\r
63 c$.CalcF4T1g = Clazz.defineMethod (c$, "CalcF4T1g", \r
64 function (x1) {\r
65 return (15 + (3 * x1) - Math.sqrt (225 - (18 * x1) + (x1 * x1))) / 2;\r
66 }, "~N");\r
67 c$.CalcP4T1g = Clazz.defineMethod (c$, "CalcP4T1g", \r
68 function (x1) {\r
69 return (15 + (3 * x1) + Math.sqrt (225 - (18 * x1) + (x1 * x1))) / 2;\r
70 }, "~N");\r
71 c$.CalcG2Eg = Clazz.defineMethod (c$, "CalcG2Eg", \r
72 function (x1) {\r
73 return 0.0000002727 * x1 * x1 * x1 * x1 * x1 - 0.00003926 * x1 * x1 * x1 * x1 + 0.002110 * x1 * x1 * x1 - 0.05256 * x1 * x1 + 0.6345 * x1 + 17.50161;\r
74 }, "~N");\r
75 c$.CalcG2A1g = Clazz.defineMethod (c$, "CalcG2A1g", \r
76 function (x1) {\r
77 return x1 + 17.50161;\r
78 }, "~N");\r
79 c$.CalcG2T1g = Clazz.defineMethod (c$, "CalcG2T1g", \r
80 function (x1) {\r
81 return 0.0000003205 * x1 * x1 * x1 * x1 * x1 - 0.00004689 * x1 * x1 * x1 * x1 + 0.00258 * x1 * x1 * x1 - 0.06641 * x1 * x1 + 0.8232 * x1 + 17.50161;\r
82 }, "~N");\r
83 c$.CalcG2T2g = Clazz.defineMethod (c$, "CalcG2T2g", \r
84 function (x1) {\r
85 return 0.0000001933 * x1 * x1 * x1 * x1 * x1 - 0.00003336 * x1 * x1 * x1 * x1 + 0.002274 * x1 * x1 * x1 - 0.07898 * x1 * x1 + 1.557 * x1 + 17.50161;\r
86 }, "~N");\r
87 c$.CalcH2T2g = Clazz.defineMethod (c$, "CalcH2T2g", \r
88 function (x1) {\r
89 return 0.00000002443 * x1 * x1 * x1 * x1 * x1 + 0.0000002677 * x1 * x1 * x1 * x1 - 0.0003003 * x1 * x1 * x1 + 0.01745 * x1 * x1 + 0.6635 * x1 + 22.50161;\r
90 }, "~N");\r
91 c$.CalcH2T1g = Clazz.defineMethod (c$, "CalcH2T1g", \r
92 function (x1) {\r
93 return 0.00000002195 * x1 * x1 * x1 * x1 * x1 - 0.000005305 * x1 * x1 * x1 * x1 + 0.0004933 * x1 * x1 * x1 - 0.02294 * x1 * x1 + 1.570 * x1 + 22.50161;\r
94 }, "~N");\r
95 c$.CalcH2Eg = Clazz.defineMethod (c$, "CalcH2Eg", \r
96 function (x1) {\r
97 return 0.0000001881 * x1 * x1 * x1 * x1 * x1 - 0.00002683 * x1 * x1 * x1 * x1 + 0.001416 * x1 * x1 * x1 - 0.0338 * x1 * x1 + 1.3525 * x1 + 22.50161;\r
98 }, "~N");\r
99 c$.CalcD2T2g = Clazz.defineMethod (c$, "CalcD2T2g", \r
100 function (x1) {\r
101 return -7.532E-7 * x1 * x1 * x1 * x1 * x1 + 0.00009886 * x1 * x1 * x1 * x1 - 0.004352 * x1 * x1 * x1 + 0.06092 * x1 * x1 + 1.378 * x1 + 24.8951929;\r
102 }, "~N");\r
103 Clazz.defineMethod (c$, "processDelB", \r
104 function (msgstr) {\r
105 var x1;\r
106 var y1;\r
107 var y2;\r
108 var y3;\r
109 var fE;\r
110 var fT1;\r
111 var fT2;\r
112 var fA1;\r
113 var fT2b;\r
114 var fT2H;\r
115 var fT1H;\r
116 var fEH;\r
117 var Delta;\r
118 var Bp;\r
119 var ret =  new StringBuffer ();\r
120 var ii = msgstr.indexOf (":");\r
121 var ll = msgstr.length;\r
122 Delta = Double.parseDouble (msgstr.substring (0, ii).trim ());\r
123 Bp = Double.parseDouble (msgstr.substring (ii + 1, ll).trim ());\r
124 x1 = Delta / Bp;\r
125 y1 = x1;\r
126 y2 = swingjs.test.Test_3.CalcF4T1g (x1);\r
127 y3 = swingjs.test.Test_3.CalcP4T1g (x1);\r
128 fE = swingjs.test.Test_3.CalcG2Eg (x1);\r
129 fT1 = swingjs.test.Test_3.CalcG2T1g (x1);\r
130 fT2 = swingjs.test.Test_3.CalcG2T2g (x1);\r
131 fA1 = swingjs.test.Test_3.CalcG2A1g (x1);\r
132 fT2b = swingjs.test.Test_3.CalcD2T2g (x1);\r
133 fT2H = swingjs.test.Test_3.CalcH2T2g (x1);\r
134 fEH = swingjs.test.Test_3.CalcH2Eg (x1);\r
135 fT1H = swingjs.test.Test_3.CalcH2T1g (x1);\r
136 var sBp = "" + Math.round (Bp);\r
137 var va1 = "" + Math.round (y1 * Bp);\r
138 var va2 = "" + Math.round (y2 * Bp);\r
139 var va3 = "" + Math.round (y3 * Bp);\r
140 var vfE = "" + Math.round (fE * Bp);\r
141 var vfT1 = "" + Math.round (fT1 * Bp);\r
142 var vfT2 = "" + Math.round (fT2 * Bp);\r
143 var vfA1 = "" + Math.round (fA1 * Bp);\r
144 var vfT2b = "" + Math.round (fT2b * Bp);\r
145 var vfT2H = "" + Math.round (fT2H * Bp);\r
146 var vfEH = "" + Math.round (fEH * Bp);\r
147 var vfT1H = "" + Math.round (fT1H * Bp);\r
148 ret.append ("B\' " + sBp + ", A " + va1 + ", " + va2 + ", " + va3 + ", F " + vfE + ", " + vfT1 + ", " + vfT2 + ", " + vfA1 + ", " + vfT2H + ", " + vfEH + ", " + vfT1H + ", " + vfT2b);\r
149 this.canvas.start_x = 0;\r
150 this.canvas.end_x = 50;\r
151 this.canvas.mouseOn = true;\r
152 this.canvas.deltaB = x1;\r
153 this.canvas.y1 = x1;\r
154 this.canvas.y2 = y2;\r
155 this.canvas.y3 = y3;\r
156 this.canvas.fE = fE;\r
157 this.canvas.fT1 = fT1;\r
158 this.canvas.fT2 = fT2;\r
159 this.canvas.fA1 = fA1;\r
160 this.canvas.fT2b = fT2b;\r
161 this.canvas.fT2H = fT2H;\r
162 this.canvas.fEH = fEH;\r
163 this.canvas.fT1H = fT1H;\r
164 this.canvas.ratio21 = y2 / y1;\r
165 this.canvas.repaint ();\r
166 return ret.toString ();\r
167 }, "~S");\r
168 Clazz.defineMethod (c$, "processRatio", \r
169 function (msgstr) {\r
170 var x1;\r
171 var temp_ratio21;\r
172 var y1;\r
173 var y2;\r
174 var y3;\r
175 var ratio21;\r
176 var v1;\r
177 var fE;\r
178 var fT1;\r
179 var fT2;\r
180 var fA1;\r
181 var fT2b;\r
182 var fT2H;\r
183 var fT1H;\r
184 var fEH;\r
185 var ii = msgstr.indexOf (":");\r
186 var ll = msgstr.length;\r
187 ratio21 = Double.parseDouble (msgstr.substring (0, ii).trim ());\r
188 v1 = Double.parseDouble (msgstr.substring (ii + 1, ll).trim ());\r
189 var x;\r
190 var ratioFound = false;\r
191 var ret =  new StringBuffer ();\r
192 ret.append ("no value");\r
193 for (x = 0; x <= 50; x++) {\r
194 y1 = x;\r
195 y2 = swingjs.test.Test_3.CalcF4T1g (x);\r
196 temp_ratio21 = y2 / y1;\r
197 if ((temp_ratio21 < ratio21) && (ratio21 > 1.192) && (ratio21 < 1.75)) {\r
198 ratioFound = true;\r
199 break;\r
200 }}\r
201 if (ratioFound) {\r
202 for (x1 = (x - 1); x1 < x; x1 += 0.02) {\r
203 y1 = x1;\r
204 y2 = swingjs.test.Test_3.CalcF4T1g (x1);\r
205 y3 = swingjs.test.Test_3.CalcP4T1g (x1);\r
206 fE = swingjs.test.Test_3.CalcG2Eg (x1);\r
207 fT1 = swingjs.test.Test_3.CalcG2T1g (x1);\r
208 fT2 = swingjs.test.Test_3.CalcG2T2g (x1);\r
209 fA1 = swingjs.test.Test_3.CalcG2A1g (x1);\r
210 fT2b = swingjs.test.Test_3.CalcD2T2g (x1);\r
211 fT2H = swingjs.test.Test_3.CalcH2T2g (x1);\r
212 fEH = swingjs.test.Test_3.CalcH2Eg (x1);\r
213 fT1H = swingjs.test.Test_3.CalcH2T1g (x1);\r
214 temp_ratio21 = y2 / y1;\r
215 if (temp_ratio21 < ratio21) {\r
216 ret =  new StringBuffer ();\r
217 var Bp = v1 / x1;\r
218 var temp = Math.round (Bp * 10);\r
219 var tmp =  String.instantialize ("" + temp);\r
220 var Bprime = (tmp.substring (0, tmp.length - 1) + "." + tmp.substring (tmp.length - 1, tmp.length));\r
221 y3 = swingjs.test.Test_3.CalcP4T1g (x1);\r
222 var va1 = "" + Math.round (y1 * Bp);\r
223 var va2 = "" + Math.round (y2 * Bp);\r
224 var va3 = "" + Math.round (y3 * Bp);\r
225 var vfE = "" + Math.round (fE * Bp);\r
226 var vfT1 = "" + Math.round (fT1 * Bp);\r
227 var vfT2 = "" + Math.round (fT2 * Bp);\r
228 var vfA1 = "" + Math.round (fA1 * Bp);\r
229 var vfT2b = "" + Math.round (fT2b * Bp);\r
230 var vfT2H = "" + Math.round (fT2H * Bp);\r
231 var vfEH = "" + Math.round (fEH * Bp);\r
232 var vfT1H = "" + Math.round (fT1H * Bp);\r
233 ret.append ("B\' " + Bprime + ", A " + va1 + ", " + va2 + ", " + va3 + ", F " + vfE + ", " + vfT1 + ", " + vfT2 + ", " + vfA1 + ", " + vfT2H + ", " + vfEH + ", " + vfT1H + ", " + vfT2b);\r
234 this.canvas.start_x = 0;\r
235 this.canvas.end_x = 50;\r
236 this.canvas.mouseOn = true;\r
237 this.canvas.deltaB = x1;\r
238 this.canvas.y1 = x1;\r
239 this.canvas.y2 = y2;\r
240 this.canvas.y3 = y3;\r
241 this.canvas.fE = fE;\r
242 this.canvas.fT1 = fT1;\r
243 this.canvas.fT2 = fT2;\r
244 this.canvas.fA1 = fA1;\r
245 this.canvas.fT2b = fT2b;\r
246 this.canvas.fT2H = fT2H;\r
247 this.canvas.fEH = fEH;\r
248 this.canvas.fT1H = fT1H;\r
249 this.canvas.ratio21 = y2 / y1;\r
250 this.canvas.repaint ();\r
251 return ret.toString ();\r
252 }}\r
253 }this.canvas.mouseOn = false;\r
254 this.canvas.repaint ();\r
255 return ret.toString ();\r
256 }, "~S");\r
257 c$ = Clazz.decorateAsClass (function () {\r
258 this.$y = 0;\r
259 this.bottomLeft = null;\r
260 this.btmLeft = null;\r
261 this.start_x = 0;\r
262 this.end_x = 0;\r
263 this.lrange = 0;\r
264 this.$x = 0;\r
265 this.hlines = 0;\r
266 this.vlines = 0;\r
267 this.gx = 0;\r
268 this.deltaB = 0;\r
269 this.xScale = 0;\r
270 this.yScale = 0;\r
271 this.mouseOn = false;\r
272 this.x1 = 0;\r
273 this.y1 = 0;\r
274 this.y2 = 0;\r
275 this.y3 = 0;\r
276 this.ratio21 = 0;\r
277 this.ratio31 = 0;\r
278 this.ratio32 = 0;\r
279 this.fE = 0;\r
280 this.fT2 = 0;\r
281 this.fT1 = 0;\r
282 this.fA1 = 0;\r
283 this.fT2b = 0;\r
284 this.fT2H = 0;\r
285 this.fT1H = 0;\r
286 this.fEH = 0;\r
287 this.fb = null;\r
288 this.f = null;\r
289 this.dkgreen = null;\r
290 this.gold = null;\r
291 this.ltgrey = null;\r
292 this.teal = null;\r
293 this.purple = null;\r
294 this.lgreen = null;\r
295 this.dgreen = null;\r
296 this.copper = null;\r
297 this.graphRec = null;\r
298 this.outPRec = null;\r
299 this.backgroundColor = null;\r
300 Clazz.instantialize (this, arguments);\r
301 }, swingjs.test, "Test_3Canvas", javax.swing.JPanel, [java.awt.event.MouseListener, java.awt.event.MouseMotionListener]);\r
302 Clazz.prepareFields (c$, function () {\r
303 this.fb =  new java.awt.Font ("Arial", 1, 18);\r
304 this.f =  new java.awt.Font ("Courier", 0, 16);\r
305 this.dkgreen =  new java.awt.Color (142, 244, 108);\r
306 this.gold =  new java.awt.Color (191, 139, 32);\r
307 this.ltgrey =  new java.awt.Color (233, 233, 233);\r
308 this.teal =  new java.awt.Color (168, 207, 251);\r
309 this.purple =  new java.awt.Color (192, 12, 255);\r
310 this.lgreen =  new java.awt.Color (82, 179, 53);\r
311 this.dgreen =  new java.awt.Color (41, 94, 28);\r
312 this.copper =  new java.awt.Color (179, 100, 13);\r
313 this.graphRec =  new java.awt.Rectangle (50, 10, 600, 460);\r
314 this.outPRec =  new java.awt.Rectangle (650, 10, 685, 360);\r
315 });\r
316 Clazz.makeConstructor (c$, \r
317 function () {\r
318 Clazz.superConstructor (this, swingjs.test.Test_3Canvas, []);\r
319 this.setName ("Test_3Canvas");\r
320 this.start_x = 0;\r
321 this.end_x = 50;\r
322 this.hlines = 10;\r
323 this.vlines = 10;\r
324 this.backgroundColor = this.ltgrey;\r
325 this.addMouseListener (this);\r
326 this.addMouseMotionListener (this);\r
327 this.mouseOn = false;\r
328 });\r
329 Clazz.overrideMethod (c$, "paint", \r
330 function (g) {\r
331 this.drawDiagram (g);\r
332 }, "java.awt.Graphics");\r
333 Clazz.defineMethod (c$, "setRange", \r
334 function (start_end) {\r
335 try {\r
336 var pt = start_end.indexOf ('-');\r
337 var start = (Integer.$valueOf (start_end.substring (0, pt))).intValue ();\r
338 var end = (Integer.$valueOf (start_end.substring (pt + 1))).intValue ();\r
339 if (start >= end) return;\r
340 this.lrange = (start == 0 && end == 50 ? 0 : -1);\r
341 this.start_x = start;\r
342 this.end_x = end;\r
343 } catch (e) {\r
344 if (Clazz.exceptionOf (e, NumberFormatException)) {\r
345 this.start_x = 0;\r
346 this.end_x = 50;\r
347 } else {\r
348 throw e;\r
349 }\r
350 }\r
351 }, "~S");\r
352 Clazz.defineMethod (c$, "drawDiagram", \r
353  function (g) {\r
354 this.displayGraph (g);\r
355 }, "java.awt.Graphics");\r
356 Clazz.defineMethod (c$, "displayGraph", \r
357  function (g) {\r
358 var g2 = g;\r
359 g2.setColor (this.backgroundColor);\r
360 g2.fillRect (0, 0, this.getWidth (), this.getHeight ());\r
361 g2.setBackground (g2.getBackground ());\r
362 var stroke2 =  new java.awt.BasicStroke (2);\r
363 var stroke1 =  new java.awt.BasicStroke (1);\r
364 var stroke_d1 =  new java.awt.BasicStroke (1, 0, 2, 0,  Clazz.newFloatArray (-1, [6, 6]), 0);\r
365 var yDivisor;\r
366 g2.clearRect (this.graphRec.x, this.graphRec.y, this.graphRec.width, this.graphRec.height);\r
367 g2.setColor (java.awt.Color.black);\r
368 this.bottomLeft =  new java.awt.Point (this.graphRec.x, this.graphRec.y + this.graphRec.height);\r
369 this.btmLeft =  new java.awt.Point (this.outPRec.x, this.outPRec.y + this.outPRec.height);\r
370 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y, this.bottomLeft.x + this.graphRec.width, this.bottomLeft.y);\r
371 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y, this.bottomLeft.x, this.graphRec.y);\r
372 this.xScale = (this.graphRec.width / (this.end_x - this.start_x));\r
373 if (this.end_x < 35) {\r
374 yDivisor = swingjs.test.Test_3.CalcD2T2g (this.end_x);\r
375 } else yDivisor = swingjs.test.Test_3.CalcP4T1g (this.end_x);\r
376 this.yScale = this.graphRec.height / yDivisor;\r
377 var start_x1 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
378 var start_x2 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
379 var start_x3 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
380 var start_x4 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
381 var start_x5 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
382 var start_x6 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
383 var start_x7 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
384 var start_x8 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
385 var start_x9 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
386 var start_x10 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
387 var start_x11 =  Clazz.newIntArray (-1, [(this.bottomLeft.x)]);\r
388 var start_y1 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.start_x * this.yScale))]);\r
389 this.$y = swingjs.test.Test_3.CalcF4T1g (this.start_x);\r
390 var start_y2 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
391 this.$y = swingjs.test.Test_3.CalcP4T1g (this.start_x);\r
392 var start_y3 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
393 this.$y = swingjs.test.Test_3.CalcG2Eg (this.start_x);\r
394 var start_y4 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
395 this.$y = swingjs.test.Test_3.CalcG2T1g (this.start_x);\r
396 var start_y5 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
397 this.$y = swingjs.test.Test_3.CalcG2T2g (this.start_x);\r
398 var start_y6 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
399 this.$y = swingjs.test.Test_3.CalcG2A1g (this.start_x);\r
400 var start_y7 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
401 this.$y = swingjs.test.Test_3.CalcD2T2g (this.start_x);\r
402 var start_y8 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
403 this.$y = swingjs.test.Test_3.CalcH2T2g (this.start_x);\r
404 var start_y9 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
405 this.$y = swingjs.test.Test_3.CalcH2T1g (this.start_x);\r
406 var start_y10 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
407 this.$y = swingjs.test.Test_3.CalcH2Eg (this.start_x);\r
408 var start_y11 =  Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);\r
409 var hSlines = Clazz.doubleToInt (this.graphRec.height / this.hlines);\r
410 var vSlines = Clazz.doubleToInt (this.graphRec.width / this.vlines);\r
411 g2.setColor (this.ltgrey);\r
412 g2.setStroke (stroke1);\r
413 for (var ii = 1; ii <= this.hlines; ii++) {\r
414 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y - (ii * hSlines), this.bottomLeft.x + this.graphRec.width, this.bottomLeft.y - (ii * hSlines));\r
415 }\r
416 for (var ii = 1; ii <= this.vlines; ii++) {\r
417 g2.drawLine (this.bottomLeft.x + (ii * vSlines), this.bottomLeft.y, this.bottomLeft.x + (ii * vSlines), this.bottomLeft.y - this.graphRec.height);\r
418 }\r
419 for (this.$x = this.start_x; this.$x <= this.end_x; this.$x++) {\r
420 g2.setStroke (stroke2);\r
421 g2.setColor (java.awt.Color.red);\r
422 this.$y = this.$x;\r
423 this.drawXtoY (this.$x, this.$y, start_x1, start_y1, g);\r
424 g2.setColor (java.awt.Color.blue);\r
425 this.$y = swingjs.test.Test_3.CalcF4T1g (this.$x);\r
426 this.drawXtoY (this.$x, this.$y, start_x2, start_y2, g);\r
427 g2.setColor (this.dkgreen);\r
428 this.$y = swingjs.test.Test_3.CalcP4T1g (this.$x);\r
429 this.drawXtoY (this.$x, this.$y, start_x3, start_y3, g);\r
430 g2.setStroke (stroke_d1);\r
431 g2.setColor (this.teal);\r
432 this.$y = swingjs.test.Test_3.CalcG2Eg (this.$x);\r
433 this.drawXtoY (this.$x, this.$y, start_x4, start_y4, g);\r
434 g2.setColor (java.awt.Color.orange);\r
435 this.$y = swingjs.test.Test_3.CalcG2T1g (this.$x);\r
436 this.drawXtoY (this.$x, this.$y, start_x5, start_y5, g);\r
437 g2.setColor (this.gold);\r
438 this.$y = swingjs.test.Test_3.CalcG2T2g (this.$x);\r
439 this.drawXtoY (this.$x, this.$y, start_x6, start_y6, g);\r
440 g2.setColor (java.awt.Color.gray);\r
441 this.$y = swingjs.test.Test_3.CalcG2A1g (this.$x);\r
442 this.drawXtoY (this.$x, this.$y, start_x7, start_y7, g);\r
443 g2.setColor (this.purple);\r
444 this.$y = swingjs.test.Test_3.CalcD2T2g (this.$x);\r
445 this.drawXtoY (this.$x, this.$y, start_x8, start_y8, g);\r
446 g2.setColor (this.lgreen);\r
447 this.$y = swingjs.test.Test_3.CalcH2T2g (this.$x);\r
448 this.drawXtoY (this.$x, this.$y, start_x9, start_y9, g);\r
449 g2.setColor (this.copper);\r
450 this.$y = swingjs.test.Test_3.CalcH2Eg (this.$x);\r
451 this.drawXtoY (this.$x, this.$y, start_x11, start_y11, g);\r
452 g2.setColor (this.dgreen);\r
453 this.$y = swingjs.test.Test_3.CalcH2T1g (this.$x);\r
454 this.drawXtoY (this.$x, this.$y, start_x10, start_y10, g);\r
455 }\r
456 g2.setStroke (stroke1);\r
457 g2.setColor (java.awt.Color.black);\r
458 g2.setFont (this.fb);\r
459 var sx = this.bottomLeft.x;\r
460 var sy = this.bottomLeft.y;\r
461 g2.drawString ("" + this.start_x, sx, sy + 15);\r
462 g2.drawString ("delta/B", sx + 170, sy + 15);\r
463 g2.drawString ("C/B=4.5", sx + 345, sy + 30);\r
464 g2.drawString ("" + this.end_x, this.graphRec.width + 35, sy + 15);\r
465 g2.drawString ("E/B", sx - 35, this.graphRec.y + 100);\r
466 if (this.lrange == 0) {\r
467 g2.drawString ("4F", sx - 25, this.graphRec.y + 465);\r
468 g2.drawString ("4P", sx - 25, this.graphRec.y + 400);\r
469 g2.drawString ("2G", sx - 25, this.graphRec.y + 385);\r
470 g2.drawString ("2H", sx - 25, this.graphRec.y + 370);\r
471 g2.drawString ("2D", sx - 25, this.graphRec.y + 355);\r
472 }if (this.mouseOn) {\r
473 g2.setColor (java.awt.Color.black);\r
474 this.gx = Clazz.doubleToInt (((this.deltaB - this.start_x) * this.xScale) + this.bottomLeft.x);\r
475 g2.drawLine (this.gx, this.bottomLeft.y, this.gx, this.graphRec.y);\r
476 g2.setFont (this.f);\r
477 g2.drawString ("delta/B'   " + this.toThreePlaces (this.deltaB), this.outPRec.x, this.outPRec.y + 15);\r
478 g2.setColor (java.awt.Color.red);\r
479 g2.drawString ("v1(T2g)/B' " + this.toThreePlaces (this.y1), this.outPRec.x, this.outPRec.y + 28);\r
480 g2.setColor (java.awt.Color.blue);\r
481 g2.drawString ("v2(T1g)/B' " + this.toThreePlaces (this.y2), this.outPRec.x, this.outPRec.y + 43);\r
482 g2.setColor (this.dkgreen);\r
483 g2.drawString ("v3(T1g)/B' " + this.toThreePlaces (this.y3), this.outPRec.x, this.outPRec.y + 56);\r
484 g2.setColor (java.awt.Color.black);\r
485 g2.drawString ("ratio v2/v1 " + this.toThreePlaces (this.ratio21), this.outPRec.x, this.outPRec.y + 70);\r
486 g2.setColor (this.teal);\r
487 g2.drawString ("f1 (Eg)/B' " + this.toThreePlaces (this.fE), this.outPRec.x, this.outPRec.y + 83);\r
488 g2.setColor (java.awt.Color.orange);\r
489 g2.drawString ("f2(T1g)/B' " + this.toThreePlaces (this.fT1), this.outPRec.x, this.outPRec.y + 98);\r
490 g2.setColor (this.gold);\r
491 g2.drawString ("f3(T2g)/B' " + this.toThreePlaces (this.fT2), this.outPRec.x, this.outPRec.y + 113);\r
492 g2.setColor (java.awt.Color.gray);\r
493 g2.drawString ("f4(A1g)/B' " + this.toThreePlaces (this.fA1), this.outPRec.x, this.outPRec.y + 128);\r
494 g2.setColor (this.lgreen);\r
495 g2.drawString ("f5(T2g)/B' " + this.toThreePlaces (this.fT2H), this.outPRec.x, this.outPRec.y + 143);\r
496 g2.setColor (this.copper);\r
497 g2.drawString ("f6(Eg)/B'  " + this.toThreePlaces (this.fEH), this.outPRec.x, this.outPRec.y + 159);\r
498 g2.setColor (this.dgreen);\r
499 g2.drawString ("f7(T1g)/B' " + this.toThreePlaces (this.fT1H), this.outPRec.x, this.outPRec.y + 173);\r
500 g2.setColor (this.purple);\r
501 g2.drawString ("f8(T2g)/B' " + this.toThreePlaces (this.fT2b), this.outPRec.x, this.outPRec.y + 189);\r
502 this.mouseOn = false;\r
503 }}, "java.awt.Graphics");\r
504 Clazz.defineMethod (c$, "toThreePlaces", \r
505 function ($in) {\r
506 var temp = Math.round ($in * 1000);\r
507 var tmp =  String.instantialize ("" + temp);\r
508 return (tmp.substring (0, tmp.length - 3) + "." + tmp.substring (tmp.length - 3, tmp.length));\r
509 }, "~N");\r
510 Clazz.defineMethod (c$, "drawXtoY", \r
511  function (x, y, screen_x, screen_y, g) {\r
512 var end_x1;\r
513 var end_y1;\r
514 end_x1 = Clazz.doubleToInt (((x - this.start_x) * this.xScale) + this.bottomLeft.x);\r
515 end_y1 = Clazz.doubleToInt (this.bottomLeft.y - (y * this.yScale));\r
516 g.drawLine (screen_x[0], screen_y[0], end_x1, end_y1);\r
517 screen_x[0] = end_x1;\r
518 screen_y[0] = end_y1;\r
519 }, "~N,~N,~A,~A,java.awt.Graphics");\r
520 Clazz.overrideMethod (c$, "mousePressed", \r
521 function (e) {\r
522 this.mouseOn = true;\r
523 e.consume ();\r
524 this.gx = e.getX ();\r
525 this.deltaB = ((this.gx - this.bottomLeft.x) / this.xScale) + this.start_x;\r
526 if ((this.deltaB >= this.start_x) && (this.deltaB <= this.end_x)) {\r
527 this.x1 = this.deltaB;\r
528 this.y1 = this.x1;\r
529 this.y2 = swingjs.test.Test_3.CalcF4T1g (this.x1);\r
530 this.y3 = swingjs.test.Test_3.CalcP4T1g (this.x1);\r
531 this.fE = swingjs.test.Test_3.CalcG2Eg (this.x1);\r
532 this.fT1 = swingjs.test.Test_3.CalcG2T1g (this.x1);\r
533 this.fT2 = swingjs.test.Test_3.CalcG2T2g (this.x1);\r
534 this.fA1 = swingjs.test.Test_3.CalcG2A1g (this.x1);\r
535 this.fT2b = swingjs.test.Test_3.CalcD2T2g (this.x1);\r
536 this.fT2H = swingjs.test.Test_3.CalcH2T2g (this.x1);\r
537 this.fEH = swingjs.test.Test_3.CalcH2Eg (this.x1);\r
538 this.fT1H = swingjs.test.Test_3.CalcH2T1g (this.x1);\r
539 this.ratio21 = this.y2 / this.y1;\r
540 this.ratio31 = this.y3 / this.y1;\r
541 this.ratio32 = this.y3 / this.y2;\r
542 this.repaint ();\r
543 }}, "java.awt.event.MouseEvent");\r
544 Clazz.overrideMethod (c$, "mouseEntered", \r
545 function (e) {\r
546 }, "java.awt.event.MouseEvent");\r
547 Clazz.overrideMethod (c$, "mouseExited", \r
548 function (e) {\r
549 }, "java.awt.event.MouseEvent");\r
550 Clazz.overrideMethod (c$, "mouseClicked", \r
551 function (e) {\r
552 }, "java.awt.event.MouseEvent");\r
553 Clazz.overrideMethod (c$, "mouseReleased", \r
554 function (e) {\r
555 }, "java.awt.event.MouseEvent");\r
556 Clazz.overrideMethod (c$, "mouseDragged", \r
557 function (e) {\r
558 this.mousePressed (e);\r
559 }, "java.awt.event.MouseEvent");\r
560 Clazz.overrideMethod (c$, "mouseMoved", \r
561 function (e) {\r
562 }, "java.awt.event.MouseEvent");\r
563 c$ = Clazz.decorateAsClass (function () {\r
564 this.s = null;\r
565 this.e = null;\r
566 this.f1 = null;\r
567 this.f2 = null;\r
568 this.canvas = null;\r
569 this.bg0 = null;\r
570 this.bg5 = null;\r
571 this.bg = null;\r
572 Clazz.instantialize (this, arguments);\r
573 }, swingjs.test, "Test_3Controls", javax.swing.JPanel, [java.awt.event.ItemListener, javax.swing.event.DocumentListener]);\r
574 Clazz.makeConstructor (c$, \r
575 function (canvas) {\r
576 Clazz.superConstructor (this, swingjs.test.Test_3Controls, []);\r
577 this.setLayout ( new java.awt.FlowLayout ());\r
578 this.setName ("T3d3Controls");\r
579 this.canvas = canvas;\r
580 this.f1 =  new javax.swing.JTextField ("0");\r
581 this.f1.setFont ( new java.awt.Font ("Arial", 0, 15));\r
582 this.add ( new javax.swing.JLabel ("from"));\r
583 this.add (this.f1);\r
584 this.f1.setPreferredSize ( new java.awt.Dimension (25, 19));\r
585 this.f1.getDocument ().addDocumentListener (this);\r
586 this.f1.addCaretListener (((Clazz.isClassDefined ("swingjs.test.Test_3Controls$1") ? 0 : swingjs.test.Test_3Controls.$Test_3Controls$1$ ()), Clazz.innerTypeInstance (swingjs.test.Test_3Controls$1, this, null)));\r
587 this.f1.addPropertyChangeListener (((Clazz.isClassDefined ("swingjs.test.Test_3Controls$2") ? 0 : swingjs.test.Test_3Controls.$Test_3Controls$2$ ()), Clazz.innerTypeInstance (swingjs.test.Test_3Controls$2, this, null)));\r
588 this.add ( new javax.swing.JLabel ("to"));\r
589 this.f2 =  new javax.swing.JTextField ("50");\r
590 this.f2.setFont ( new java.awt.Font ("Arial", 0, 15));\r
591 this.add (this.f2);\r
592 this.f2.setPreferredSize ( new java.awt.Dimension (25, 19));\r
593 this.f2.getDocument ().addDocumentListener (this);\r
594 var c =  new javax.swing.JCheckBox ("white");\r
595 c.addItemListener (this);\r
596 c.setFont ( new java.awt.Font ("Arial", 0, 15));\r
597 this.add (c);\r
598 this.bg =  new javax.swing.ButtonGroup ();\r
599 this.bg0 = this.addButton (this.bg, "0-50", true);\r
600 this.addButton (this.bg, "0-10", false);\r
601 this.addButton (this.bg, "10-20", false);\r
602 this.addButton (this.bg, "20-30", false);\r
603 this.addButton (this.bg, "30-40", false);\r
604 this.bg5 = this.addButton (this.bg, "40-50", false);\r
605 var enableBtn =  new javax.swing.JButton ("Enable");\r
606 this.add (enableBtn);\r
607 enableBtn.addActionListener (((Clazz.isClassDefined ("swingjs.test.Test_3Controls$3") ? 0 : swingjs.test.Test_3Controls.$Test_3Controls$3$ ()), Clazz.innerTypeInstance (swingjs.test.Test_3Controls$3, this, Clazz.cloneFinals ("enableBtn", enableBtn))));\r
608 this.setVisible (true);\r
609 }, "swingjs.test.Test_3Canvas");\r
610 Clazz.overrideMethod (c$, "insertUpdate", \r
611 function (evt) {\r
612 this.resetGraph ();\r
613 }, "javax.swing.event.DocumentEvent");\r
614 Clazz.overrideMethod (c$, "removeUpdate", \r
615 function (evt) {\r
616 this.resetGraph ();\r
617 }, "javax.swing.event.DocumentEvent");\r
618 Clazz.defineMethod (c$, "resetGraph", \r
619  function () {\r
620 this.canvas.setRange (this.f1.getText () + "-" + this.f2.getText ());\r
621 this.canvas.repaint ();\r
622 });\r
623 Clazz.overrideMethod (c$, "changedUpdate", \r
624 function (evt) {\r
625 System.out.println ("Test_3.JTextField changed " + this.f1.getText ());\r
626 }, "javax.swing.event.DocumentEvent");\r
627 Clazz.defineMethod (c$, "addButton", \r
628  function (bg, text, b) {\r
629 var c;\r
630 bg.add (c =  new javax.swing.JRadioButton (text, b));\r
631 c.setName (text);\r
632 this.add (c);\r
633 c.setEnabled (false);\r
634 c.addItemListener (this);\r
635 c.setFont ( new java.awt.Font ("Arial", 0, 15));\r
636 return c;\r
637 }, "javax.swing.ButtonGroup,~S,~B");\r
638 Clazz.overrideMethod (c$, "itemStateChanged", \r
639 function (e) {\r
640 if (Clazz.instanceOf (e.getSource (), javax.swing.JCheckBox)) {\r
641 if ((e.getSource ()).isSelected ()) {\r
642 this.canvas.backgroundColor = java.awt.Color.white;\r
643 } else {\r
644 this.canvas.backgroundColor = this.canvas.ltgrey;\r
645 }this.canvas.repaint ();\r
646 return;\r
647 }if (Clazz.instanceOf (e.getSource (), javax.swing.JRadioButton) && e.getStateChange () == 1) {\r
648 this.canvas.setRange ((e.getItemSelectable ()).getText ());\r
649 var start = this.canvas.start_x;\r
650 var end = this.canvas.end_x;\r
651 this.f1.setText ("" + start);\r
652 this.f2.setText ("" + end);\r
653 this.canvas.repaint ();\r
654 }}, "java.awt.event.ItemEvent");\r
655 c$.$Test_3Controls$1$ = function () {\r
656 Clazz.pu$h(self.c$);\r
657 c$ = Clazz.declareAnonymous (swingjs.test, "Test_3Controls$1", null, javax.swing.event.CaretListener);\r
658 Clazz.overrideMethod (c$, "caretUpdate", \r
659 function (e) {\r
660 System.out.println ("Test_3.JTextField caretEvent " + e.getDot () + " " + e.getMark ());\r
661 }, "javax.swing.event.CaretEvent");\r
662 c$ = Clazz.p0p ();\r
663 };\r
664 c$.$Test_3Controls$2$ = function () {\r
665 Clazz.pu$h(self.c$);\r
666 c$ = Clazz.declareAnonymous (swingjs.test, "Test_3Controls$2", null, java.beans.PropertyChangeListener);\r
667 Clazz.overrideMethod (c$, "propertyChange", \r
668 function (evt) {\r
669 System.out.println ("Test_3.JTextField property change " + evt.getPropertyName () + " " + this.b$["swingjs.test.Test_3Controls"].f1.getText ());\r
670 }, "java.beans.PropertyChangeEvent");\r
671 c$ = Clazz.p0p ();\r
672 };\r
673 c$.$Test_3Controls$3$ = function () {\r
674 Clazz.pu$h(self.c$);\r
675 c$ = Clazz.declareAnonymous (swingjs.test, "Test_3Controls$3", null, java.awt.event.ActionListener);\r
676 Clazz.overrideMethod (c$, "actionPerformed", \r
677 function (e) {\r
678 this.enableButtons (this.f$.enableBtn.getText ().equals ("Enable"));\r
679 }, "java.awt.event.ActionEvent");\r
680 Clazz.defineMethod (c$, "enableButtons", \r
681  function (isEnable) {\r
682 var x = this.b$["swingjs.test.Test_3Controls"].bg.getElements ();\r
683 while (x.hasMoreElements ()) x.nextElement ().setEnabled (isEnable);\r
684 \r
685 this.f$.enableBtn.setText (isEnable ? "Disable" : "Enable");\r
686 }, "~B");\r
687 c$ = Clazz.p0p ();\r
688 };\r
689 });\r