JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / jalview / appletgui / SliderPanel.js
1 Clazz.declarePackage ("jalview.appletgui");\r
2 Clazz.load (["awt2swing.Panel", "java.awt.event.ActionListener", "$.AdjustmentListener", "$.MouseListener", "awt2swing.Button", "$.Checkbox", "$.Label", "$.Scrollbar", "$.TextField", "java.awt.BorderLayout", "$.FlowLayout"], "jalview.appletgui.SliderPanel", ["awt2swing.Frame", "jalview.bin.JalviewLite", "jalview.util.MessageManager", "java.awt.Color", "$.Font", "java.awt.event.WindowAdapter"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.ap = null;\r
5 this.forConservation = true;\r
6 this.cs = null;\r
7 this.slider = null;\r
8 this.valueField = null;\r
9 this.label = null;\r
10 this.jPanel1 = null;\r
11 this.jPanel2 = null;\r
12 this.applyButton = null;\r
13 this.undoButton = null;\r
14 this.flowLayout1 = null;\r
15 this.allGroupsCheck = null;\r
16 this.borderLayout1 = null;\r
17 this.borderLayout2 = null;\r
18 this.flowLayout2 = null;\r
19 Clazz.instantialize (this, arguments);\r
20 }, jalview.appletgui, "SliderPanel", awt2swing.Panel, [java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.MouseListener]);\r
21 Clazz.prepareFields (c$, function () {\r
22 this.slider =  new awt2swing.Scrollbar ();\r
23 this.valueField =  new awt2swing.TextField ();\r
24 this.label =  new awt2swing.Label ();\r
25 this.jPanel1 =  new awt2swing.Panel ();\r
26 this.jPanel2 =  new awt2swing.Panel ();\r
27 this.applyButton =  new awt2swing.Button ();\r
28 this.undoButton =  new awt2swing.Button ();\r
29 this.flowLayout1 =  new java.awt.FlowLayout ();\r
30 this.allGroupsCheck =  new awt2swing.Checkbox ();\r
31 this.borderLayout1 =  new java.awt.BorderLayout ();\r
32 this.borderLayout2 =  new java.awt.BorderLayout ();\r
33 this.flowLayout2 =  new java.awt.FlowLayout ();\r
34 });\r
35 c$.setConservationSlider = Clazz.defineMethod (c$, "setConservationSlider", \r
36 function (ap, cs, source) {\r
37 var sp = null;\r
38 if (jalview.appletgui.SliderPanel.conservationSlider == null) {\r
39 sp =  new jalview.appletgui.SliderPanel (ap, cs.getConservationInc (), true, cs);\r
40 jalview.appletgui.SliderPanel.conservationSlider =  new awt2swing.Frame ();\r
41 jalview.appletgui.SliderPanel.conservationSlider.add (sp);\r
42 } else {\r
43 sp = jalview.appletgui.SliderPanel.conservationSlider.getComponent (0);\r
44 sp.cs = cs;\r
45 }jalview.appletgui.SliderPanel.conservationSlider.setTitle (jalview.util.MessageManager.formatMessage ("label.conservation_colour_increment",  Clazz.newArray (-1, [source])));\r
46 if (ap.av.getAlignment ().getGroups () != null) {\r
47 sp.setAllGroupsCheckEnabled (true);\r
48 } else {\r
49 sp.setAllGroupsCheckEnabled (false);\r
50 }return sp.getValue ();\r
51 }, "jalview.appletgui.AlignmentPanel,jalview.schemes.ColourSchemeI,~S");\r
52 c$.showConservationSlider = Clazz.defineMethod (c$, "showConservationSlider", \r
53 function () {\r
54 try {\r
55 jalview.appletgui.SliderPanel.PIDSlider.setVisible (false);\r
56 jalview.appletgui.SliderPanel.PIDSlider = null;\r
57 } catch (ex) {\r
58 if (Clazz.exceptionOf (ex, Exception)) {\r
59 } else {\r
60 throw ex;\r
61 }\r
62 }\r
63 if (!jalview.appletgui.SliderPanel.conservationSlider.isVisible ()) {\r
64 jalview.bin.JalviewLite.addFrame (jalview.appletgui.SliderPanel.conservationSlider, jalview.appletgui.SliderPanel.conservationSlider.getTitle (), 420, 100);\r
65 jalview.appletgui.SliderPanel.conservationSlider.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.SliderPanel$1") ? 0 : jalview.appletgui.SliderPanel.$SliderPanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.SliderPanel$1, this, null)));\r
66 }});\r
67 c$.setPIDSliderSource = Clazz.defineMethod (c$, "setPIDSliderSource", \r
68 function (ap, cs, source) {\r
69 var pid = null;\r
70 if (jalview.appletgui.SliderPanel.PIDSlider == null) {\r
71 pid =  new jalview.appletgui.SliderPanel (ap, 50, false, cs);\r
72 jalview.appletgui.SliderPanel.PIDSlider =  new awt2swing.Frame ();\r
73 jalview.appletgui.SliderPanel.PIDSlider.add (pid);\r
74 } else {\r
75 pid = jalview.appletgui.SliderPanel.PIDSlider.getComponent (0);\r
76 pid.cs = cs;\r
77 }jalview.appletgui.SliderPanel.PIDSlider.setTitle (jalview.util.MessageManager.formatMessage ("label.percentage_identity_thereshold",  Clazz.newArray (-1, [source])));\r
78 if (ap.av.getAlignment ().getGroups () != null) {\r
79 pid.setAllGroupsCheckEnabled (true);\r
80 } else {\r
81 pid.setAllGroupsCheckEnabled (false);\r
82 }return pid.getValue ();\r
83 }, "jalview.appletgui.AlignmentPanel,jalview.schemes.ColourSchemeI,~S");\r
84 c$.showPIDSlider = Clazz.defineMethod (c$, "showPIDSlider", \r
85 function () {\r
86 try {\r
87 jalview.appletgui.SliderPanel.conservationSlider.setVisible (false);\r
88 jalview.appletgui.SliderPanel.conservationSlider = null;\r
89 } catch (ex) {\r
90 if (Clazz.exceptionOf (ex, Exception)) {\r
91 } else {\r
92 throw ex;\r
93 }\r
94 }\r
95 if (!jalview.appletgui.SliderPanel.PIDSlider.isVisible ()) {\r
96 jalview.bin.JalviewLite.addFrame (jalview.appletgui.SliderPanel.PIDSlider, jalview.appletgui.SliderPanel.PIDSlider.getTitle (), 420, 100);\r
97 jalview.appletgui.SliderPanel.PIDSlider.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.SliderPanel$2") ? 0 : jalview.appletgui.SliderPanel.$SliderPanel$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.SliderPanel$2, this, null)));\r
98 }});\r
99 Clazz.makeConstructor (c$, \r
100 function (ap, value, forConserve, cs) {\r
101 Clazz.superConstructor (this, jalview.appletgui.SliderPanel, []);\r
102 try {\r
103 this.jbInit ();\r
104 } catch (e) {\r
105 if (Clazz.exceptionOf (e, Exception)) {\r
106 e.printStackTrace ();\r
107 } else {\r
108 throw e;\r
109 }\r
110 }\r
111 this.ap = ap;\r
112 this.cs = cs;\r
113 this.forConservation = forConserve;\r
114 this.undoButton.setVisible (false);\r
115 this.applyButton.setVisible (false);\r
116 if (this.forConservation) {\r
117 this.label.setText (jalview.util.MessageManager.getString ("label.modify_conservation_visibility"));\r
118 this.slider.setMinimum (0);\r
119 this.slider.setMaximum (50 + this.slider.getVisibleAmount ());\r
120 this.slider.setUnitIncrement (1);\r
121 } else {\r
122 this.label.setText (jalview.util.MessageManager.getString ("label.colour_residues_above_occurence"));\r
123 this.slider.setMinimum (0);\r
124 this.slider.setMaximum (100 + this.slider.getVisibleAmount ());\r
125 this.slider.setBlockIncrement (1);\r
126 }this.slider.addAdjustmentListener (this);\r
127 this.slider.addMouseListener (this);\r
128 this.slider.setValue (value);\r
129 this.valueField.setText (value + "");\r
130 }, "jalview.appletgui.AlignmentPanel,~N,~B,jalview.schemes.ColourSchemeI");\r
131 Clazz.defineMethod (c$, "valueChanged", \r
132 function (i) {\r
133 if (this.cs == null) {\r
134 return;\r
135 }var toChange = this.cs;\r
136 var allGroups = null;\r
137 if (this.allGroupsCheck.getState ()) {\r
138 allGroups = this.ap.av.getAlignment ().getGroups ().listIterator ();\r
139 }while (toChange != null) {\r
140 if (this.forConservation) {\r
141 toChange.setConservationInc (i);\r
142 } else {\r
143 toChange.setThreshold (i, this.ap.av.isIgnoreGapsConsensus ());\r
144 }if (allGroups != null && allGroups.hasNext ()) {\r
145 while ((toChange = allGroups.next ().cs) == null && allGroups.hasNext ()) {\r
146 ;}\r
147 } else {\r
148 toChange = null;\r
149 }}\r
150 this.ap.seqPanel.seqCanvas.repaint ();\r
151 }, "~N");\r
152 Clazz.defineMethod (c$, "setAllGroupsCheckEnabled", \r
153 function (b) {\r
154 this.allGroupsCheck.setEnabled (b);\r
155 }, "~B");\r
156 Clazz.overrideMethod (c$, "actionPerformed", \r
157 function (evt) {\r
158 if (evt.getSource () === this.applyButton) {\r
159 this.applyButton_actionPerformed ();\r
160 } else if (evt.getSource () === this.undoButton) {\r
161 this.undoButton_actionPerformed ();\r
162 } else if (evt.getSource () === this.valueField) {\r
163 this.valueField_actionPerformed ();\r
164 }}, "java.awt.event.ActionEvent");\r
165 Clazz.overrideMethod (c$, "adjustmentValueChanged", \r
166 function (evt) {\r
167 this.valueField.setText (this.slider.getValue () + "");\r
168 this.valueChanged (this.slider.getValue ());\r
169 }, "java.awt.event.AdjustmentEvent");\r
170 Clazz.defineMethod (c$, "valueField_actionPerformed", \r
171 function () {\r
172 try {\r
173 var i = Integer.parseInt (this.valueField.getText ());\r
174 this.slider.setValue (i);\r
175 } catch (ex) {\r
176 if (Clazz.exceptionOf (ex, Exception)) {\r
177 this.valueField.setText (this.slider.getValue () + "");\r
178 } else {\r
179 throw ex;\r
180 }\r
181 }\r
182 });\r
183 Clazz.defineMethod (c$, "setValue", \r
184 function (value) {\r
185 this.slider.setValue (value);\r
186 }, "~N");\r
187 Clazz.defineMethod (c$, "getValue", \r
188 function () {\r
189 return Integer.parseInt (this.valueField.getText ());\r
190 });\r
191 Clazz.defineMethod (c$, "jbInit", \r
192 ($fz = function () {\r
193 this.setLayout (this.borderLayout2);\r
194 this.slider.setBackground (java.awt.Color.white);\r
195 this.slider.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
196 this.slider.setOrientation (0);\r
197 this.valueField.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
198 this.valueField.setText ("   ");\r
199 this.valueField.addActionListener (this);\r
200 this.valueField.setColumns (3);\r
201 this.label.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
202 this.label.setText (jalview.util.MessageManager.getString ("label.set_this_label_text"));\r
203 this.jPanel1.setLayout (this.borderLayout1);\r
204 this.jPanel2.setLayout (this.flowLayout1);\r
205 this.applyButton.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
206 this.applyButton.setLabel (jalview.util.MessageManager.getString ("action.apply"));\r
207 this.applyButton.addActionListener (this);\r
208 this.undoButton.setEnabled (false);\r
209 this.undoButton.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
210 this.undoButton.setLabel (jalview.util.MessageManager.getString ("action.undo"));\r
211 this.undoButton.addActionListener (this);\r
212 this.allGroupsCheck.setEnabled (false);\r
213 this.allGroupsCheck.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
214 this.allGroupsCheck.setLabel (jalview.util.MessageManager.getString ("action.apply_threshold_all_groups"));\r
215 this.allGroupsCheck.setName (jalview.util.MessageManager.getString ("action.apply_all_groups"));\r
216 this.setBackground (java.awt.Color.white);\r
217 this.setForeground (java.awt.Color.black);\r
218 this.jPanel2.add (this.label, null);\r
219 this.jPanel2.add (this.applyButton, null);\r
220 this.jPanel2.add (this.undoButton, null);\r
221 this.jPanel2.add (this.allGroupsCheck);\r
222 this.jPanel1.add (this.valueField, "East");\r
223 this.jPanel1.add (this.slider, "Center");\r
224 this.add (this.jPanel1, "South");\r
225 this.add (this.jPanel2, "Center");\r
226 }, $fz.isPrivate = true, $fz));\r
227 Clazz.defineMethod (c$, "applyButton_actionPerformed", \r
228 function () {\r
229 });\r
230 Clazz.defineMethod (c$, "undoButton_actionPerformed", \r
231 function () {\r
232 });\r
233 Clazz.overrideMethod (c$, "mousePressed", \r
234 function (evt) {\r
235 }, "java.awt.event.MouseEvent");\r
236 Clazz.overrideMethod (c$, "mouseReleased", \r
237 function (evt) {\r
238 this.ap.paintAlignment (true);\r
239 }, "java.awt.event.MouseEvent");\r
240 Clazz.overrideMethod (c$, "mouseClicked", \r
241 function (evt) {\r
242 }, "java.awt.event.MouseEvent");\r
243 Clazz.overrideMethod (c$, "mouseEntered", \r
244 function (evt) {\r
245 }, "java.awt.event.MouseEvent");\r
246 Clazz.overrideMethod (c$, "mouseExited", \r
247 function (evt) {\r
248 }, "java.awt.event.MouseEvent");\r
249 c$.$SliderPanel$1$ = function () {\r
250 Clazz.pu$h ();\r
251 c$ = Clazz.declareAnonymous (jalview.appletgui, "SliderPanel$1", java.awt.event.WindowAdapter);\r
252 Clazz.overrideMethod (c$, "windowClosing", \r
253 function (e) {\r
254 jalview.appletgui.SliderPanel.conservationSlider = null;\r
255 }, "java.awt.event.WindowEvent");\r
256 c$ = Clazz.p0p ();\r
257 };\r
258 c$.$SliderPanel$2$ = function () {\r
259 Clazz.pu$h ();\r
260 c$ = Clazz.declareAnonymous (jalview.appletgui, "SliderPanel$2", java.awt.event.WindowAdapter);\r
261 Clazz.overrideMethod (c$, "windowClosing", \r
262 function (e) {\r
263 jalview.appletgui.SliderPanel.PIDSlider = null;\r
264 }, "java.awt.event.WindowEvent");\r
265 c$ = Clazz.p0p ();\r
266 };\r
267 Clazz.defineStatics (c$,\r
268 "conservationSlider", null,\r
269 "PIDSlider", null);\r
270 });\r