JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / jalview / appletgui / AlignFrame.js
1 Clazz.declarePackage ("jalview.appletgui");\r
2 Clazz.load (["awt2swing.Canvas", "jalview.api.AlignViewControllerGuiI", "jalview.appletgui.EmbmenuFrame", "java.awt.event.ActionListener", "$.ItemListener", "$.KeyListener", "awt2swing.CheckboxMenuItem", "$.Label", "$.Menu", "$.MenuBar", "$.MenuItem", "jalview.util.MessageManager", "java.awt.BorderLayout"], "jalview.appletgui.AlignFrame", ["awt2swing.Frame", "jalview.analysis.AlignmentSorter", "$.AnnotationSorter", "jalview.appletgui.AlignViewport", "$.AlignmentPanel", "$.AnnotationColourChooser", "$.AnnotationColumnChooser", "$.AppletJmol", "$.CutAndPasteTransfer", "$.FeatureSettings", "$.Finder", "$.FontChooser", "$.OverviewPanel", "$.PCAPanel", "$.PaintRefresher", "$.PairwiseAlignPanel", "$.RedundancyPanel", "$.SliderPanel", "$.TreePanel", "$.UserDefinedColours", "jalview.bin.JalviewLite", "jalview.commands.EditCommand", "$.OrderCommand", "$.RemoveGapColCommand", "$.RemoveGapsCommand", "$.SlideSequencesCommand", "$.TrimRegionCommand", "jalview.controller.AlignViewController", "jalview.datamodel.Alignment", "$.PDBEntry", "$.Sequence", "$.SequenceGroup", "jalview.io.AlignmentProperties", "$.AnnotationFile", "$.AppletFormatAdapter", "$.FeaturesFile", "jalview.jsdev.GenericFileAdapter", "jalview.schemes.Blosum62ColourScheme", "$.BuriedColourScheme", "$.ClustalxColourScheme", "$.HelixColourScheme", "$.HydrophobicColourScheme", "$.NucleotideColourScheme", "$.PIDColourScheme", "$.PurinePyrimidineColourScheme", "$.RNAHelicesColourChooser", "$.RNAInteractionColourScheme", "$.StrandColourScheme", "$.TCoffeeColourScheme", "$.TaylorColourScheme", "$.TurnColourScheme", "$.ZappoColourScheme", "jalview.structure.StructureSelectionManager", "jalview.util.Comparison", "$.MappingUtils", "java.awt.Color", "$.Font", "java.awt.event.FocusListener", "$.WindowAdapter", "java.lang.Character", "$.StringBuffer", "java.net.URL", "$.URLEncoder", "java.util.Arrays", "$.HashMap", "$.Hashtable", "$.StringTokenizer", "$.Vector"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.avc = null;\r
5 this.alignPanel = null;\r
6 this.viewport = null;\r
7 this.frameWidth = 700;\r
8 this.frameHeight = 500;\r
9 this.jalviewServletURL = null;\r
10 this.showAutoCalculatedAbove = false;\r
11 this.annotationSortOrder = null;\r
12 this.alignFrameMenuBar = null;\r
13 this.fileMenu = null;\r
14 this.loadApplication = null;\r
15 this.$loadTree = null;\r
16 this.$loadAnnotations = null;\r
17 this.$outputFeatures = null;\r
18 this.$outputAnnotations = null;\r
19 this.closeMenuItem = null;\r
20 this.selectAllSequenceMenuItem = null;\r
21 this.deselectAllSequenceMenuItem = null;\r
22 this.invertSequenceMenuItem = null;\r
23 this.remove2LeftMenuItem = null;\r
24 this.remove2RightMenuItem = null;\r
25 this.removeGappedColumnMenuItem = null;\r
26 this.removeAllGapsMenuItem = null;\r
27 this.viewBoxesMenuItem = null;\r
28 this.viewTextMenuItem = null;\r
29 this.sortPairwiseMenuItem = null;\r
30 this.sortIDMenuItem = null;\r
31 this.sortLengthMenuItem = null;\r
32 this.sortGroupMenuItem = null;\r
33 this.removeRedundancyMenuItem = null;\r
34 this.pairwiseAlignmentMenuItem = null;\r
35 this.PCAMenuItem = null;\r
36 this.averageDistanceTreeMenuItem = null;\r
37 this.neighbourTreeMenuItem = null;\r
38 this.borderLayout1 = null;\r
39 this.statusBar = null;\r
40 this.clustalColour = null;\r
41 this.zappoColour = null;\r
42 this.taylorColour = null;\r
43 this.hydrophobicityColour = null;\r
44 this.helixColour = null;\r
45 this.strandColour = null;\r
46 this.turnColour = null;\r
47 this.buriedColour = null;\r
48 this.purinePyrimidineColour = null;\r
49 this.RNAInteractionColour = null;\r
50 this.RNAHelixColour = null;\r
51 this.userDefinedColour = null;\r
52 this.PIDColour = null;\r
53 this.BLOSUM62Colour = null;\r
54 this.tcoffeeColour = null;\r
55 this.njTreeBlosumMenuItem = null;\r
56 this.avDistanceTreeBlosumMenuItem = null;\r
57 this.annotationPanelMenuItem = null;\r
58 this.colourTextMenuItem = null;\r
59 this.displayNonconservedMenuItem = null;\r
60 this.alProperties = null;\r
61 this.overviewMenuItem = null;\r
62 this.undoMenuItem = null;\r
63 this.redoMenuItem = null;\r
64 this.conservationMenuItem = null;\r
65 this.noColourmenuItem = null;\r
66 this.wrapMenuItem = null;\r
67 this.renderGapsMenuItem = null;\r
68 this.findMenuItem = null;\r
69 this.abovePIDThreshold = null;\r
70 this.nucleotideColour = null;\r
71 this.deleteGroups = null;\r
72 this.grpsFromSelection = null;\r
73 this.createGroup = null;\r
74 this.unGroup = null;\r
75 this.$delete = null;\r
76 this.copy = null;\r
77 this.cut = null;\r
78 this.pasteMenu = null;\r
79 this.pasteNew = null;\r
80 this.pasteThis = null;\r
81 this.applyToAllGroups = null;\r
82 this.$font = null;\r
83 this.scaleAbove = null;\r
84 this.scaleLeft = null;\r
85 this.scaleRight = null;\r
86 this.modifyPID = null;\r
87 this.modifyConservation = null;\r
88 this.autoCalculate = null;\r
89 this.$sortByTree = null;\r
90 this.sortByTreeMenu = null;\r
91 this.inputText = null;\r
92 this.documentation = null;\r
93 this.about = null;\r
94 this.seqLimits = null;\r
95 this.centreColumnLabelFlag = null;\r
96 this.followMouseOverFlag = null;\r
97 this.showSequenceLogo = null;\r
98 this.applyAutoAnnotationSettings = null;\r
99 this.showConsensusHistogram = null;\r
100 this.showGroupConsensus = null;\r
101 this.showGroupConservation = null;\r
102 this.normSequenceLogo = null;\r
103 this.featureSettings = null;\r
104 this.sequenceFeatures = null;\r
105 this.annotationColour = null;\r
106 this.annotationColumnSelection = null;\r
107 this.invertColSel = null;\r
108 this.showColumns = null;\r
109 this.showSeqs = null;\r
110 this.hideColumns = null;\r
111 this.hideSequences = null;\r
112 this.hideAllButSelection = null;\r
113 this.hideAllSelection = null;\r
114 this.showAllHidden = null;\r
115 this.$newView = null;\r
116 this.showAlignmentAnnotations = null;\r
117 this.showSequenceAnnotations = null;\r
118 this.sortAnnBySequence = null;\r
119 this.sortAnnByLabel = null;\r
120 this.showAutoFirst = null;\r
121 this.showAutoLast = null;\r
122 this.splitFrame = null;\r
123 Clazz.instantialize (this, arguments);\r
124 }, jalview.appletgui, "AlignFrame", jalview.appletgui.EmbmenuFrame, [java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, jalview.api.AlignViewControllerGuiI]);\r
125 Clazz.prepareFields (c$, function () {\r
126 this.alignFrameMenuBar =  new awt2swing.MenuBar ();\r
127 this.fileMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.file"));\r
128 this.loadApplication =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.view_full_application"));\r
129 this.$loadTree =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_associated_tree"));\r
130 this.$loadAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_features_annotations"));\r
131 this.$outputFeatures =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_features").concat ("..."));\r
132 this.$outputAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_annotations").concat ("..."));\r
133 this.closeMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.close"));\r
134 this.selectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.select_all"));\r
135 this.deselectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.deselect_all"));\r
136 this.invertSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.invert_selection"));\r
137 this.remove2LeftMenuItem =  new awt2swing.MenuItem ();\r
138 this.remove2RightMenuItem =  new awt2swing.MenuItem ();\r
139 this.removeGappedColumnMenuItem =  new awt2swing.MenuItem ();\r
140 this.removeAllGapsMenuItem =  new awt2swing.MenuItem ();\r
141 this.viewBoxesMenuItem =  new awt2swing.CheckboxMenuItem ();\r
142 this.viewTextMenuItem =  new awt2swing.CheckboxMenuItem ();\r
143 this.sortPairwiseMenuItem =  new awt2swing.MenuItem ();\r
144 this.sortIDMenuItem =  new awt2swing.MenuItem ();\r
145 this.sortLengthMenuItem =  new awt2swing.MenuItem ();\r
146 this.sortGroupMenuItem =  new awt2swing.MenuItem ();\r
147 this.removeRedundancyMenuItem =  new awt2swing.MenuItem ();\r
148 this.pairwiseAlignmentMenuItem =  new awt2swing.MenuItem ();\r
149 this.PCAMenuItem =  new awt2swing.MenuItem ();\r
150 this.averageDistanceTreeMenuItem =  new awt2swing.MenuItem ();\r
151 this.neighbourTreeMenuItem =  new awt2swing.MenuItem ();\r
152 this.borderLayout1 =  new java.awt.BorderLayout ();\r
153 this.statusBar =  new awt2swing.Label ();\r
154 this.clustalColour =  new awt2swing.MenuItem ();\r
155 this.zappoColour =  new awt2swing.MenuItem ();\r
156 this.taylorColour =  new awt2swing.MenuItem ();\r
157 this.hydrophobicityColour =  new awt2swing.MenuItem ();\r
158 this.helixColour =  new awt2swing.MenuItem ();\r
159 this.strandColour =  new awt2swing.MenuItem ();\r
160 this.turnColour =  new awt2swing.MenuItem ();\r
161 this.buriedColour =  new awt2swing.MenuItem ();\r
162 this.purinePyrimidineColour =  new awt2swing.MenuItem ();\r
163 this.RNAInteractionColour =  new awt2swing.MenuItem ();\r
164 this.RNAHelixColour =  new awt2swing.MenuItem ();\r
165 this.userDefinedColour =  new awt2swing.MenuItem ();\r
166 this.PIDColour =  new awt2swing.MenuItem ();\r
167 this.BLOSUM62Colour =  new awt2swing.MenuItem ();\r
168 this.tcoffeeColour =  new awt2swing.MenuItem ();\r
169 this.njTreeBlosumMenuItem =  new awt2swing.MenuItem ();\r
170 this.avDistanceTreeBlosumMenuItem =  new awt2swing.MenuItem ();\r
171 this.annotationPanelMenuItem =  new awt2swing.CheckboxMenuItem ();\r
172 this.colourTextMenuItem =  new awt2swing.CheckboxMenuItem ();\r
173 this.displayNonconservedMenuItem =  new awt2swing.CheckboxMenuItem ();\r
174 this.alProperties =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.alignment_props"));\r
175 this.overviewMenuItem =  new awt2swing.MenuItem ();\r
176 this.undoMenuItem =  new awt2swing.MenuItem ();\r
177 this.redoMenuItem =  new awt2swing.MenuItem ();\r
178 this.conservationMenuItem =  new awt2swing.CheckboxMenuItem ();\r
179 this.noColourmenuItem =  new awt2swing.MenuItem ();\r
180 this.wrapMenuItem =  new awt2swing.CheckboxMenuItem ();\r
181 this.renderGapsMenuItem =  new awt2swing.CheckboxMenuItem ();\r
182 this.findMenuItem =  new awt2swing.MenuItem ();\r
183 this.abovePIDThreshold =  new awt2swing.CheckboxMenuItem ();\r
184 this.nucleotideColour =  new awt2swing.MenuItem ();\r
185 this.deleteGroups =  new awt2swing.MenuItem ();\r
186 this.grpsFromSelection =  new awt2swing.MenuItem ();\r
187 this.createGroup =  new awt2swing.MenuItem ();\r
188 this.unGroup =  new awt2swing.MenuItem ();\r
189 this.$delete =  new awt2swing.MenuItem ();\r
190 this.copy =  new awt2swing.MenuItem ();\r
191 this.cut =  new awt2swing.MenuItem ();\r
192 this.pasteMenu =  new awt2swing.Menu ();\r
193 this.pasteNew =  new awt2swing.MenuItem ();\r
194 this.pasteThis =  new awt2swing.MenuItem ();\r
195 this.applyToAllGroups =  new awt2swing.CheckboxMenuItem ();\r
196 this.$font =  new awt2swing.MenuItem ();\r
197 this.scaleAbove =  new awt2swing.CheckboxMenuItem ();\r
198 this.scaleLeft =  new awt2swing.CheckboxMenuItem ();\r
199 this.scaleRight =  new awt2swing.CheckboxMenuItem ();\r
200 this.modifyPID =  new awt2swing.MenuItem ();\r
201 this.modifyConservation =  new awt2swing.MenuItem ();\r
202 this.$sortByTree =  new awt2swing.CheckboxMenuItem ("Sort Alignment With New Tree", true);\r
203 this.sortByTreeMenu =  new awt2swing.Menu ();\r
204 this.inputText =  new awt2swing.MenuItem ();\r
205 this.documentation =  new awt2swing.MenuItem ();\r
206 this.about =  new awt2swing.MenuItem ();\r
207 this.seqLimits =  new awt2swing.CheckboxMenuItem ();\r
208 this.centreColumnLabelFlag =  new awt2swing.CheckboxMenuItem ();\r
209 this.followMouseOverFlag =  new awt2swing.CheckboxMenuItem ();\r
210 this.showSequenceLogo =  new awt2swing.CheckboxMenuItem ();\r
211 this.applyAutoAnnotationSettings =  new awt2swing.CheckboxMenuItem ();\r
212 this.showConsensusHistogram =  new awt2swing.CheckboxMenuItem ();\r
213 this.showGroupConsensus =  new awt2swing.CheckboxMenuItem ();\r
214 this.showGroupConservation =  new awt2swing.CheckboxMenuItem ();\r
215 this.normSequenceLogo =  new awt2swing.CheckboxMenuItem ();\r
216 this.featureSettings =  new awt2swing.MenuItem ();\r
217 this.sequenceFeatures =  new awt2swing.CheckboxMenuItem ();\r
218 this.annotationColour =  new awt2swing.MenuItem ();\r
219 this.annotationColumnSelection =  new awt2swing.MenuItem ();\r
220 this.invertColSel =  new awt2swing.MenuItem ();\r
221 this.showColumns =  new awt2swing.MenuItem ();\r
222 this.showSeqs =  new awt2swing.MenuItem ();\r
223 this.hideColumns =  new awt2swing.MenuItem ();\r
224 this.hideSequences =  new awt2swing.MenuItem ();\r
225 this.hideAllButSelection =  new awt2swing.MenuItem ();\r
226 this.hideAllSelection =  new awt2swing.MenuItem ();\r
227 this.showAllHidden =  new awt2swing.MenuItem ();\r
228 this.$newView =  new awt2swing.MenuItem ();\r
229 });\r
230 Clazz.makeConstructor (c$, \r
231 function (al, applet, title, embedded) {\r
232 this.construct (al, applet, title, embedded, true);\r
233 }, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B");\r
234 Clazz.makeConstructor (c$, \r
235 function (al, applet, title, embedded, addToDisplay) {\r
236 this.construct (al, null, null, applet, title, embedded, addToDisplay);\r
237 }, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B,~B");\r
238 Clazz.makeConstructor (c$, \r
239 function (al, hiddenSeqs, columnSelection, applet, title, embedded) {\r
240 this.construct (al, hiddenSeqs, columnSelection, applet, title, embedded, true);\r
241 }, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B");\r
242 Clazz.makeConstructor (c$, \r
243 function (al, hiddenSeqs, columnSelection, applet, title, embedded, addToDisplay) {\r
244 Clazz.superConstructor (this, jalview.appletgui.AlignFrame, []);\r
245 if (applet != null) {\r
246 this.jalviewServletURL = applet.jalviewServletURL;\r
247 }try {\r
248 this.jbInit ();\r
249 } catch (ex) {\r
250 if (Clazz.exceptionOf (ex, Exception)) {\r
251 ex.printStackTrace ();\r
252 } else {\r
253 throw ex;\r
254 }\r
255 }\r
256 if (applet != null) {\r
257 var param;\r
258 try {\r
259 param = applet.windowWidth;\r
260 if (param != null) {\r
261 var width = Integer.parseInt (param);\r
262 this.frameWidth = width;\r
263 }param = applet.windowHeight;\r
264 if (param != null) {\r
265 var height = Integer.parseInt (param);\r
266 this.frameHeight = height;\r
267 }} catch (ex) {\r
268 if (Clazz.exceptionOf (ex, Exception)) {\r
269 } else {\r
270 throw ex;\r
271 }\r
272 }\r
273 }this.viewport =  new jalview.appletgui.AlignViewport (al, applet);\r
274 if (hiddenSeqs != null && hiddenSeqs.length > 0) {\r
275 this.viewport.hideSequence (hiddenSeqs);\r
276 }if (columnSelection != null) {\r
277 this.viewport.setColumnSelection (columnSelection);\r
278 }this.alignPanel =  new jalview.appletgui.AlignmentPanel (this, this.viewport);\r
279 this.avc =  new jalview.controller.AlignViewController (this, this.viewport, this.alignPanel);\r
280 this.viewport.updateConservation (this.alignPanel);\r
281 this.viewport.updateConsensus (this.alignPanel);\r
282 this.displayNonconservedMenuItem.setState (this.viewport.getShowUnconserved ());\r
283 this.followMouseOverFlag.setState (this.viewport.isFollowHighlight ());\r
284 this.showGroupConsensus.setState (this.viewport.isShowGroupConsensus ());\r
285 this.showGroupConservation.setState (this.viewport.isShowGroupConservation ());\r
286 this.showConsensusHistogram.setState (this.viewport.isShowConsensusHistogram ());\r
287 this.showSequenceLogo.setState (this.viewport.isShowSequenceLogo ());\r
288 this.normSequenceLogo.setState (this.viewport.isNormaliseSequenceLogo ());\r
289 this.applyToAllGroups.setState (this.viewport.getColourAppliesToAllGroups ());\r
290 this.annotationPanelMenuItem.setState (this.viewport.isShowAnnotation ());\r
291 this.showAlignmentAnnotations.setState (this.viewport.isShowAnnotation ());\r
292 this.showSequenceAnnotations.setState (this.viewport.isShowAnnotation ());\r
293 this.seqLimits.setState (this.viewport.getShowJVSuffix ());\r
294 if (applet != null) {\r
295 var param = applet.sortBy;\r
296 if (param != null) {\r
297 if (param.equalsIgnoreCase ("Id")) {\r
298 this.sortIDMenuItem_actionPerformed ();\r
299 } else if (param.equalsIgnoreCase ("Pairwise Identity")) {\r
300 this.sortPairwiseMenuItem_actionPerformed ();\r
301 } else if (param.equalsIgnoreCase ("Length")) {\r
302 this.sortLengthMenuItem_actionPerformed ();\r
303 }}param = applet.wrap;\r
304 if (param != null) {\r
305 if (param.equalsIgnoreCase ("true")) {\r
306 this.wrapMenuItem.setState (true);\r
307 this.wrapMenuItem_actionPerformed ();\r
308 }}param = applet.centrecolumnlabels;\r
309 if (param != null) {\r
310 this.centreColumnLabelFlag.setState (true);\r
311 this.centreColumnLabelFlag_stateChanged ();\r
312 }}if (this.viewport.getAlignment ().isNucleotide ()) {\r
313 this.viewport.updateStrucConsensus (this.alignPanel);\r
314 if (this.viewport.getAlignment ().hasRNAStructure ()) {\r
315 this.RNAHelixColour.setEnabled (true);\r
316 } else {\r
317 this.RNAHelixColour.setEnabled (false);\r
318 }} else {\r
319 this.RNAHelixColour.setEnabled (false);\r
320 this.purinePyrimidineColour.setEnabled (false);\r
321 }this.addKeyListener (this);\r
322 this.alignPanel.seqPanel.seqCanvas.addKeyListener (this);\r
323 this.alignPanel.idPanel.idCanvas.addKeyListener (this);\r
324 this.alignPanel.scalePanel.addKeyListener (this);\r
325 this.alignPanel.annotationPanel.addKeyListener (this);\r
326 this.alignPanel.annotationPanelHolder.addKeyListener (this);\r
327 this.alignPanel.annotationSpaceFillerHolder.addKeyListener (this);\r
328 this.alignPanel.alabels.addKeyListener (this);\r
329 if (addToDisplay) {\r
330 this.addToDisplay (embedded);\r
331 }}, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B,~B");\r
332 Clazz.defineMethod (c$, "addToDisplay", \r
333 function (embedded) {\r
334 this.createAlignFrameWindow (embedded);\r
335 this.validate ();\r
336 this.alignPanel.adjustAnnotationHeight ();\r
337 this.alignPanel.paintAlignment (true);\r
338 }, "~B");\r
339 Clazz.defineMethod (c$, "getAlignViewport", \r
340 function () {\r
341 return this.viewport;\r
342 });\r
343 Clazz.defineMethod (c$, "getSeqcanvas", \r
344 function () {\r
345 return this.alignPanel.seqPanel.seqCanvas;\r
346 });\r
347 Clazz.defineMethod (c$, "parseFeaturesFile", \r
348 function (file, type) {\r
349 return this.parseFeaturesFile (file, type, true);\r
350 }, "~S,~S");\r
351 Clazz.defineMethod (c$, "parseFeaturesFile", \r
352 function (file, type, autoenabledisplay) {\r
353 var featureLinks =  new java.util.Hashtable ();\r
354 var featuresFile = false;\r
355 try {\r
356 featuresFile =  new jalview.io.FeaturesFile (file, type).parse (this.viewport.getAlignment (), this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().getFeatureColours (), featureLinks, true, this.viewport.applet.getDefaultParameter ("relaxedidmatch", false));\r
357 } catch (ex) {\r
358 if (Clazz.exceptionOf (ex, Exception)) {\r
359 ex.printStackTrace ();\r
360 } else {\r
361 throw ex;\r
362 }\r
363 }\r
364 if (featuresFile) {\r
365 if (featureLinks.size () > 0) {\r
366 this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().featureLinks = featureLinks;\r
367 }if (autoenabledisplay) {\r
368 this.viewport.setShowSequenceFeatures (true);\r
369 this.sequenceFeatures.setState (true);\r
370 }if (this.alignPanel.seqPanel.seqCanvas.fr != null) {\r
371 this.alignPanel.seqPanel.seqCanvas.fr.findAllFeatures (true);\r
372 }if (this.viewport.featureSettings != null) {\r
373 this.viewport.featureSettings.refreshTable ();\r
374 }this.alignPanel.paintAlignment (true);\r
375 this.setStatus (jalview.util.MessageManager.getString ("label.successfully_added_features_alignment"));\r
376 }return featuresFile;\r
377 }, "~S,~S,~B");\r
378 Clazz.overrideMethod (c$, "keyPressed", \r
379 function (evt) {\r
380 if (this.viewport.cursorMode && ((evt.getKeyCode () >= 48 && evt.getKeyCode () <= 57) || (evt.getKeyCode () >= 96 && evt.getKeyCode () <= 105)) && Character.isDigit (evt.getKeyChar ())) {\r
381 this.alignPanel.seqPanel.numberPressed (evt.getKeyChar ());\r
382 }switch (evt.getKeyCode ()) {\r
383 case 27:\r
384 this.deselectAllSequenceMenuItem_actionPerformed ();\r
385 this.alignPanel.alabels.cancelDrag ();\r
386 break;\r
387 case 88:\r
388 if (evt.isControlDown () || evt.isMetaDown ()) {\r
389 this.cut_actionPerformed ();\r
390 }break;\r
391 case 67:\r
392 if (this.viewport.cursorMode && !evt.isControlDown ()) {\r
393 this.alignPanel.seqPanel.setCursorColumn ();\r
394 }if (evt.isControlDown () || evt.isMetaDown ()) {\r
395 this.copy_actionPerformed ();\r
396 }break;\r
397 case 86:\r
398 if (evt.isControlDown ()) {\r
399 this.paste (evt.isShiftDown ());\r
400 }break;\r
401 case 65:\r
402 if (evt.isControlDown () || evt.isMetaDown ()) {\r
403 this.selectAllSequenceMenuItem_actionPerformed ();\r
404 }break;\r
405 case 40:\r
406 if (this.viewport.cursorMode) {\r
407 this.alignPanel.seqPanel.moveCursor (0, 1);\r
408 } else {\r
409 this.moveSelectedSequences (false);\r
410 }break;\r
411 case 38:\r
412 if (this.viewport.cursorMode) {\r
413 this.alignPanel.seqPanel.moveCursor (0, -1);\r
414 } else {\r
415 this.moveSelectedSequences (true);\r
416 }break;\r
417 case 37:\r
418 if (evt.isAltDown () || !this.viewport.cursorMode) {\r
419 this.slideSequences (false, this.alignPanel.seqPanel.getKeyboardNo1 ());\r
420 } else {\r
421 this.alignPanel.seqPanel.moveCursor (-1, 0);\r
422 }break;\r
423 case 39:\r
424 if (evt.isAltDown () || !this.viewport.cursorMode) {\r
425 this.slideSequences (true, this.alignPanel.seqPanel.getKeyboardNo1 ());\r
426 } else {\r
427 this.alignPanel.seqPanel.moveCursor (1, 0);\r
428 }break;\r
429 case 32:\r
430 if (this.viewport.cursorMode) {\r
431 this.alignPanel.seqPanel.insertGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());\r
432 }break;\r
433 case 127:\r
434 case 8:\r
435 if (this.viewport.cursorMode) {\r
436 this.alignPanel.seqPanel.deleteGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());\r
437 } else {\r
438 this.cut_actionPerformed ();\r
439 this.alignPanel.seqPanel.seqCanvas.repaint ();\r
440 }break;\r
441 case 83:\r
442 if (this.viewport.cursorMode) {\r
443 this.alignPanel.seqPanel.setCursorRow ();\r
444 }break;\r
445 case 80:\r
446 if (this.viewport.cursorMode) {\r
447 this.alignPanel.seqPanel.setCursorPosition ();\r
448 }break;\r
449 case 10:\r
450 case 44:\r
451 if (this.viewport.cursorMode) {\r
452 this.alignPanel.seqPanel.setCursorRowAndColumn ();\r
453 }break;\r
454 case 81:\r
455 if (this.viewport.cursorMode) {\r
456 this.alignPanel.seqPanel.setSelectionAreaAtCursor (true);\r
457 }break;\r
458 case 77:\r
459 if (this.viewport.cursorMode) {\r
460 this.alignPanel.seqPanel.setSelectionAreaAtCursor (false);\r
461 }break;\r
462 case 113:\r
463 this.viewport.cursorMode = !this.viewport.cursorMode;\r
464 this.setStatus (jalview.util.MessageManager.formatMessage ("label.keyboard_editing_mode",  Clazz.newArray (-1, [(this.viewport.cursorMode ? "on" : "off")])));\r
465 if (this.viewport.cursorMode) {\r
466 this.alignPanel.seqPanel.seqCanvas.cursorX = this.viewport.startRes;\r
467 this.alignPanel.seqPanel.seqCanvas.cursorY = this.viewport.startSeq;\r
468 }break;\r
469 case 70:\r
470 if (evt.isControlDown ()) {\r
471 this.findMenuItem_actionPerformed ();\r
472 }break;\r
473 case 72:\r
474 {\r
475 var toggleSeqs = !evt.isControlDown ();\r
476 var toggleCols = !evt.isShiftDown ();\r
477 this.toggleHiddenRegions (toggleSeqs, toggleCols);\r
478 break;\r
479 }case 33:\r
480 if (this.viewport.getWrapAlignment ()) {\r
481 this.alignPanel.scrollUp (true);\r
482 } else {\r
483 this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq - this.viewport.endSeq + this.viewport.startSeq);\r
484 }break;\r
485 case 34:\r
486 if (this.viewport.getWrapAlignment ()) {\r
487 this.alignPanel.scrollUp (false);\r
488 } else {\r
489 this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq + this.viewport.endSeq - this.viewport.startSeq);\r
490 }break;\r
491 case 90:\r
492 if (evt.isControlDown ()) {\r
493 this.undoMenuItem_actionPerformed ();\r
494 }break;\r
495 case 89:\r
496 if (evt.isControlDown ()) {\r
497 this.redoMenuItem_actionPerformed ();\r
498 }break;\r
499 case 76:\r
500 if (evt.isControlDown ()) {\r
501 this.trimAlignment (true);\r
502 }break;\r
503 case 82:\r
504 if (evt.isControlDown ()) {\r
505 this.trimAlignment (false);\r
506 }break;\r
507 case 69:\r
508 if (evt.isControlDown ()) {\r
509 if (evt.isShiftDown ()) {\r
510 this.removeAllGapsMenuItem_actionPerformed ();\r
511 } else {\r
512 this.removeGappedColumnMenuItem_actionPerformed ();\r
513 }}break;\r
514 case 73:\r
515 if (evt.isControlDown ()) {\r
516 if (evt.isAltDown ()) {\r
517 this.invertColSel_actionPerformed ();\r
518 } else {\r
519 this.invertSequenceMenuItem_actionPerformed ();\r
520 }}break;\r
521 case 71:\r
522 if (evt.isControlDown ()) {\r
523 if (evt.isShiftDown ()) {\r
524 this.unGroup_actionPerformed ();\r
525 } else {\r
526 this.createGroup_actionPerformed ();\r
527 }}break;\r
528 case 85:\r
529 if (evt.isControlDown ()) {\r
530 this.deleteGroups_actionPerformed ();\r
531 }break;\r
532 case 84:\r
533 if (evt.isControlDown ()) {\r
534 this.newView (null);\r
535 }break;\r
536 }\r
537 this.alignPanel.paintAlignment (true);\r
538 }, "java.awt.event.KeyEvent");\r
539 Clazz.defineMethod (c$, "toggleHiddenRegions", \r
540  function (toggleSeqs, toggleCols) {\r
541 var hide = false;\r
542 var sg = this.viewport.getSelectionGroup ();\r
543 if (!toggleSeqs && !toggleCols) {\r
544 if ((this.viewport.getColumnSelection () != null && this.viewport.getColumnSelection ().getSelected () != null && this.viewport.getColumnSelection ().getSelected ().size () > 0) || (sg != null && sg.getSize () > 0 && sg.getStartRes () <= sg.getEndRes ())) {\r
545 if (sg != null) {\r
546 this.invertSequenceMenuItem_actionPerformed ();\r
547 sg = this.viewport.getSelectionGroup ();\r
548 toggleSeqs = true;\r
549 }this.viewport.expandColSelection (sg, true);\r
550 this.invertColSel_actionPerformed ();\r
551 toggleCols = true;\r
552 }}if (toggleSeqs) {\r
553 if (sg != null && sg.getSize () != this.viewport.getAlignment ().getHeight ()) {\r
554 hide = true;\r
555 this.viewport.hideAllSelectedSeqs ();\r
556 } else if (!(toggleCols && this.viewport.getColumnSelection ().getSelected ().size () > 0)) {\r
557 this.viewport.showAllHiddenSeqs ();\r
558 }}if (toggleCols) {\r
559 if (this.viewport.getColumnSelection ().getSelected ().size () > 0) {\r
560 this.viewport.hideSelectedColumns ();\r
561 if (!toggleSeqs) {\r
562 this.viewport.setSelectionGroup (sg);\r
563 }} else if (!hide) {\r
564 this.viewport.showAllHiddenColumns ();\r
565 }}}, "~B,~B");\r
566 Clazz.overrideMethod (c$, "keyReleased", \r
567 function (evt) {\r
568 }, "java.awt.event.KeyEvent");\r
569 Clazz.overrideMethod (c$, "keyTyped", \r
570 function (evt) {\r
571 }, "java.awt.event.KeyEvent");\r
572 Clazz.overrideMethod (c$, "itemStateChanged", \r
573 function (evt) {\r
574 var source = evt.getSource ();\r
575 if (source === this.displayNonconservedMenuItem) {\r
576 this.displayNonconservedMenuItem_actionPerformed ();\r
577 } else if (source === this.colourTextMenuItem) {\r
578 this.colourTextMenuItem_actionPerformed ();\r
579 } else if (source === this.wrapMenuItem) {\r
580 this.wrapMenuItem_actionPerformed ();\r
581 } else if (source === this.scaleAbove) {\r
582 this.viewport.setScaleAboveWrapped (this.scaleAbove.getState ());\r
583 } else if (source === this.scaleLeft) {\r
584 this.viewport.setScaleLeftWrapped (this.scaleLeft.getState ());\r
585 } else if (source === this.scaleRight) {\r
586 this.viewport.setScaleRightWrapped (this.scaleRight.getState ());\r
587 } else if (source === this.seqLimits) {\r
588 this.seqLimits_itemStateChanged ();\r
589 } else if (source === this.viewBoxesMenuItem) {\r
590 this.viewport.setShowBoxes (this.viewBoxesMenuItem.getState ());\r
591 } else if (source === this.viewTextMenuItem) {\r
592 this.viewport.setShowText (this.viewTextMenuItem.getState ());\r
593 } else if (source === this.renderGapsMenuItem) {\r
594 this.viewport.setRenderGaps (this.renderGapsMenuItem.getState ());\r
595 } else if (source === this.annotationPanelMenuItem) {\r
596 this.viewport.setShowAnnotation (this.annotationPanelMenuItem.getState ());\r
597 this.alignPanel.setAnnotationVisible (this.annotationPanelMenuItem.getState ());\r
598 } else if (source === this.sequenceFeatures) {\r
599 this.viewport.setShowSequenceFeatures (this.sequenceFeatures.getState ());\r
600 this.alignPanel.seqPanel.seqCanvas.repaint ();\r
601 } else if (source === this.showAlignmentAnnotations) {\r
602 this.setAnnotationsVisibility ();\r
603 } else if (source === this.showSequenceAnnotations) {\r
604 this.setAnnotationsVisibility ();\r
605 } else if (source === this.sortAnnBySequence) {\r
606 var newState = this.sortAnnBySequence.getState ();\r
607 this.sortAnnByLabel.setState (false);\r
608 this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.SEQUENCE_AND_LABEL : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);\r
609 this.setViewportAnnotationOrder ();\r
610 } else if (source === this.sortAnnByLabel) {\r
611 var newState = this.sortAnnByLabel.getState ();\r
612 this.sortAnnBySequence.setState (false);\r
613 this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.LABEL_AND_SEQUENCE : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);\r
614 this.setViewportAnnotationOrder ();\r
615 } else if (source === this.showAutoFirst) {\r
616 this.showAutoLast.setState (!this.showAutoFirst.getState ());\r
617 this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());\r
618 this.setViewportAnnotationOrder ();\r
619 } else if (source === this.showAutoLast) {\r
620 this.showAutoFirst.setState (!this.showAutoLast.getState ());\r
621 this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());\r
622 this.setViewportAnnotationOrder ();\r
623 } else if (source === this.conservationMenuItem) {\r
624 this.conservationMenuItem_actionPerformed ();\r
625 } else if (source === this.abovePIDThreshold) {\r
626 this.abovePIDThreshold_actionPerformed ();\r
627 } else if (source === this.applyToAllGroups) {\r
628 this.viewport.setColourAppliesToAllGroups (this.applyToAllGroups.getState ());\r
629 } else if (source === this.autoCalculate) {\r
630 this.viewport.autoCalculateConsensus = this.autoCalculate.getState ();\r
631 } else if (source === this.$sortByTree) {\r
632 this.viewport.sortByTree = this.$sortByTree.getState ();\r
633 } else if (source === this.centreColumnLabelFlag) {\r
634 this.centreColumnLabelFlag_stateChanged ();\r
635 } else if (source === this.followMouseOverFlag) {\r
636 this.mouseOverFlag_stateChanged ();\r
637 } else if (source === this.showGroupConsensus) {\r
638 this.showGroupConsensus_actionPerformed ();\r
639 } else if (source === this.showGroupConservation) {\r
640 this.showGroupConservation_actionPerformed ();\r
641 } else if (source === this.showSequenceLogo) {\r
642 this.showSequenceLogo_actionPerformed ();\r
643 } else if (source === this.normSequenceLogo) {\r
644 this.normSequenceLogo_actionPerformed ();\r
645 } else if (source === this.showConsensusHistogram) {\r
646 this.showConsensusHistogram_actionPerformed ();\r
647 } else if (source === this.applyAutoAnnotationSettings) {\r
648 this.applyAutoAnnotationSettings_actionPerformed ();\r
649 }this.alignPanel.paintAlignment (true);\r
650 }, "java.awt.event.ItemEvent");\r
651 Clazz.defineMethod (c$, "setAnnotationsVisibility", \r
652  function () {\r
653 var showForAlignment = this.showAlignmentAnnotations.getState ();\r
654 var showForSequences = this.showSequenceAnnotations.getState ();\r
655 for (var aa, $aa = 0, $$aa = this.alignPanel.getAlignment ().getAlignmentAnnotation (); $aa < $$aa.length && ((aa = $$aa[$aa]) || true); $aa++) {\r
656 var visible = (aa.sequenceRef == null ? showForAlignment : showForSequences);\r
657 aa.visible = visible;\r
658 }\r
659 this.alignPanel.validateAnnotationDimensions (true);\r
660 this.validate ();\r
661 this.repaint ();\r
662 });\r
663 Clazz.defineMethod (c$, "setAnnotationSortOrder", \r
664  function (order) {\r
665 this.annotationSortOrder = order;\r
666 }, "jalview.analysis.AnnotationSorter.SequenceAnnotationOrder");\r
667 Clazz.defineMethod (c$, "setViewportAnnotationOrder", \r
668  function () {\r
669 this.alignPanel.av.setSortAnnotationsBy (this.annotationSortOrder);\r
670 this.alignPanel.av.setShowAutocalculatedAbove (this.showAutoCalculatedAbove);\r
671 });\r
672 Clazz.defineMethod (c$, "setShowAutoCalculatedAbove", \r
673  function (showAbove) {\r
674 this.showAutoCalculatedAbove = showAbove;\r
675 }, "~B");\r
676 Clazz.defineMethod (c$, "mouseOverFlag_stateChanged", \r
677  function () {\r
678 this.viewport.setFollowHighlight (this.followMouseOverFlag.getState ());\r
679 });\r
680 Clazz.defineMethod (c$, "centreColumnLabelFlag_stateChanged", \r
681  function () {\r
682 this.viewport.centreColumnLabels = this.centreColumnLabelFlag.getState ();\r
683 this.alignPanel.annotationPanel.repaint ();\r
684 });\r
685 Clazz.overrideMethod (c$, "actionPerformed", \r
686 function (evt) {\r
687 var source = evt.getSource ();\r
688 if (source === this.inputText) {\r
689 this.inputText_actionPerformed ();\r
690 } else if (source === this.$loadTree) {\r
691 this.loadTree_actionPerformed ();\r
692 } else if (source === this.loadApplication) {\r
693 this.launchFullApplication ();\r
694 } else if (source === this.$loadAnnotations) {\r
695 this.loadAnnotations ();\r
696 } else if (source === this.$outputAnnotations) {\r
697 this.outputAnnotations (true);\r
698 } else if (source === this.$outputFeatures) {\r
699 this.outputFeatures (true, "Jalview");\r
700 } else if (source === this.closeMenuItem) {\r
701 this.closeMenuItem_actionPerformed ();\r
702 } else if (source === this.copy) {\r
703 this.copy_actionPerformed ();\r
704 } else if (source === this.undoMenuItem) {\r
705 this.undoMenuItem_actionPerformed ();\r
706 } else if (source === this.redoMenuItem) {\r
707 this.redoMenuItem_actionPerformed ();\r
708 } else if (source === this.inputText) {\r
709 this.inputText_actionPerformed ();\r
710 } else if (source === this.closeMenuItem) {\r
711 this.closeMenuItem_actionPerformed ();\r
712 } else if (source === this.undoMenuItem) {\r
713 this.undoMenuItem_actionPerformed ();\r
714 } else if (source === this.redoMenuItem) {\r
715 this.redoMenuItem_actionPerformed ();\r
716 } else if (source === this.copy) {\r
717 this.copy_actionPerformed ();\r
718 } else if (source === this.pasteNew) {\r
719 this.pasteNew_actionPerformed ();\r
720 } else if (source === this.pasteThis) {\r
721 this.pasteThis_actionPerformed ();\r
722 } else if (source === this.cut) {\r
723 this.cut_actionPerformed ();\r
724 } else if (source === this.$delete) {\r
725 this.delete_actionPerformed ();\r
726 } else if (source === this.grpsFromSelection) {\r
727 this.makeGrpsFromSelection_actionPerformed ();\r
728 } else if (source === this.deleteGroups) {\r
729 this.deleteGroups_actionPerformed ();\r
730 } else if (source === this.selectAllSequenceMenuItem) {\r
731 this.selectAllSequenceMenuItem_actionPerformed ();\r
732 } else if (source === this.deselectAllSequenceMenuItem) {\r
733 this.deselectAllSequenceMenuItem_actionPerformed ();\r
734 } else if (source === this.invertSequenceMenuItem) {\r
735 this.invertSequenceMenuItem_actionPerformed ();\r
736 } else if (source === this.invertColSel) {\r
737 this.viewport.invertColumnSelection ();\r
738 this.alignPanel.paintAlignment (true);\r
739 } else if (source === this.remove2LeftMenuItem) {\r
740 this.trimAlignment (true);\r
741 } else if (source === this.remove2RightMenuItem) {\r
742 this.trimAlignment (false);\r
743 } else if (source === this.removeGappedColumnMenuItem) {\r
744 this.removeGappedColumnMenuItem_actionPerformed ();\r
745 } else if (source === this.removeAllGapsMenuItem) {\r
746 this.removeAllGapsMenuItem_actionPerformed ();\r
747 } else if (source === this.findMenuItem) {\r
748 this.findMenuItem_actionPerformed ();\r
749 } else if (source === this.$font) {\r
750  new jalview.appletgui.FontChooser (this.alignPanel);\r
751 } else if (source === this.$newView) {\r
752 this.newView (null);\r
753 } else if (source === this.showColumns) {\r
754 this.viewport.showAllHiddenColumns ();\r
755 this.alignPanel.paintAlignment (true);\r
756 } else if (source === this.showSeqs) {\r
757 this.viewport.showAllHiddenSeqs ();\r
758 this.alignPanel.paintAlignment (true);\r
759 } else if (source === this.hideColumns) {\r
760 this.viewport.hideSelectedColumns ();\r
761 this.alignPanel.paintAlignment (true);\r
762 } else if (source === this.hideSequences && this.viewport.getSelectionGroup () != null) {\r
763 this.viewport.hideAllSelectedSeqs ();\r
764 this.alignPanel.paintAlignment (true);\r
765 } else if (source === this.hideAllButSelection) {\r
766 this.toggleHiddenRegions (false, false);\r
767 this.alignPanel.paintAlignment (true);\r
768 } else if (source === this.hideAllSelection) {\r
769 var sg = this.viewport.getSelectionGroup ();\r
770 this.viewport.expandColSelection (sg, false);\r
771 this.viewport.hideAllSelectedSeqs ();\r
772 this.viewport.hideSelectedColumns ();\r
773 this.alignPanel.paintAlignment (true);\r
774 } else if (source === this.showAllHidden) {\r
775 this.viewport.showAllHiddenColumns ();\r
776 this.viewport.showAllHiddenSeqs ();\r
777 this.alignPanel.paintAlignment (true);\r
778 } else if (source === this.showGroupConsensus) {\r
779 this.showGroupConsensus_actionPerformed ();\r
780 } else if (source === this.showGroupConservation) {\r
781 this.showGroupConservation_actionPerformed ();\r
782 } else if (source === this.showSequenceLogo) {\r
783 this.showSequenceLogo_actionPerformed ();\r
784 } else if (source === this.normSequenceLogo) {\r
785 this.normSequenceLogo_actionPerformed ();\r
786 } else if (source === this.showConsensusHistogram) {\r
787 this.showConsensusHistogram_actionPerformed ();\r
788 } else if (source === this.applyAutoAnnotationSettings) {\r
789 this.applyAutoAnnotationSettings_actionPerformed ();\r
790 } else if (source === this.featureSettings) {\r
791  new jalview.appletgui.FeatureSettings (this.alignPanel);\r
792 } else if (source === this.alProperties) {\r
793 var contents =  new jalview.io.AlignmentProperties (this.viewport.getAlignment ()).formatAsString ();\r
794 var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);\r
795 cap.setText (contents.toString ());\r
796 var frame =  new awt2swing.Frame ();\r
797 frame.add (cap);\r
798 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_properties",  Clazz.newArray (-1, [this.getTitle ()])), 400, 250);\r
799 } else if (source === this.overviewMenuItem) {\r
800 this.overviewMenuItem_actionPerformed ();\r
801 } else if (source === this.noColourmenuItem) {\r
802 this.changeColour (null);\r
803 } else if (source === this.clustalColour) {\r
804 this.abovePIDThreshold.setState (false);\r
805 this.changeColour ( new jalview.schemes.ClustalxColourScheme (this.viewport.getAlignment (), null));\r
806 } else if (source === this.zappoColour) {\r
807 this.changeColour ( new jalview.schemes.ZappoColourScheme ());\r
808 } else if (source === this.taylorColour) {\r
809 this.changeColour ( new jalview.schemes.TaylorColourScheme ());\r
810 } else if (source === this.hydrophobicityColour) {\r
811 this.changeColour ( new jalview.schemes.HydrophobicColourScheme ());\r
812 } else if (source === this.helixColour) {\r
813 this.changeColour ( new jalview.schemes.HelixColourScheme ());\r
814 } else if (source === this.strandColour) {\r
815 this.changeColour ( new jalview.schemes.StrandColourScheme ());\r
816 } else if (source === this.turnColour) {\r
817 this.changeColour ( new jalview.schemes.TurnColourScheme ());\r
818 } else if (source === this.buriedColour) {\r
819 this.changeColour ( new jalview.schemes.BuriedColourScheme ());\r
820 } else if (source === this.nucleotideColour) {\r
821 this.changeColour ( new jalview.schemes.NucleotideColourScheme ());\r
822 } else if (source === this.purinePyrimidineColour) {\r
823 this.changeColour ( new jalview.schemes.PurinePyrimidineColourScheme ());\r
824 } else if (source === this.RNAInteractionColour) {\r
825 this.changeColour ( new jalview.schemes.RNAInteractionColourScheme ());\r
826 } else if (source === this.RNAHelixColour) {\r
827  new jalview.schemes.RNAHelicesColourChooser (this.viewport, this.alignPanel);\r
828 } else if (source === this.modifyPID) {\r
829 this.modifyPID_actionPerformed ();\r
830 } else if (source === this.modifyConservation) {\r
831 this.modifyConservation_actionPerformed ();\r
832 } else if (source === this.userDefinedColour) {\r
833  new jalview.appletgui.UserDefinedColours (this.alignPanel, null);\r
834 } else if (source === this.PIDColour) {\r
835 this.changeColour ( new jalview.schemes.PIDColourScheme ());\r
836 } else if (source === this.BLOSUM62Colour) {\r
837 this.changeColour ( new jalview.schemes.Blosum62ColourScheme ());\r
838 } else if (source === this.tcoffeeColour) {\r
839 this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));\r
840 } else if (source === this.annotationColour) {\r
841  new jalview.appletgui.AnnotationColourChooser (this.viewport, this.alignPanel);\r
842 } else if (source === this.annotationColumnSelection) {\r
843  new jalview.appletgui.AnnotationColumnChooser (this.viewport, this.alignPanel);\r
844 } else if (source === this.sortPairwiseMenuItem) {\r
845 this.sortPairwiseMenuItem_actionPerformed ();\r
846 } else if (source === this.sortIDMenuItem) {\r
847 this.sortIDMenuItem_actionPerformed ();\r
848 } else if (source === this.sortLengthMenuItem) {\r
849 this.sortLengthMenuItem_actionPerformed ();\r
850 } else if (source === this.sortGroupMenuItem) {\r
851 this.sortGroupMenuItem_actionPerformed ();\r
852 } else if (source === this.removeRedundancyMenuItem) {\r
853 this.removeRedundancyMenuItem_actionPerformed ();\r
854 } else if (source === this.pairwiseAlignmentMenuItem) {\r
855 this.pairwiseAlignmentMenuItem_actionPerformed ();\r
856 } else if (source === this.PCAMenuItem) {\r
857 this.PCAMenuItem_actionPerformed ();\r
858 } else if (source === this.averageDistanceTreeMenuItem) {\r
859 this.averageDistanceTreeMenuItem_actionPerformed ();\r
860 } else if (source === this.neighbourTreeMenuItem) {\r
861 this.neighbourTreeMenuItem_actionPerformed ();\r
862 } else if (source === this.njTreeBlosumMenuItem) {\r
863 this.njTreeBlosumMenuItem_actionPerformed ();\r
864 } else if (source === this.avDistanceTreeBlosumMenuItem) {\r
865 this.avTreeBlosumMenuItem_actionPerformed ();\r
866 } else if (source === this.documentation) {\r
867 this.documentation_actionPerformed ();\r
868 } else if (source === this.about) {\r
869 this.about_actionPerformed ();\r
870 }}, "java.awt.event.ActionEvent");\r
871 Clazz.defineMethod (c$, "inputText_actionPerformed", \r
872 function () {\r
873 var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
874 var frame =  new awt2swing.Frame ();\r
875 frame.add (cap);\r
876 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.input_cut_paste"), 500, 500);\r
877 });\r
878 Clazz.defineMethod (c$, "outputText_actionPerformed", \r
879 function (e) {\r
880 var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
881 var frame =  new awt2swing.Frame ();\r
882 frame.add (cap);\r
883 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_output_command",  Clazz.newArray (-1, [e.getActionCommand ()])), 600, 500);\r
884 var fr = this.alignPanel.cloneFeatureRenderer ();\r
885 cap.setText ( new jalview.io.AppletFormatAdapter (this.alignPanel).formatSequences (e.getActionCommand (), this.viewport.getAlignment (), this.viewport.getShowJVSuffix ()));\r
886 }, "java.awt.event.ActionEvent");\r
887 Clazz.defineMethod (c$, "loadAnnotations", \r
888 function () {\r
889 var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
890 cap.setText (jalview.util.MessageManager.getString ("label.paste_features_annotations_Tcoffee_here"));\r
891 cap.setAnnotationImport ();\r
892 var frame =  new awt2swing.Frame ();\r
893 frame.add (cap);\r
894 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.paste_annotations"), 400, 300);\r
895 });\r
896 Clazz.defineMethod (c$, "outputAnnotations", \r
897 function (displayTextbox) {\r
898 var annotation =  new jalview.io.AnnotationFile ().printAnnotationsForView (this.viewport);\r
899 if (displayTextbox) {\r
900 var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);\r
901 var frame =  new awt2swing.Frame ();\r
902 frame.add (cap);\r
903 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.annotations"), 600, 500);\r
904 cap.setText (annotation);\r
905 }return annotation;\r
906 }, "~B");\r
907 Clazz.defineMethod (c$, "getDisplayedFeatureCols", \r
908  function () {\r
909 if (this.alignPanel.getFeatureRenderer () != null && this.viewport.getFeaturesDisplayed () != null) {\r
910 return this.alignPanel.getFeatureRenderer ().getDisplayedFeatureCols ();\r
911 }return null;\r
912 });\r
913 Clazz.defineMethod (c$, "outputFeatures", \r
914 function (displayTextbox, format) {\r
915 var features;\r
916 if (format.equalsIgnoreCase ("Jalview")) {\r
917 features =  new jalview.io.FeaturesFile ().printJalviewFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());\r
918 } else {\r
919 features =  new jalview.io.FeaturesFile ().printGFFFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());\r
920 }if (displayTextbox) {\r
921 var frimport = false;\r
922 if (features == null || features.equals ("No Features Visible")) {\r
923 features = "# No features visible - paste some and import them here.";\r
924 frimport = true;\r
925 }var cap =  new jalview.appletgui.CutAndPasteTransfer (frimport, this);\r
926 if (frimport) {\r
927 cap.setAnnotationImport ();\r
928 }var frame =  new awt2swing.Frame ();\r
929 frame.add (cap);\r
930 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.features"), 600, 500);\r
931 cap.setText (features);\r
932 } else {\r
933 if (features == null) {\r
934 features = "";\r
935 }}return features;\r
936 }, "~B,~S");\r
937 Clazz.defineMethod (c$, "launchFullApplication", \r
938 function () {\r
939 var url =  new StringBuffer (this.jalviewServletURL);\r
940 var firstSep = url.lastIndexOf ("?") > url.lastIndexOf ("/") ? "&" : "?";\r
941 url.append (firstSep);\r
942 var applet = this.viewport.applet;\r
943 var s = applet.startupFile;\r
944 url.append ("open=" + this.appendProtocol (s));\r
945 if (this.viewport.applet.features != null) {\r
946 url.append ("&features=");\r
947 url.append (this.appendProtocol (applet.features));\r
948 }if (applet.annotations != null) {\r
949 url.append ("&annotations=");\r
950 url.append (this.appendProtocol (applet.annotations));\r
951 }if (applet.jnetFile != null) {\r
952 url.append ("&annotations=");\r
953 url.append (this.appendProtocol (applet.jnetFile));\r
954 }if (applet.defaultColour != null) {\r
955 url.append ("&colour=" + this.removeWhiteSpace (applet.defaultColour));\r
956 }if (applet.userDefinedColour != null) {\r
957 url.append ("&colour=" + this.removeWhiteSpace (applet.userDefinedColour));\r
958 }if (applet.treeFile != null) {\r
959 url.append ("&tree=" + this.appendProtocol (applet.treeFile));\r
960 }this.showURL (url.toString (), "FULL_APP");\r
961 });\r
962 Clazz.defineMethod (c$, "removeWhiteSpace", \r
963 function (colour) {\r
964 var sb =  new StringBuffer ();\r
965 for (var i = 0; i < colour.length; i++) {\r
966 if (Character.isWhitespace (colour.charAt (i))) {\r
967 sb.append ("%20");\r
968 } else {\r
969 sb.append (colour.charAt (i));\r
970 }}\r
971 return sb.toString ();\r
972 }, "~S");\r
973 Clazz.defineMethod (c$, "appendProtocol", \r
974 function (url) {\r
975 try {\r
976  new java.net.URL (url);\r
977 url = java.net.URLEncoder.encode (url);\r
978 } catch (ex) {\r
979 if (Clazz.exceptionOf (ex, java.net.MalformedURLException)) {\r
980 url = this.viewport.applet.getCodeBase () + url;\r
981 } else {\r
982 throw ex;\r
983 }\r
984 }\r
985 return url;\r
986 }, "~S");\r
987 Clazz.defineMethod (c$, "closeMenuItem_actionPerformed", \r
988 function () {\r
989 jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel);\r
990 if (this.alignPanel.seqPanel != null && this.alignPanel.seqPanel.seqCanvas != null) {\r
991 jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.seqPanel.seqCanvas);\r
992 }if (this.alignPanel.idPanel != null && this.alignPanel.idPanel.idCanvas != null) {\r
993 jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.idPanel.idCanvas);\r
994 }if (jalview.appletgui.PaintRefresher.components.size () == 0 && this.viewport.applet == null) {\r
995 System.exit (0);\r
996 } else {\r
997 }this.viewport = null;\r
998 this.alignPanel = null;\r
999 this.dispose ();\r
1000 });\r
1001 Clazz.defineMethod (c$, "updateEditMenuBar", \r
1002 function () {\r
1003 if (this.viewport.getHistoryList ().size () > 0) {\r
1004 this.undoMenuItem.setEnabled (true);\r
1005 var command = this.viewport.getHistoryList ().peek ();\r
1006 this.undoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.undo_command",  Clazz.newArray (-1, [command.getDescription ()])));\r
1007 } else {\r
1008 this.undoMenuItem.setEnabled (false);\r
1009 this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));\r
1010 }if (this.viewport.getRedoList ().size () > 0) {\r
1011 this.redoMenuItem.setEnabled (true);\r
1012 var command = this.viewport.getRedoList ().peek ();\r
1013 this.redoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.redo_command",  Clazz.newArray (-1, [command.getDescription ()])));\r
1014 } else {\r
1015 this.redoMenuItem.setEnabled (false);\r
1016 this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));\r
1017 }});\r
1018 Clazz.overrideMethod (c$, "addHistoryItem", \r
1019 function (command) {\r
1020 if (command.getSize () > 0) {\r
1021 this.viewport.addToHistoryList (command);\r
1022 this.viewport.clearRedoList ();\r
1023 this.updateEditMenuBar ();\r
1024 this.viewport.updateHiddenColumns ();\r
1025 }}, "jalview.commands.CommandI");\r
1026 Clazz.defineMethod (c$, "undoMenuItem_actionPerformed", \r
1027 function () {\r
1028 if (this.viewport.getHistoryList ().isEmpty ()) {\r
1029 return;\r
1030 }var command = this.viewport.getHistoryList ().pop ();\r
1031 this.viewport.addToRedoList (command);\r
1032 command.undoCommand (null);\r
1033 var originalSource = this.getOriginatingSource (command);\r
1034 if (originalSource !== this.viewport) {\r
1035 System.err.println ("Warning: Viewport object mismatch whilst undoing");\r
1036 }originalSource.updateHiddenColumns ();\r
1037 this.updateEditMenuBar ();\r
1038 originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());\r
1039 });\r
1040 Clazz.defineMethod (c$, "redoMenuItem_actionPerformed", \r
1041 function () {\r
1042 if (this.viewport.getRedoList ().isEmpty ()) {\r
1043 return;\r
1044 }var command = this.viewport.getRedoList ().pop ();\r
1045 this.viewport.addToHistoryList (command);\r
1046 command.doCommand (null);\r
1047 var originalSource = this.getOriginatingSource (command);\r
1048 if (originalSource !== this.viewport) {\r
1049 System.err.println ("Warning: Viewport object mismatch whilst re-doing");\r
1050 }originalSource.updateHiddenColumns ();\r
1051 this.updateEditMenuBar ();\r
1052 originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());\r
1053 });\r
1054 Clazz.defineMethod (c$, "getOriginatingSource", \r
1055 function (command) {\r
1056 var originalSource = null;\r
1057 var al = null;\r
1058 if (Clazz.instanceOf (command, jalview.commands.EditCommand)) {\r
1059 var editCommand = command;\r
1060 al = editCommand.getAlignment ();\r
1061 var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());\r
1062 for (var i = 0; i < comps.size (); i++) {\r
1063 if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {\r
1064 if (al === (comps.elementAt (i)).av.getAlignment ()) {\r
1065 originalSource = (comps.elementAt (i)).av;\r
1066 break;\r
1067 }}}\r
1068 }if (originalSource == null) {\r
1069 if (al != null) {\r
1070 jalview.appletgui.PaintRefresher.validateSequences (al, this.viewport.getAlignment ());\r
1071 }originalSource = this.viewport;\r
1072 }return originalSource;\r
1073 }, "jalview.commands.CommandI");\r
1074 Clazz.defineMethod (c$, "moveSelectedSequences", \r
1075 function (up) {\r
1076 var sg = this.viewport.getSelectionGroup ();\r
1077 if (sg == null) {\r
1078 return;\r
1079 }this.viewport.getAlignment ().moveSelectedSequencesByOne (sg, up ? null : this.viewport.getHiddenRepSequences (), up);\r
1080 this.alignPanel.paintAlignment (true);\r
1081 var complement = this.viewport.getCodingComplement ();\r
1082 if (complement != null) {\r
1083 var mappedSelection = jalview.util.MappingUtils.mapSequenceGroup (sg, this.viewport, complement);\r
1084 complement.getAlignment ().moveSelectedSequencesByOne (mappedSelection, up ? null : complement.getHiddenRepSequences (), up);\r
1085 }}, "~B");\r
1086 Clazz.defineMethod (c$, "slideSequences", \r
1087 function (right, size) {\r
1088 var sg =  new java.util.Vector ();\r
1089 if (this.viewport.cursorMode) {\r
1090 sg.add (this.viewport.getAlignment ().getSequenceAt (this.alignPanel.seqPanel.seqCanvas.cursorY));\r
1091 } else if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () != this.viewport.getAlignment ().getHeight ()) {\r
1092 sg = this.viewport.getSelectionGroup ().getSequences (this.viewport.getHiddenRepSequences ());\r
1093 }if (sg.size () < 1) {\r
1094 return;\r
1095 }var invertGroup =  new java.util.Vector ();\r
1096 for (var i = 0; i < this.viewport.getAlignment ().getHeight (); i++) {\r
1097 if (!sg.contains (this.viewport.getAlignment ().getSequenceAt (i))) {\r
1098 invertGroup.addElement (this.viewport.getAlignment ().getSequenceAt (i));\r
1099 }}\r
1100 var seqs1 = sg.toArray ( new Array (sg.size ()));\r
1101 var seqs2 = invertGroup.toArray ( new Array (invertGroup.size ()));\r
1102 for (var i = 0; i < invertGroup.size (); i++) {\r
1103 seqs2[i] = invertGroup.elementAt (i);\r
1104 }\r
1105 var ssc;\r
1106 if (right) {\r
1107 ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs2, seqs1, size, this.viewport.getGapCharacter ());\r
1108 } else {\r
1109 ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs1, seqs2, size, this.viewport.getGapCharacter ());\r
1110 }var groupAdjustment = 0;\r
1111 if (ssc.getGapsInsertedBegin () && right) {\r
1112 if (this.viewport.cursorMode) {\r
1113 this.alignPanel.seqPanel.moveCursor (size, 0);\r
1114 } else {\r
1115 groupAdjustment = size;\r
1116 }} else if (!ssc.getGapsInsertedBegin () && !right) {\r
1117 if (this.viewport.cursorMode) {\r
1118 this.alignPanel.seqPanel.moveCursor (-size, 0);\r
1119 } else {\r
1120 groupAdjustment = -size;\r
1121 }}if (groupAdjustment != 0) {\r
1122 this.viewport.getSelectionGroup ().setStartRes (this.viewport.getSelectionGroup ().getStartRes () + groupAdjustment);\r
1123 this.viewport.getSelectionGroup ().setEndRes (this.viewport.getSelectionGroup ().getEndRes () + groupAdjustment);\r
1124 }var appendHistoryItem = false;\r
1125 var historyList = this.viewport.getHistoryList ();\r
1126 if (historyList != null && historyList.size () > 0 && Clazz.instanceOf (historyList.peek (), jalview.commands.SlideSequencesCommand)) {\r
1127 appendHistoryItem = ssc.appendSlideCommand (historyList.peek ());\r
1128 }if (!appendHistoryItem) {\r
1129 this.addHistoryItem (ssc);\r
1130 }this.repaint ();\r
1131 }, "~B,~N");\r
1132 Clazz.defineMethod (c$, "copy_actionPerformed", \r
1133 function () {\r
1134 if (this.viewport.getSelectionGroup () == null) {\r
1135 return;\r
1136 }var sg = this.viewport.getSelectionGroup ();\r
1137 jalview.appletgui.AlignFrame.copiedSequences =  new StringBuffer ();\r
1138 var orderedSeqs =  new java.util.HashMap ();\r
1139 for (var i = 0; i < sg.getSize (); i++) {\r
1140 var seq = sg.getSequenceAt (i);\r
1141 var index = this.viewport.getAlignment ().findIndex (seq);\r
1142 orderedSeqs.put (new Integer (index), seq);\r
1143 }\r
1144 var index = 0;\r
1145 var startRes;\r
1146 var endRes;\r
1147 var ch;\r
1148 if (this.viewport.hasHiddenColumns () && this.viewport.getSelectionGroup () != null) {\r
1149 jalview.appletgui.AlignFrame.copiedHiddenColumns =  new java.util.Vector ();\r
1150 var hiddenOffset = this.viewport.getSelectionGroup ().getStartRes ();\r
1151 for (var region, $region = this.viewport.getColumnSelection ().getHiddenColumns ().iterator (); $region.hasNext () && ((region = $region.next ()) || true);) {\r
1152 jalview.appletgui.AlignFrame.copiedHiddenColumns.addElement ( Clazz.newIntArray (-1, [region[0] - hiddenOffset, region[1] - hiddenOffset]));\r
1153 }\r
1154 } else {\r
1155 jalview.appletgui.AlignFrame.copiedHiddenColumns = null;\r
1156 }for (var i = 0; i < sg.getSize (); i++) {\r
1157 var seq = null;\r
1158 while (seq == null) {\r
1159 if (orderedSeqs.containsKey (new Integer (index))) {\r
1160 seq = orderedSeqs.get (new Integer (index));\r
1161 index++;\r
1162 break;\r
1163 } else {\r
1164 index++;\r
1165 }}\r
1166 startRes = seq.findPosition (sg.getStartRes ());\r
1167 endRes = 0;\r
1168 for (var j = 0; j < sg.getEndRes () + 1 && j < seq.getLength (); j++) {\r
1169 ch = seq.getCharAt (j);\r
1170 if (!jalview.util.Comparison.isGap ((ch))) {\r
1171 endRes++;\r
1172 }}\r
1173 if (endRes > 0) {\r
1174 endRes += seq.getStart () - 1;\r
1175 }jalview.appletgui.AlignFrame.copiedSequences.append (seq.getName () + "\t" + startRes + "\t" + endRes + "\t" + seq.getSequenceAsString (sg.getStartRes (), sg.getEndRes () + 1) + "\n");\r
1176 }\r
1177 });\r
1178 Clazz.defineMethod (c$, "pasteNew_actionPerformed", \r
1179 function () {\r
1180 this.paste (true);\r
1181 });\r
1182 Clazz.defineMethod (c$, "pasteThis_actionPerformed", \r
1183 function () {\r
1184 this.paste (false);\r
1185 });\r
1186 Clazz.defineMethod (c$, "paste", \r
1187 function (newAlignment) {\r
1188 try {\r
1189 if (jalview.appletgui.AlignFrame.copiedSequences == null) {\r
1190 return;\r
1191 }var st =  new java.util.StringTokenizer (jalview.appletgui.AlignFrame.copiedSequences.toString ());\r
1192 var seqs =  new java.util.Vector ();\r
1193 while (st.hasMoreElements ()) {\r
1194 var name = st.nextToken ();\r
1195 var start = Integer.parseInt (st.nextToken ());\r
1196 var end = Integer.parseInt (st.nextToken ());\r
1197 seqs.addElement ( new jalview.datamodel.Sequence (name, st.nextToken (), start, end));\r
1198 }\r
1199 var newSeqs =  new Array (seqs.size ());\r
1200 for (var i = 0; i < seqs.size (); i++) {\r
1201 newSeqs[i] = seqs.elementAt (i);\r
1202 }\r
1203 if (newAlignment) {\r
1204 var newtitle = jalview.util.MessageManager.getString ("label.copied_sequences");\r
1205 if (this.getTitle ().startsWith (jalview.util.MessageManager.getString ("label.copied_sequences"))) {\r
1206 newtitle = this.getTitle ();\r
1207 } else {\r
1208 newtitle = newtitle.concat (jalview.util.MessageManager.formatMessage ("label.from_msname",  Clazz.newArray (-1, [this.getTitle ()])));\r
1209 }var af =  new jalview.appletgui.AlignFrame ( new jalview.datamodel.Alignment (newSeqs), this.viewport.applet, newtitle, false);\r
1210 if (jalview.appletgui.AlignFrame.copiedHiddenColumns != null) {\r
1211 for (var i = 0; i < jalview.appletgui.AlignFrame.copiedHiddenColumns.size (); i++) {\r
1212 var region = jalview.appletgui.AlignFrame.copiedHiddenColumns.elementAt (i);\r
1213 af.viewport.hideColumns (region[0], region[1]);\r
1214 }\r
1215 }jalview.bin.JalviewLite.addFrame (af, newtitle, this.frameWidth, this.frameHeight);\r
1216 } else {\r
1217 this.addSequences (newSeqs);\r
1218 }} catch (ex) {\r
1219 if (Clazz.exceptionOf (ex, Exception)) {\r
1220 } else {\r
1221 throw ex;\r
1222 }\r
1223 }\r
1224 }, "~B");\r
1225 Clazz.defineMethod (c$, "addSequences", \r
1226 function (seqs) {\r
1227 for (var i = 0; i < seqs.length; i++) {\r
1228 this.viewport.getAlignment ().addSequence (seqs[i]);\r
1229 }\r
1230 this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.add_sequences"), jalview.commands.EditCommand.Action.PASTE, seqs, 0, this.viewport.getAlignment ().getWidth (), this.viewport.getAlignment ()));\r
1231 this.viewport.setEndSeq (this.viewport.getAlignment ().getHeight ());\r
1232 this.viewport.getAlignment ().getWidth ();\r
1233 this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
1234 }, "~A");\r
1235 Clazz.defineMethod (c$, "cut_actionPerformed", \r
1236 function () {\r
1237 this.copy_actionPerformed ();\r
1238 this.delete_actionPerformed ();\r
1239 });\r
1240 Clazz.defineMethod (c$, "delete_actionPerformed", \r
1241 function () {\r
1242 var sg = this.viewport.getSelectionGroup ();\r
1243 if (sg == null) {\r
1244 return;\r
1245 }var seqs =  new java.util.Vector ();\r
1246 var seq;\r
1247 for (var i = 0; i < sg.getSize (); i++) {\r
1248 seq = sg.getSequenceAt (i);\r
1249 seqs.addElement (seq);\r
1250 }\r
1251 if (sg.getSize () == this.viewport.getAlignment ().getHeight ()) {\r
1252 this.viewport.getColumnSelection ().removeElements (sg.getStartRes (), sg.getEndRes () + 1);\r
1253 }var cut =  new Array (seqs.size ());\r
1254 for (var i = 0; i < seqs.size (); i++) {\r
1255 cut[i] = seqs.elementAt (i);\r
1256 }\r
1257 this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.cut_sequences"), jalview.commands.EditCommand.Action.CUT, cut, sg.getStartRes (), sg.getEndRes () - sg.getStartRes () + 1, this.viewport.getAlignment ()));\r
1258 this.viewport.setSelectionGroup (null);\r
1259 this.viewport.getAlignment ().deleteGroup (sg);\r
1260 this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
1261 if (this.viewport.getAlignment ().getHeight () < 1) {\r
1262 this.setVisible (false);\r
1263 }this.viewport.sendSelection ();\r
1264 });\r
1265 Clazz.defineMethod (c$, "showGroupConsensus_actionPerformed", \r
1266 function () {\r
1267 this.viewport.setShowGroupConsensus (this.showGroupConsensus.getState ());\r
1268 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1269 });\r
1270 Clazz.defineMethod (c$, "showGroupConservation_actionPerformed", \r
1271 function () {\r
1272 this.viewport.setShowGroupConservation (this.showGroupConservation.getState ());\r
1273 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1274 });\r
1275 Clazz.defineMethod (c$, "showConsensusHistogram_actionPerformed", \r
1276 function () {\r
1277 this.viewport.setShowConsensusHistogram (this.showConsensusHistogram.getState ());\r
1278 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1279 });\r
1280 Clazz.defineMethod (c$, "showSequenceLogo_actionPerformed", \r
1281 function () {\r
1282 this.viewport.setShowSequenceLogo (this.showSequenceLogo.getState ());\r
1283 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1284 });\r
1285 Clazz.defineMethod (c$, "normSequenceLogo_actionPerformed", \r
1286 function () {\r
1287 this.showSequenceLogo.setState (true);\r
1288 this.viewport.setShowSequenceLogo (true);\r
1289 this.viewport.setNormaliseSequenceLogo (this.normSequenceLogo.getState ());\r
1290 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1291 });\r
1292 Clazz.defineMethod (c$, "applyAutoAnnotationSettings_actionPerformed", \r
1293 function () {\r
1294 this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
1295 });\r
1296 Clazz.defineMethod (c$, "makeGrpsFromSelection_actionPerformed", \r
1297 function () {\r
1298 if (this.avc.makeGroupsFromSelection ()) {\r
1299 jalview.appletgui.PaintRefresher.Refresh (this, this.viewport.getSequenceSetId ());\r
1300 this.alignPanel.updateAnnotation ();\r
1301 this.alignPanel.paintAlignment (true);\r
1302 }});\r
1303 Clazz.defineMethod (c$, "createGroup_actionPerformed", \r
1304 function () {\r
1305 this.avc.createGroup ();\r
1306 });\r
1307 Clazz.defineMethod (c$, "unGroup_actionPerformed", \r
1308 function () {\r
1309 if (this.avc.unGroup ()) {\r
1310 this.alignPanel.alignmentChanged ();\r
1311 }});\r
1312 Clazz.defineMethod (c$, "deleteGroups_actionPerformed", \r
1313 function () {\r
1314 if (this.avc.deleteGroups ()) {\r
1315 this.alignPanel.alignmentChanged ();\r
1316 }});\r
1317 Clazz.defineMethod (c$, "selectAllSequenceMenuItem_actionPerformed", \r
1318 function () {\r
1319 var sg =  new jalview.datamodel.SequenceGroup ();\r
1320 for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
1321 sg.addSequence (this.viewport.getAlignment ().getSequenceAt (i), false);\r
1322 }\r
1323 sg.setEndRes (this.viewport.getAlignment ().getWidth () - 1);\r
1324 this.viewport.setSelectionGroup (sg);\r
1325 this.alignPanel.paintAlignment (true);\r
1326 jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
1327 this.viewport.sendSelection ();\r
1328 });\r
1329 Clazz.defineMethod (c$, "deselectAllSequenceMenuItem_actionPerformed", \r
1330 function () {\r
1331 if (this.viewport.cursorMode) {\r
1332 this.alignPanel.seqPanel.keyboardNo1 = null;\r
1333 this.alignPanel.seqPanel.keyboardNo2 = null;\r
1334 }this.viewport.setSelectionGroup (null);\r
1335 this.viewport.getColumnSelection ().clear ();\r
1336 this.viewport.setSelectionGroup (null);\r
1337 this.alignPanel.idPanel.idCanvas.searchResults = null;\r
1338 this.alignPanel.seqPanel.seqCanvas.highlightSearchResults (null);\r
1339 this.alignPanel.paintAlignment (true);\r
1340 jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
1341 this.viewport.sendSelection ();\r
1342 });\r
1343 Clazz.defineMethod (c$, "invertSequenceMenuItem_actionPerformed", \r
1344 function () {\r
1345 var sg = this.viewport.getSelectionGroup ();\r
1346 for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
1347 sg.addOrRemove (this.viewport.getAlignment ().getSequenceAt (i), false);\r
1348 }\r
1349 jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
1350 this.viewport.sendSelection ();\r
1351 });\r
1352 Clazz.defineMethod (c$, "invertColSel_actionPerformed", \r
1353 function () {\r
1354 this.viewport.invertColumnSelection ();\r
1355 this.alignPanel.paintAlignment (true);\r
1356 jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
1357 this.viewport.sendSelection ();\r
1358 });\r
1359 Clazz.defineMethod (c$, "trimAlignment", \r
1360 function (trimLeft) {\r
1361 var colSel = this.viewport.getColumnSelection ();\r
1362 var column;\r
1363 if (colSel.size () > 0) {\r
1364 if (trimLeft) {\r
1365 column = colSel.getMin ();\r
1366 } else {\r
1367 column = colSel.getMax ();\r
1368 }var seqs;\r
1369 if (this.viewport.getSelectionGroup () != null) {\r
1370 seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
1371 } else {\r
1372 seqs = this.viewport.getAlignment ().getSequencesArray ();\r
1373 }var trimRegion;\r
1374 if (trimLeft) {\r
1375 trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Left", jalview.commands.TrimRegionCommand.TRIM_LEFT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());\r
1376 this.viewport.setStartRes (0);\r
1377 } else {\r
1378 trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Right", jalview.commands.TrimRegionCommand.TRIM_RIGHT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());\r
1379 }this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_columns",  Clazz.newArray (-1, [Integer.$valueOf (trimRegion.getSize ()).toString ()])));\r
1380 this.addHistoryItem (trimRegion);\r
1381 for (var sg, $sg = this.viewport.getAlignment ().getGroups ().iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {\r
1382 if ((trimLeft && !sg.adjustForRemoveLeft (column)) || (!trimLeft && !sg.adjustForRemoveRight (column))) {\r
1383 this.viewport.getAlignment ().deleteGroup (sg);\r
1384 }}\r
1385 this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
1386 }}, "~B");\r
1387 Clazz.defineMethod (c$, "removeGappedColumnMenuItem_actionPerformed", \r
1388 function () {\r
1389 var start = 0;\r
1390 var end = this.viewport.getAlignment ().getWidth () - 1;\r
1391 var seqs;\r
1392 if (this.viewport.getSelectionGroup () != null) {\r
1393 seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
1394 start = this.viewport.getSelectionGroup ().getStartRes ();\r
1395 end = this.viewport.getSelectionGroup ().getEndRes ();\r
1396 } else {\r
1397 seqs = this.viewport.getAlignment ().getSequencesArray ();\r
1398 }var removeGapCols =  new jalview.commands.RemoveGapColCommand ("Remove Gapped Columns", seqs, start, end, this.viewport.getAlignment ());\r
1399 this.addHistoryItem (removeGapCols);\r
1400 this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_empty_columns",  Clazz.newArray (-1, [Integer.$valueOf (removeGapCols.getSize ()).toString ()])));\r
1401 var seq = this.viewport.getAlignment ().getSequenceAt (0);\r
1402 var startRes = seq.findPosition (this.viewport.startRes);\r
1403 this.viewport.setStartRes (seq.findIndex (startRes) - 1);\r
1404 this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
1405 });\r
1406 Clazz.defineMethod (c$, "removeAllGapsMenuItem_actionPerformed", \r
1407 function () {\r
1408 var start = 0;\r
1409 var end = this.viewport.getAlignment ().getWidth () - 1;\r
1410 var seqs;\r
1411 if (this.viewport.getSelectionGroup () != null) {\r
1412 seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
1413 start = this.viewport.getSelectionGroup ().getStartRes ();\r
1414 end = this.viewport.getSelectionGroup ().getEndRes ();\r
1415 } else {\r
1416 seqs = this.viewport.getAlignment ().getSequencesArray ();\r
1417 }var seq = this.viewport.getAlignment ().getSequenceAt (0);\r
1418 var startRes = seq.findPosition (this.viewport.startRes);\r
1419 this.addHistoryItem ( new jalview.commands.RemoveGapsCommand ("Remove Gaps", seqs, start, end, this.viewport.getAlignment ()));\r
1420 this.viewport.setStartRes (seq.findIndex (startRes) - 1);\r
1421 this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
1422 });\r
1423 Clazz.defineMethod (c$, "findMenuItem_actionPerformed", \r
1424 function () {\r
1425  new jalview.appletgui.Finder (this.alignPanel);\r
1426 });\r
1427 Clazz.defineMethod (c$, "newView", \r
1428 function (viewtitle) {\r
1429 var newal;\r
1430 if (this.viewport.hasHiddenRows ()) {\r
1431 newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getHiddenSequences ().getFullAlignment ().getSequencesArray ());\r
1432 } else {\r
1433 newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getSequencesArray ());\r
1434 }if (this.viewport.getAlignment ().getAlignmentAnnotation () != null) {\r
1435 for (var i = 0; i < this.viewport.getAlignment ().getAlignmentAnnotation ().length; i++) {\r
1436 if (!this.viewport.getAlignment ().getAlignmentAnnotation ()[i].autoCalculated) {\r
1437 newal.addAnnotation (this.viewport.getAlignment ().getAlignmentAnnotation ()[i]);\r
1438 }}\r
1439 }var newaf =  new jalview.appletgui.AlignFrame (newal, this.viewport.applet, "", false);\r
1440 newaf.viewport.setSequenceSetId (this.alignPanel.av.getSequenceSetId ());\r
1441 jalview.appletgui.PaintRefresher.Register (this.alignPanel, this.alignPanel.av.getSequenceSetId ());\r
1442 jalview.appletgui.PaintRefresher.Register (newaf.alignPanel, newaf.alignPanel.av.getSequenceSetId ());\r
1443 jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.idPanel.idCanvas, newaf.alignPanel.av.getSequenceSetId ());\r
1444 jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.seqPanel.seqCanvas, newaf.alignPanel.av.getSequenceSetId ());\r
1445 var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());\r
1446 var viewSize = -1;\r
1447 for (var i = 0; i < comps.size (); i++) {\r
1448 if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {\r
1449 viewSize++;\r
1450 }}\r
1451 var title =  String.instantialize (this.getTitle ());\r
1452 if (viewtitle != null) {\r
1453 title = viewtitle + " ( " + title + ")";\r
1454 } else {\r
1455 if (title.indexOf ("(View") > -1) {\r
1456 title = title.substring (0, title.indexOf ("(View"));\r
1457 }title += "(View " + viewSize + ")";\r
1458 }newaf.setTitle (title.toString ());\r
1459 newaf.viewport.setHistoryList (this.viewport.getHistoryList ());\r
1460 newaf.viewport.setRedoList (this.viewport.getRedoList ());\r
1461 return newaf;\r
1462 }, "~S");\r
1463 Clazz.defineMethod (c$, "getFeatureGroups", \r
1464 function () {\r
1465 var fr = null;\r
1466 if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
1467 var gps = fr.getFeatureGroups ();\r
1468 var _gps = gps.toArray ( new Array (gps.size ()));\r
1469 return _gps;\r
1470 }return null;\r
1471 });\r
1472 Clazz.defineMethod (c$, "getFeatureGroupsOfState", \r
1473 function (visible) {\r
1474 var fr = null;\r
1475 if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
1476 var gps = fr.getGroups (visible);\r
1477 var _gps = gps.toArray ( new Array (gps.size ()));\r
1478 return _gps;\r
1479 }return null;\r
1480 }, "~B");\r
1481 Clazz.defineMethod (c$, "setFeatureGroupState", \r
1482 function (groups, state) {\r
1483 var fr = null;\r
1484 this.sequenceFeatures.setState (true);\r
1485 this.viewport.setShowSequenceFeatures (true);\r
1486 if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
1487 fr.setGroupVisibility (java.util.Arrays.asList (groups), state);\r
1488 this.alignPanel.seqPanel.seqCanvas.repaint ();\r
1489 if (this.alignPanel.overviewPanel != null) {\r
1490 this.alignPanel.overviewPanel.updateOverviewImage ();\r
1491 }}}, "~A,~B");\r
1492 Clazz.defineMethod (c$, "seqLimits_itemStateChanged", \r
1493 function () {\r
1494 this.viewport.setShowJVSuffix (this.seqLimits.getState ());\r
1495 this.alignPanel.fontChanged ();\r
1496 this.alignPanel.paintAlignment (true);\r
1497 });\r
1498 Clazz.defineMethod (c$, "colourTextMenuItem_actionPerformed", \r
1499 function () {\r
1500 this.viewport.setColourText (this.colourTextMenuItem.getState ());\r
1501 this.alignPanel.paintAlignment (true);\r
1502 });\r
1503 Clazz.defineMethod (c$, "displayNonconservedMenuItem_actionPerformed", \r
1504 function () {\r
1505 this.viewport.setShowUnconserved (this.displayNonconservedMenuItem.getState ());\r
1506 this.alignPanel.paintAlignment (true);\r
1507 });\r
1508 Clazz.defineMethod (c$, "wrapMenuItem_actionPerformed", \r
1509 function () {\r
1510 this.viewport.setWrapAlignment (this.wrapMenuItem.getState ());\r
1511 this.alignPanel.setWrapAlignment (this.wrapMenuItem.getState ());\r
1512 this.scaleAbove.setEnabled (this.wrapMenuItem.getState ());\r
1513 this.scaleLeft.setEnabled (this.wrapMenuItem.getState ());\r
1514 this.scaleRight.setEnabled (this.wrapMenuItem.getState ());\r
1515 this.alignPanel.paintAlignment (true);\r
1516 });\r
1517 Clazz.defineMethod (c$, "overviewMenuItem_actionPerformed", \r
1518 function () {\r
1519 if (this.alignPanel.overviewPanel != null) {\r
1520 return;\r
1521 }var frame =  new awt2swing.Frame ();\r
1522 var overview =  new jalview.appletgui.OverviewPanel (this.alignPanel);\r
1523 frame.add (overview);\r
1524 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.overview_params",  Clazz.newArray (-1, [this.getTitle ()])), overview.getPreferredSize ().width, overview.getPreferredSize ().height + 50);\r
1525 frame.pack ();\r
1526 var ap = this.alignPanel;\r
1527 frame.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1, this, Clazz.cloneFinals ("ap", ap))));\r
1528 this.alignPanel.setOverviewPanel (overview);\r
1529 });\r
1530 Clazz.overrideMethod (c$, "changeColour", \r
1531 function (cs) {\r
1532 var threshold = 0;\r
1533 if (cs != null) {\r
1534 if (this.viewport.getAbovePIDThreshold ()) {\r
1535 this.viewport.setThreshold (jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, cs, "Background"));\r
1536 }if (this.viewport.getConservationSelected ()) {\r
1537 cs.setConservationApplied (true);\r
1538 this.viewport.setIncrement (jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, cs, "Background"));\r
1539 } else {\r
1540 cs.setConservationApplied (false);\r
1541 }}this.viewport.setGlobalColourScheme (cs);\r
1542 if (this.alignPanel.getOverviewPanel () != null) {\r
1543 this.alignPanel.getOverviewPanel ().updateOverviewImage ();\r
1544 }jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.viewport.applet).sequenceColoursChanged (this.alignPanel);\r
1545 this.alignPanel.paintAlignment (true);\r
1546 }, "jalview.schemes.ColourSchemeI");\r
1547 Clazz.defineMethod (c$, "modifyPID_actionPerformed", \r
1548 function () {\r
1549 if (this.viewport.getAbovePIDThreshold () && this.viewport.getGlobalColourScheme () != null) {\r
1550 jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");\r
1551 jalview.appletgui.SliderPanel.showPIDSlider ();\r
1552 }});\r
1553 Clazz.defineMethod (c$, "modifyConservation_actionPerformed", \r
1554 function () {\r
1555 if (this.viewport.getConservationSelected () && this.viewport.getGlobalColourScheme () != null) {\r
1556 jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");\r
1557 jalview.appletgui.SliderPanel.showConservationSlider ();\r
1558 }});\r
1559 Clazz.defineMethod (c$, "conservationMenuItem_actionPerformed", \r
1560 function () {\r
1561 this.viewport.setConservationSelected (this.conservationMenuItem.getState ());\r
1562 this.viewport.setAbovePIDThreshold (false);\r
1563 this.abovePIDThreshold.setState (false);\r
1564 this.changeColour (this.viewport.getGlobalColourScheme ());\r
1565 this.modifyConservation_actionPerformed ();\r
1566 });\r
1567 Clazz.defineMethod (c$, "abovePIDThreshold_actionPerformed", \r
1568 function () {\r
1569 this.viewport.setAbovePIDThreshold (this.abovePIDThreshold.getState ());\r
1570 this.conservationMenuItem.setState (false);\r
1571 this.viewport.setConservationSelected (false);\r
1572 this.changeColour (this.viewport.getGlobalColourScheme ());\r
1573 this.modifyPID_actionPerformed ();\r
1574 });\r
1575 Clazz.defineMethod (c$, "sortPairwiseMenuItem_actionPerformed", \r
1576 function () {\r
1577 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1578 jalview.analysis.AlignmentSorter.sortByPID (this.viewport.getAlignment (), this.viewport.getAlignment ().getSequenceAt (0), null);\r
1579 this.addHistoryItem ( new jalview.commands.OrderCommand ("Pairwise Sort", oldOrder, this.viewport.getAlignment ()));\r
1580 this.alignPanel.paintAlignment (true);\r
1581 });\r
1582 Clazz.defineMethod (c$, "sortIDMenuItem_actionPerformed", \r
1583 function () {\r
1584 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1585 jalview.analysis.AlignmentSorter.sortByID (this.viewport.getAlignment ());\r
1586 this.addHistoryItem ( new jalview.commands.OrderCommand ("ID Sort", oldOrder, this.viewport.getAlignment ()));\r
1587 this.alignPanel.paintAlignment (true);\r
1588 });\r
1589 Clazz.defineMethod (c$, "sortLengthMenuItem_actionPerformed", \r
1590 function () {\r
1591 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1592 jalview.analysis.AlignmentSorter.sortByLength (this.viewport.getAlignment ());\r
1593 this.addHistoryItem ( new jalview.commands.OrderCommand ("Length Sort", oldOrder, this.viewport.getAlignment ()));\r
1594 this.alignPanel.paintAlignment (true);\r
1595 });\r
1596 Clazz.defineMethod (c$, "sortGroupMenuItem_actionPerformed", \r
1597 function () {\r
1598 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1599 jalview.analysis.AlignmentSorter.sortByGroup (this.viewport.getAlignment ());\r
1600 this.addHistoryItem ( new jalview.commands.OrderCommand ("Group Sort", oldOrder, this.viewport.getAlignment ()));\r
1601 this.alignPanel.paintAlignment (true);\r
1602 });\r
1603 Clazz.defineMethod (c$, "removeRedundancyMenuItem_actionPerformed", \r
1604 function () {\r
1605  new jalview.appletgui.RedundancyPanel (this.alignPanel);\r
1606 });\r
1607 Clazz.defineMethod (c$, "pairwiseAlignmentMenuItem_actionPerformed", \r
1608 function () {\r
1609 if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) {\r
1610 var frame =  new awt2swing.Frame ();\r
1611 frame.add ( new jalview.appletgui.PairwiseAlignPanel (this.alignPanel));\r
1612 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.pairwise_alignment"), 600, 500);\r
1613 }});\r
1614 Clazz.defineMethod (c$, "PCAMenuItem_actionPerformed", \r
1615 function () {\r
1616 if (!this.viewport.getAlignment ().isAligned (false)) {\r
1617 var current;\r
1618 var Width = this.viewport.getAlignment ().getWidth ();\r
1619 for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
1620 current = this.viewport.getAlignment ().getSequenceAt (i);\r
1621 if (current.getLength () < Width) {\r
1622 current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());\r
1623 }}\r
1624 this.alignPanel.paintAlignment (true);\r
1625 }if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () < 4 && this.viewport.getSelectionGroup ().getSize () > 0) || this.viewport.getAlignment ().getHeight () < 4) {\r
1626 return;\r
1627 }try {\r
1628  new jalview.appletgui.PCAPanel (this.viewport);\r
1629 } catch (ex) {\r
1630 if (Clazz.exceptionOf (ex, OutOfMemoryError)) {\r
1631 } else {\r
1632 throw ex;\r
1633 }\r
1634 }\r
1635 });\r
1636 Clazz.defineMethod (c$, "averageDistanceTreeMenuItem_actionPerformed", \r
1637 function () {\r
1638 this.NewTreePanel ("AV", "PID", "Average distance tree using PID");\r
1639 });\r
1640 Clazz.defineMethod (c$, "neighbourTreeMenuItem_actionPerformed", \r
1641 function () {\r
1642 this.NewTreePanel ("NJ", "PID", "Neighbour joining tree using PID");\r
1643 });\r
1644 Clazz.defineMethod (c$, "njTreeBlosumMenuItem_actionPerformed", \r
1645 function () {\r
1646 this.NewTreePanel ("NJ", "BL", "Neighbour joining tree using BLOSUM62");\r
1647 });\r
1648 Clazz.defineMethod (c$, "avTreeBlosumMenuItem_actionPerformed", \r
1649 function () {\r
1650 this.NewTreePanel ("AV", "BL", "Average distance tree using BLOSUM62");\r
1651 });\r
1652 Clazz.defineMethod (c$, "NewTreePanel", \r
1653 function (type, pwType, title) {\r
1654 if (!this.viewport.getAlignment ().isAligned (false)) {\r
1655 var current;\r
1656 var Width = this.viewport.getAlignment ().getWidth ();\r
1657 for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
1658 current = this.viewport.getAlignment ().getSequenceAt (i);\r
1659 if (current.getLength () < Width) {\r
1660 current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());\r
1661 }}\r
1662 this.alignPanel.paintAlignment (true);\r
1663 }if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) || (this.viewport.getAlignment ().getHeight () > 1)) {\r
1664 var tp =  new jalview.appletgui.TreePanel (this.alignPanel, type, pwType);\r
1665 this.addTreeMenuItem (tp, title);\r
1666 jalview.bin.JalviewLite.addFrame (tp, title, 600, 500);\r
1667 }}, "~S,~S,~S");\r
1668 Clazz.defineMethod (c$, "loadTree_actionPerformed", \r
1669 function () {\r
1670 var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
1671 cap.setText (jalview.util.MessageManager.getString ("label.paste_newick_tree_file"));\r
1672 cap.setTreeImport ();\r
1673 var frame =  new awt2swing.Frame ();\r
1674 frame.add (cap);\r
1675 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.paste_newick_file"), 400, 300);\r
1676 });\r
1677 Clazz.defineMethod (c$, "loadTree", \r
1678 function (tree, treeFile) {\r
1679 var tp =  new jalview.appletgui.TreePanel (this.alignPanel, treeFile, jalview.util.MessageManager.getString ("label.load_tree_from_file"), tree);\r
1680 jalview.bin.JalviewLite.addFrame (tp, treeFile, 600, 500);\r
1681 this.addTreeMenuItem (tp, treeFile);\r
1682 }, "jalview.io.NewickFile,~S");\r
1683 Clazz.defineMethod (c$, "sortByTree", \r
1684 function (treePanel, title) {\r
1685 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1686 jalview.analysis.AlignmentSorter.sortByTree (this.viewport.getAlignment (), treePanel.getTree ());\r
1687 this.addHistoryItem ( new jalview.commands.OrderCommand (jalview.util.MessageManager.formatMessage ("label.order_by_params",  Clazz.newArray (-1, [title])), oldOrder, this.viewport.getAlignment ()));\r
1688 this.alignPanel.paintAlignment (true);\r
1689 }, "jalview.appletgui.TreePanel,~S");\r
1690 Clazz.defineMethod (c$, "addTreeMenuItem", \r
1691 function (treePanel, title) {\r
1692 var item =  new awt2swing.MenuItem (title);\r
1693 this.sortByTreeMenu.add (item);\r
1694 item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$2") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$2, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title))));\r
1695 treePanel.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$3") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$3, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title, "item", item))));\r
1696 }, "jalview.appletgui.TreePanel,~S");\r
1697 Clazz.defineMethod (c$, "sortBy", \r
1698 function (alorder, undoname) {\r
1699 var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
1700 if ((this.viewport.applet, jalview.bin.JalviewLite).debug) {\r
1701 System.err.println ("Sorting " + alorder.getOrder ().size () + " in alignment '" + this.getTitle () + "'");\r
1702 }jalview.analysis.AlignmentSorter.sortBy (this.viewport.getAlignment (), alorder);\r
1703 if (undoname != null) {\r
1704 this.addHistoryItem ( new jalview.commands.OrderCommand (undoname, oldOrder, this.viewport.getAlignment ()));\r
1705 }this.alignPanel.paintAlignment (true);\r
1706 return true;\r
1707 }, "jalview.datamodel.AlignmentOrder,~S");\r
1708 Clazz.defineMethod (c$, "documentation_actionPerformed", \r
1709 function () {\r
1710 this.alignPanel.av.applet.openJalviewHelpUrl ();\r
1711 });\r
1712 Clazz.defineMethod (c$, "about_actionPerformed", \r
1713 function () {\r
1714 if (!Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1AboutPanel")) {\r
1715 jalview.appletgui.AlignFrame.$AlignFrame$1AboutPanel$ ();\r
1716 }\r
1717 var frame =  new awt2swing.Frame ();\r
1718 frame.add (Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1AboutPanel, this, null, jalview.bin.JalviewLite.getVersion (), jalview.bin.JalviewLite.getBuildDate ()));\r
1719 jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.jalview"), 580, 220);\r
1720 });\r
1721 Clazz.defineMethod (c$, "showURL", \r
1722 function (url, target) {\r
1723 if (this.viewport.applet == null) {\r
1724 System.out.println ("Not running as applet - no browser available.");\r
1725 } else {\r
1726 this.viewport.applet.showURL (url, target);\r
1727 }}, "~S,~S");\r
1728 Clazz.defineMethod (c$, "jbInit", \r
1729  function () {\r
1730 this.setMenuBar (this.alignFrameMenuBar);\r
1731 this.inputText.setLabel (jalview.util.MessageManager.getString ("label.input_from_textbox"));\r
1732 this.inputText.addActionListener (this);\r
1733 var outputTextboxMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.out_to_textbox"));\r
1734 for (var i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++) {\r
1735 var item =  new awt2swing.MenuItem (jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i]);\r
1736 item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$4") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$4$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$4, this, null)));\r
1737 outputTextboxMenu.add (item);\r
1738 }\r
1739 this.closeMenuItem.addActionListener (this);\r
1740 this.loadApplication.addActionListener (this);\r
1741 this.$loadTree.addActionListener (this);\r
1742 this.$loadAnnotations.addActionListener (this);\r
1743 this.$outputFeatures.addActionListener (this);\r
1744 this.$outputAnnotations.addActionListener (this);\r
1745 this.undoMenuItem.setEnabled (false);\r
1746 this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));\r
1747 this.undoMenuItem.addActionListener (this);\r
1748 this.redoMenuItem.setEnabled (false);\r
1749 this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));\r
1750 this.redoMenuItem.addActionListener (this);\r
1751 this.copy.setLabel (jalview.util.MessageManager.getString ("action.copy"));\r
1752 this.copy.addActionListener (this);\r
1753 this.cut.setLabel (jalview.util.MessageManager.getString ("action.cut"));\r
1754 this.cut.addActionListener (this);\r
1755 this.$delete.setLabel (jalview.util.MessageManager.getString ("action.delete"));\r
1756 this.$delete.addActionListener (this);\r
1757 this.pasteMenu.setLabel (jalview.util.MessageManager.getString ("action.paste"));\r
1758 this.pasteNew.setLabel (jalview.util.MessageManager.getString ("label.to_new_alignment"));\r
1759 this.pasteNew.addActionListener (this);\r
1760 this.pasteThis.setLabel (jalview.util.MessageManager.getString ("label.to_this_alignment"));\r
1761 this.pasteThis.addActionListener (this);\r
1762 this.remove2LeftMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_left"));\r
1763 this.remove2LeftMenuItem.addActionListener (this);\r
1764 this.remove2RightMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_right"));\r
1765 this.remove2RightMenuItem.addActionListener (this);\r
1766 this.removeGappedColumnMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_empty_columns"));\r
1767 this.removeGappedColumnMenuItem.addActionListener (this);\r
1768 this.removeAllGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_all_gaps"));\r
1769 this.removeAllGapsMenuItem.addActionListener (this);\r
1770 this.removeRedundancyMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_redundancy").concat ("..."));\r
1771 this.removeRedundancyMenuItem.addActionListener (this);\r
1772 this.findMenuItem.setLabel (jalview.util.MessageManager.getString ("action.find"));\r
1773 this.findMenuItem.addActionListener (this);\r
1774 this.selectAllSequenceMenuItem.addActionListener (this);\r
1775 this.deselectAllSequenceMenuItem.addActionListener (this);\r
1776 this.invertSequenceMenuItem.setLabel (jalview.util.MessageManager.getString ("action.invert_sequence_selection"));\r
1777 this.invertSequenceMenuItem.addActionListener (this);\r
1778 this.invertColSel.setLabel (jalview.util.MessageManager.getString ("action.invert_column_selection"));\r
1779 this.invertColSel.addActionListener (this);\r
1780 this.deleteGroups.setLabel (jalview.util.MessageManager.getString ("action.undefine_groups"));\r
1781 this.deleteGroups.addActionListener (this);\r
1782 this.grpsFromSelection.setLabel (jalview.util.MessageManager.getString ("action.make_groups_selection"));\r
1783 this.grpsFromSelection.addActionListener (this);\r
1784 this.createGroup.setLabel (jalview.util.MessageManager.getString ("action.create_group"));\r
1785 this.unGroup.setLabel (jalview.util.MessageManager.getString ("action.remove_group"));\r
1786 this.annotationColumnSelection.setLabel ("Select by Annotation");\r
1787 this.annotationColumnSelection.addActionListener (this);\r
1788 this.$newView.setLabel (jalview.util.MessageManager.getString ("action.new_view"));\r
1789 this.$newView.addActionListener (this);\r
1790 var showMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.show"));\r
1791 this.showColumns.setLabel (jalview.util.MessageManager.getString ("label.all_columns"));\r
1792 this.showSeqs.setLabel (jalview.util.MessageManager.getString ("label.all_sequences"));\r
1793 var hideMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.hide"));\r
1794 this.hideColumns.setLabel (jalview.util.MessageManager.getString ("label.selected_columns"));\r
1795 this.hideSequences.setLabel (jalview.util.MessageManager.getString ("label.selected_sequences"));\r
1796 this.hideAllButSelection.setLabel (jalview.util.MessageManager.getString ("label.all_but_selected_region"));\r
1797 this.hideAllSelection.setLabel (jalview.util.MessageManager.getString ("label.selected_region"));\r
1798 this.showAllHidden.setLabel (jalview.util.MessageManager.getString ("label.all_sequences_columns"));\r
1799 this.showColumns.addActionListener (this);\r
1800 this.showSeqs.addActionListener (this);\r
1801 this.hideColumns.addActionListener (this);\r
1802 this.hideSequences.addActionListener (this);\r
1803 this.hideAllButSelection.addActionListener (this);\r
1804 this.hideAllSelection.addActionListener (this);\r
1805 this.showAllHidden.addActionListener (this);\r
1806 this.featureSettings.setLabel (jalview.util.MessageManager.getString ("label.feature_settings"));\r
1807 this.featureSettings.addActionListener (this);\r
1808 this.sequenceFeatures.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_features"));\r
1809 this.sequenceFeatures.addItemListener (this);\r
1810 this.sequenceFeatures.setState (false);\r
1811 this.followMouseOverFlag.setLabel (jalview.util.MessageManager.getString ("label.automatic_scrolling"));\r
1812 this.followMouseOverFlag.addItemListener (this);\r
1813 this.alProperties.addActionListener (this);\r
1814 this.overviewMenuItem.setLabel (jalview.util.MessageManager.getString ("label.overview_window"));\r
1815 this.overviewMenuItem.addActionListener (this);\r
1816 this.annotationPanelMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_annotations"));\r
1817 this.annotationPanelMenuItem.addItemListener (this);\r
1818 this.showGroupConsensus.setLabel (jalview.util.MessageManager.getString ("label.group_consensus"));\r
1819 this.showGroupConservation.setLabel (jalview.util.MessageManager.getString ("label.group_conservation"));\r
1820 this.showConsensusHistogram.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_histogram"));\r
1821 this.showSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_logo"));\r
1822 this.normSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.norm_consensus_logo"));\r
1823 this.applyAutoAnnotationSettings.setLabel (jalview.util.MessageManager.getString ("label.apply_all_groups"));\r
1824 this.applyAutoAnnotationSettings.setState (true);\r
1825 var autoAnnMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.autocalculated_annotation"));\r
1826 this.showGroupConsensus.addItemListener (this);\r
1827 this.showGroupConservation.addItemListener (this);\r
1828 this.showConsensusHistogram.addItemListener (this);\r
1829 this.showSequenceLogo.addItemListener (this);\r
1830 this.normSequenceLogo.addItemListener (this);\r
1831 this.applyAutoAnnotationSettings.addItemListener (this);\r
1832 this.showAlignmentAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_al_annotations"));\r
1833 this.showSequenceAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_seq_annotations"));\r
1834 this.sortAnnBySequence =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_sequence"));\r
1835 this.sortAnnByLabel =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_label"));\r
1836 this.showAutoFirst =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_first"));\r
1837 this.showAutoLast =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_last"));\r
1838 this.showAlignmentAnnotations.addItemListener (this);\r
1839 this.showSequenceAnnotations.addItemListener (this);\r
1840 this.sortAnnBySequence.addItemListener (this);\r
1841 this.sortAnnByLabel.addItemListener (this);\r
1842 this.showAutoFirst.addItemListener (this);\r
1843 this.showAutoLast.addItemListener (this);\r
1844 this.$font.setLabel (jalview.util.MessageManager.getString ("action.font"));\r
1845 this.$font.addActionListener (this);\r
1846 this.scaleAbove.setLabel (jalview.util.MessageManager.getString ("action.scale_above"));\r
1847 this.scaleAbove.setState (true);\r
1848 this.scaleAbove.setEnabled (false);\r
1849 this.scaleAbove.addItemListener (this);\r
1850 this.scaleLeft.setEnabled (false);\r
1851 this.scaleLeft.setState (true);\r
1852 this.scaleLeft.setLabel (jalview.util.MessageManager.getString ("action.scale_left"));\r
1853 this.scaleLeft.addItemListener (this);\r
1854 this.scaleRight.setEnabled (false);\r
1855 this.scaleRight.setState (true);\r
1856 this.scaleRight.setLabel (jalview.util.MessageManager.getString ("action.scale_right"));\r
1857 this.scaleRight.addItemListener (this);\r
1858 this.viewBoxesMenuItem.setLabel (jalview.util.MessageManager.getString ("action.boxes"));\r
1859 this.viewBoxesMenuItem.setState (true);\r
1860 this.viewBoxesMenuItem.addItemListener (this);\r
1861 this.viewTextMenuItem.setLabel (jalview.util.MessageManager.getString ("action.text"));\r
1862 this.viewTextMenuItem.setState (true);\r
1863 this.viewTextMenuItem.addItemListener (this);\r
1864 this.colourTextMenuItem.setLabel (jalview.util.MessageManager.getString ("label.colour_text"));\r
1865 this.colourTextMenuItem.addItemListener (this);\r
1866 this.displayNonconservedMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_non_conversed"));\r
1867 this.displayNonconservedMenuItem.addItemListener (this);\r
1868 this.wrapMenuItem.setLabel (jalview.util.MessageManager.getString ("action.wrap"));\r
1869 this.wrapMenuItem.addItemListener (this);\r
1870 this.renderGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.show_gaps"));\r
1871 this.renderGapsMenuItem.setState (true);\r
1872 this.renderGapsMenuItem.addItemListener (this);\r
1873 this.centreColumnLabelFlag.setLabel (jalview.util.MessageManager.getString ("label.centre_column_labels"));\r
1874 this.centreColumnLabelFlag.addItemListener (this);\r
1875 this.seqLimits.setState (true);\r
1876 this.seqLimits.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_limits"));\r
1877 this.seqLimits.addItemListener (this);\r
1878 this.applyToAllGroups.setLabel (jalview.util.MessageManager.getString ("label.apply_colour_to_all_groups"));\r
1879 this.applyToAllGroups.setState (true);\r
1880 this.applyToAllGroups.addItemListener (this);\r
1881 this.clustalColour.setLabel (jalview.util.MessageManager.getString ("label.clustalx"));\r
1882 this.clustalColour.addActionListener (this);\r
1883 this.zappoColour.setLabel (jalview.util.MessageManager.getString ("label.zappo"));\r
1884 this.zappoColour.addActionListener (this);\r
1885 this.taylorColour.setLabel (jalview.util.MessageManager.getString ("label.taylor"));\r
1886 this.taylorColour.addActionListener (this);\r
1887 this.hydrophobicityColour.setLabel (jalview.util.MessageManager.getString ("label.hydrophobicity"));\r
1888 this.hydrophobicityColour.addActionListener (this);\r
1889 this.helixColour.setLabel (jalview.util.MessageManager.getString ("label.helix_propensity"));\r
1890 this.helixColour.addActionListener (this);\r
1891 this.strandColour.setLabel (jalview.util.MessageManager.getString ("label.strand_propensity"));\r
1892 this.strandColour.addActionListener (this);\r
1893 this.turnColour.setLabel (jalview.util.MessageManager.getString ("label.turn_propensity"));\r
1894 this.turnColour.addActionListener (this);\r
1895 this.buriedColour.setLabel (jalview.util.MessageManager.getString ("label.buried_index"));\r
1896 this.buriedColour.addActionListener (this);\r
1897 this.purinePyrimidineColour.setLabel (jalview.util.MessageManager.getString ("label.purine_pyrimidine"));\r
1898 this.purinePyrimidineColour.addActionListener (this);\r
1899 this.RNAInteractionColour.setLabel (jalview.util.MessageManager.getString ("label.rna_interaction"));\r
1900 this.RNAInteractionColour.addActionListener (this);\r
1901 this.RNAHelixColour.setLabel (jalview.util.MessageManager.getString ("action.by_rna_helixes"));\r
1902 this.RNAHelixColour.addActionListener (this);\r
1903 this.userDefinedColour.setLabel (jalview.util.MessageManager.getString ("action.user_defined"));\r
1904 this.userDefinedColour.addActionListener (this);\r
1905 this.PIDColour.setLabel (jalview.util.MessageManager.getString ("label.percentage_identity"));\r
1906 this.PIDColour.addActionListener (this);\r
1907 this.BLOSUM62Colour.setLabel (jalview.util.MessageManager.getString ("label.blosum62_score"));\r
1908 this.BLOSUM62Colour.addActionListener (this);\r
1909 this.tcoffeeColour.setLabel (jalview.util.MessageManager.getString ("label.tcoffee_scores"));\r
1910 this.tcoffeeColour.setEnabled (false);\r
1911 this.tcoffeeColour.addActionListener (this);\r
1912 this.conservationMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_conservation"));\r
1913 this.conservationMenuItem.addItemListener (this);\r
1914 this.noColourmenuItem.setLabel (jalview.util.MessageManager.getString ("label.none"));\r
1915 this.noColourmenuItem.addActionListener (this);\r
1916 this.abovePIDThreshold.setLabel (jalview.util.MessageManager.getString ("label.above_identity_threshold"));\r
1917 this.abovePIDThreshold.addItemListener (this);\r
1918 this.nucleotideColour.setLabel (jalview.util.MessageManager.getString ("label.nucleotide"));\r
1919 this.nucleotideColour.addActionListener (this);\r
1920 this.modifyPID.setLabel (jalview.util.MessageManager.getString ("label.modify_identity_thereshold"));\r
1921 this.modifyPID.addActionListener (this);\r
1922 this.modifyConservation.setLabel (jalview.util.MessageManager.getString ("label.modify_conservation_thereshold"));\r
1923 this.modifyConservation.addActionListener (this);\r
1924 this.annotationColour.setLabel (jalview.util.MessageManager.getString ("action.by_annotation"));\r
1925 this.annotationColour.addActionListener (this);\r
1926 this.sortPairwiseMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_pairwise_id"));\r
1927 this.sortPairwiseMenuItem.addActionListener (this);\r
1928 this.sortIDMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_id"));\r
1929 this.sortIDMenuItem.addActionListener (this);\r
1930 this.sortLengthMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_length"));\r
1931 this.sortLengthMenuItem.addActionListener (this);\r
1932 this.sortGroupMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_group"));\r
1933 this.sortGroupMenuItem.addActionListener (this);\r
1934 this.pairwiseAlignmentMenuItem.setLabel (jalview.util.MessageManager.getString ("action.pairwise_alignment"));\r
1935 this.pairwiseAlignmentMenuItem.addActionListener (this);\r
1936 this.PCAMenuItem.setLabel (jalview.util.MessageManager.getString ("label.principal_component_analysis"));\r
1937 this.PCAMenuItem.addActionListener (this);\r
1938 this.autoCalculate =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.autocalculate_consensus"), true);\r
1939 this.averageDistanceTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_identity"));\r
1940 this.averageDistanceTreeMenuItem.addActionListener (this);\r
1941 this.neighbourTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_joining_identity"));\r
1942 this.neighbourTreeMenuItem.addActionListener (this);\r
1943 this.avDistanceTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_bloslum62"));\r
1944 this.avDistanceTreeBlosumMenuItem.addActionListener (this);\r
1945 this.njTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_blosum62"));\r
1946 this.njTreeBlosumMenuItem.addActionListener (this);\r
1947 this.sortByTreeMenu.setLabel (jalview.util.MessageManager.getString ("action.by_tree_order"));\r
1948 var sortMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.sort"));\r
1949 var calculateTreeMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate_tree"));\r
1950 this.autoCalculate.addItemListener (this);\r
1951 this.$sortByTree.addItemListener (this);\r
1952 var helpMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.help"));\r
1953 this.documentation.setLabel (jalview.util.MessageManager.getString ("label.documentation"));\r
1954 this.documentation.addActionListener (this);\r
1955 this.about.setLabel (jalview.util.MessageManager.getString ("label.about"));\r
1956 this.about.addActionListener (this);\r
1957 this.alignFrameMenuBar.add (this.fileMenu);\r
1958 var editMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.edit"));\r
1959 this.alignFrameMenuBar.add (editMenu);\r
1960 var selectMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.select"));\r
1961 this.alignFrameMenuBar.add (selectMenu);\r
1962 var viewMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.view"));\r
1963 this.alignFrameMenuBar.add (viewMenu);\r
1964 var annotationsMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.annotations"));\r
1965 this.alignFrameMenuBar.add (annotationsMenu);\r
1966 var formatMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.format"));\r
1967 this.alignFrameMenuBar.add (formatMenu);\r
1968 var colourMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.colour"));\r
1969 this.alignFrameMenuBar.add (colourMenu);\r
1970 var calculateMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate"));\r
1971 this.alignFrameMenuBar.add (calculateMenu);\r
1972 this.alignFrameMenuBar.add (helpMenu);\r
1973 this.fileMenu.add (this.inputText);\r
1974 this.fileMenu.add (this.$loadTree);\r
1975 this.fileMenu.add (this.$loadAnnotations);\r
1976 this.fileMenu.addSeparator ();\r
1977 this.fileMenu.add (outputTextboxMenu);\r
1978 this.fileMenu.add (this.$outputFeatures);\r
1979 this.fileMenu.add (this.$outputAnnotations);\r
1980 if (this.jalviewServletURL != null) {\r
1981 this.fileMenu.add (this.loadApplication);\r
1982 }this.fileMenu.addSeparator ();\r
1983 this.fileMenu.add (this.closeMenuItem);\r
1984 editMenu.add (this.undoMenuItem);\r
1985 editMenu.add (this.redoMenuItem);\r
1986 editMenu.add (this.cut);\r
1987 editMenu.add (this.copy);\r
1988 this.pasteMenu.add (this.pasteNew);\r
1989 this.pasteMenu.add (this.pasteThis);\r
1990 editMenu.add (this.pasteMenu);\r
1991 editMenu.add (this.$delete);\r
1992 editMenu.addSeparator ();\r
1993 editMenu.add (this.remove2LeftMenuItem);\r
1994 editMenu.add (this.remove2RightMenuItem);\r
1995 editMenu.add (this.removeGappedColumnMenuItem);\r
1996 editMenu.add (this.removeAllGapsMenuItem);\r
1997 editMenu.add (this.removeRedundancyMenuItem);\r
1998 selectMenu.add (this.findMenuItem);\r
1999 selectMenu.addSeparator ();\r
2000 selectMenu.add (this.selectAllSequenceMenuItem);\r
2001 selectMenu.add (this.deselectAllSequenceMenuItem);\r
2002 selectMenu.add (this.invertSequenceMenuItem);\r
2003 selectMenu.add (this.invertColSel);\r
2004 selectMenu.add (this.createGroup);\r
2005 selectMenu.add (this.unGroup);\r
2006 selectMenu.add (this.grpsFromSelection);\r
2007 selectMenu.add (this.deleteGroups);\r
2008 selectMenu.add (this.annotationColumnSelection);\r
2009 viewMenu.add (this.$newView);\r
2010 viewMenu.addSeparator ();\r
2011 showMenu.add (this.showColumns);\r
2012 showMenu.add (this.showSeqs);\r
2013 showMenu.add (this.showAllHidden);\r
2014 viewMenu.add (showMenu);\r
2015 hideMenu.add (this.hideColumns);\r
2016 hideMenu.add (this.hideSequences);\r
2017 hideMenu.add (this.hideAllSelection);\r
2018 hideMenu.add (this.hideAllButSelection);\r
2019 viewMenu.add (hideMenu);\r
2020 viewMenu.addSeparator ();\r
2021 viewMenu.add (this.followMouseOverFlag);\r
2022 viewMenu.addSeparator ();\r
2023 viewMenu.add (this.sequenceFeatures);\r
2024 viewMenu.add (this.featureSettings);\r
2025 viewMenu.addSeparator ();\r
2026 viewMenu.add (this.alProperties);\r
2027 viewMenu.addSeparator ();\r
2028 viewMenu.add (this.overviewMenuItem);\r
2029 annotationsMenu.add (this.annotationPanelMenuItem);\r
2030 annotationsMenu.addSeparator ();\r
2031 annotationsMenu.add (this.showAlignmentAnnotations);\r
2032 annotationsMenu.add (this.showSequenceAnnotations);\r
2033 annotationsMenu.add (this.sortAnnBySequence);\r
2034 annotationsMenu.add (this.sortAnnByLabel);\r
2035 annotationsMenu.addSeparator ();\r
2036 autoAnnMenu.add (this.showAutoFirst);\r
2037 autoAnnMenu.add (this.showAutoLast);\r
2038 autoAnnMenu.addSeparator ();\r
2039 autoAnnMenu.add (this.applyAutoAnnotationSettings);\r
2040 autoAnnMenu.add (this.showConsensusHistogram);\r
2041 autoAnnMenu.add (this.showSequenceLogo);\r
2042 autoAnnMenu.add (this.normSequenceLogo);\r
2043 autoAnnMenu.addSeparator ();\r
2044 autoAnnMenu.add (this.showGroupConservation);\r
2045 autoAnnMenu.add (this.showGroupConsensus);\r
2046 annotationsMenu.add (autoAnnMenu);\r
2047 formatMenu.add (this.$font);\r
2048 formatMenu.add (this.seqLimits);\r
2049 formatMenu.add (this.wrapMenuItem);\r
2050 formatMenu.add (this.scaleAbove);\r
2051 formatMenu.add (this.scaleLeft);\r
2052 formatMenu.add (this.scaleRight);\r
2053 formatMenu.add (this.viewBoxesMenuItem);\r
2054 formatMenu.add (this.viewTextMenuItem);\r
2055 formatMenu.add (this.colourTextMenuItem);\r
2056 formatMenu.add (this.displayNonconservedMenuItem);\r
2057 formatMenu.add (this.renderGapsMenuItem);\r
2058 formatMenu.add (this.centreColumnLabelFlag);\r
2059 colourMenu.add (this.applyToAllGroups);\r
2060 colourMenu.addSeparator ();\r
2061 colourMenu.add (this.noColourmenuItem);\r
2062 colourMenu.add (this.clustalColour);\r
2063 colourMenu.add (this.BLOSUM62Colour);\r
2064 colourMenu.add (this.PIDColour);\r
2065 colourMenu.add (this.zappoColour);\r
2066 colourMenu.add (this.taylorColour);\r
2067 colourMenu.add (this.hydrophobicityColour);\r
2068 colourMenu.add (this.helixColour);\r
2069 colourMenu.add (this.strandColour);\r
2070 colourMenu.add (this.turnColour);\r
2071 colourMenu.add (this.buriedColour);\r
2072 colourMenu.add (this.nucleotideColour);\r
2073 colourMenu.add (this.purinePyrimidineColour);\r
2074 colourMenu.add (this.tcoffeeColour);\r
2075 colourMenu.add (this.userDefinedColour);\r
2076 colourMenu.addSeparator ();\r
2077 colourMenu.add (this.conservationMenuItem);\r
2078 colourMenu.add (this.modifyConservation);\r
2079 colourMenu.add (this.abovePIDThreshold);\r
2080 colourMenu.add (this.modifyPID);\r
2081 colourMenu.add (this.annotationColour);\r
2082 colourMenu.add (this.RNAHelixColour);\r
2083 sortMenu.add (this.sortIDMenuItem);\r
2084 sortMenu.add (this.sortLengthMenuItem);\r
2085 sortMenu.add (this.sortByTreeMenu);\r
2086 sortMenu.add (this.sortGroupMenuItem);\r
2087 sortMenu.add (this.sortPairwiseMenuItem);\r
2088 calculateMenu.add (sortMenu);\r
2089 calculateTreeMenu.add (this.averageDistanceTreeMenuItem);\r
2090 calculateTreeMenu.add (this.neighbourTreeMenuItem);\r
2091 calculateTreeMenu.add (this.avDistanceTreeBlosumMenuItem);\r
2092 calculateTreeMenu.add (this.njTreeBlosumMenuItem);\r
2093 calculateMenu.add (calculateTreeMenu);\r
2094 calculateMenu.addSeparator ();\r
2095 calculateMenu.add (this.pairwiseAlignmentMenuItem);\r
2096 calculateMenu.add (this.PCAMenuItem);\r
2097 calculateMenu.add (this.autoCalculate);\r
2098 calculateMenu.add (this.$sortByTree);\r
2099 helpMenu.add (this.documentation);\r
2100 helpMenu.add (this.about);\r
2101 this.statusBar.setBackground (java.awt.Color.white);\r
2102 this.statusBar.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
2103 this.setStatus (jalview.util.MessageManager.getString ("label.status_bar"));\r
2104 this.add (this.statusBar, "South");\r
2105 });\r
2106 Clazz.overrideMethod (c$, "setStatus", \r
2107 function (string) {\r
2108 this.statusBar.setText (string);\r
2109 }, "~S");\r
2110 Clazz.defineMethod (c$, "createAlignFrameWindow", \r
2111 function (reallyEmbedded) {\r
2112 if (reallyEmbedded) {\r
2113 this.embedAlignFrameInApplet (this.viewport.applet);\r
2114 } else {\r
2115 if (this.embedMenuIfNeeded (this.alignPanel)) {\r
2116 this.alignPanel.setSize (this.getSize ().width, this.getSize ().height - this.statusBar.getHeight ());\r
2117 }this.add (this.statusBar, "South");\r
2118 this.add (this.alignPanel, "Center");\r
2119 jalview.bin.JalviewLite.addFrame (this, this.getTitle (), this.frameWidth, this.frameHeight);\r
2120 }}, "~B");\r
2121 Clazz.defineMethod (c$, "embedAlignFrameInApplet", \r
2122 function (theApplet) {\r
2123 this.fileMenu.remove (this.closeMenuItem);\r
2124 this.fileMenu.remove (3);\r
2125 this.embeddedMenu = this.makeEmbeddedPopupMenu (this.alignFrameMenuBar, false, false);\r
2126 theApplet.setLayout ( new java.awt.BorderLayout ());\r
2127 theApplet.add (this.embeddedMenu, "North");\r
2128 theApplet.add (this.statusBar, "South");\r
2129 this.alignPanel.setSize (theApplet.getSize ().width, theApplet.getSize ().height - this.embeddedMenu.getHeight () - this.statusBar.getHeight ());\r
2130 theApplet.add (this.alignPanel, "Center");\r
2131 var me = this;\r
2132 theApplet.addFocusListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$5") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$5$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$5, this, Clazz.cloneFinals ("theApplet", theApplet, "me", me))));\r
2133 theApplet.validate ();\r
2134 }, "jalview.bin.JalviewLite");\r
2135 Clazz.defineMethod (c$, "addStructureViewInstance", \r
2136 function (jmolviewer, sequenceIds) {\r
2137 return null;\r
2138 }, "~O,~A");\r
2139 Clazz.defineMethod (c$, "addPdbFile", \r
2140 function (sequenceId, pdbEntryString, pdbFile) {\r
2141 var toaddpdb = this.viewport.getAlignment ().findName (sequenceId);\r
2142 var needtoadd = false;\r
2143 if (toaddpdb != null) {\r
2144 var pdbe = toaddpdb.getPDBId ();\r
2145 var pdbentry = null;\r
2146 if (pdbe != null && pdbe.size () > 0) {\r
2147 for (var pe = 0, peSize = pdbe.size (); pe < peSize; pe++) {\r
2148 pdbentry = pdbe.elementAt (pe);\r
2149 if (!pdbentry.getId ().equals (pdbEntryString) && !pdbentry.getFile ().equals (pdbFile)) {\r
2150 pdbentry = null;\r
2151 } else {\r
2152 continue;\r
2153 }}\r
2154 }if (pdbentry == null) {\r
2155 pdbentry =  new jalview.datamodel.PDBEntry ();\r
2156 pdbentry.setId (pdbEntryString);\r
2157 pdbentry.setFile (pdbFile);\r
2158 needtoadd = true;\r
2159 }var protocol = jalview.io.AppletFormatAdapter.resolveProtocol (pdbFile, "PDB");\r
2160 if (protocol == null) {\r
2161 return false;\r
2162 }if (needtoadd) {\r
2163 if (pdbentry.getProperty () == null) {\r
2164 pdbentry.setProperty ( new java.util.Hashtable ());\r
2165 }pdbentry.getProperty ().put ("protocol", protocol);\r
2166 toaddpdb.addPDBId (pdbentry);\r
2167 this.alignPanel.getStructureSelectionManager ().registerPDBEntry (pdbentry);\r
2168 }}return true;\r
2169 }, "~S,~S,~S");\r
2170 Clazz.defineMethod (c$, "cleanSeqChainArrays", \r
2171  function (seqs, chains) {\r
2172 if (seqs != null) {\r
2173 var sequences =  new java.util.Vector ();\r
2174 for (var i = 0; i < seqs.length; i++) {\r
2175 if (seqs[i] != null) {\r
2176 sequences.addElement ( Clazz.newArray (-1, [seqs[i], (chains != null) ? chains[i] : null]));\r
2177 }}\r
2178 seqs =  new Array (sequences.size ());\r
2179 chains =  new Array (sequences.size ());\r
2180 for (var i = 0, isize = sequences.size (); i < isize; i++) {\r
2181 var oj = sequences.elementAt (i);\r
2182 seqs[i] = oj[0];\r
2183 chains[i] = oj[1];\r
2184 }\r
2185 }return  Clazz.newArray (-1, [seqs, chains]);\r
2186 }, "~A,~A");\r
2187 Clazz.defineMethod (c$, "newStructureView", \r
2188 function (applet, pdb, seqs, chains, protocol) {\r
2189 var sqch = this.cleanSeqChainArrays (seqs, chains);\r
2190 seqs = sqch[0];\r
2191 chains = sqch[1];\r
2192 if (seqs == null || seqs.length == 0) {\r
2193 System.err.println ("JalviewLite.AlignFrame:newStructureView: No sequence to bind structure to.");\r
2194 }if (protocol == null || protocol.trim ().length == 0 || protocol.equals ("null")) {\r
2195 protocol = pdb.getProperty ().get ("protocol");\r
2196 if (protocol == null) {\r
2197 System.err.println ("Couldn't work out protocol to open structure: " + pdb.getId ());\r
2198 return;\r
2199 }}if (applet.useXtrnalSviewer) {\r
2200 if (jalview.structure.StructureSelectionManager.getStructureSelectionManager (applet).setMapping (seqs, chains, pdb.getFile (), protocol) == null) {\r
2201 System.err.println ("Failed to map " + pdb.getFile () + " (" + protocol + ") to any sequences");\r
2202 }return;\r
2203 }if (applet.isAlignPdbStructures () && applet.jmolAvailable) {\r
2204 var ajm = null;\r
2205 var tajm;\r
2206 var jmols = applet.getAppletWindow (jalview.appletgui.AppletJmol);\r
2207 for (var i = 0, iSize = jmols.size (); i < iSize; i++) {\r
2208 tajm = jmols.elementAt (i);\r
2209 if (tajm.ap.alignFrame === this) {\r
2210 ajm = tajm;\r
2211 break;\r
2212 }}\r
2213 if (ajm != null) {\r
2214 System.err.println ("Incremental adding and aligning structure to existing Jmol view not yet implemented.");\r
2215 ajm = null;\r
2216 }} new jalview.appletgui.AppletJmol (pdb, seqs, chains, this.alignPanel, protocol);\r
2217 jalview.bin.JalviewLite.lastFrameX += 40;\r
2218 jalview.bin.JalviewLite.lastFrameY += 40;\r
2219 }, "jalview.bin.JalviewLite,jalview.datamodel.PDBEntry,~A,~A,~S");\r
2220 Clazz.defineMethod (c$, "alignedStructureView", \r
2221 function (applet, pdb, seqs, chains, protocols) {\r
2222 System.err.println ("Aligned Structure View: Not yet implemented.");\r
2223 }, "jalview.bin.JalviewLite,~A,~A,~A,~A");\r
2224 Clazz.defineMethod (c$, "select", \r
2225 function (sel, csel) {\r
2226 this.alignPanel.seqPanel.selection (sel, csel, null);\r
2227 }, "jalview.datamodel.SequenceGroup,jalview.datamodel.ColumnSelection");\r
2228 Clazz.defineMethod (c$, "scrollTo", \r
2229 function (row, column) {\r
2230 this.alignPanel.seqPanel.scrollTo (row, column);\r
2231 }, "~N,~N");\r
2232 Clazz.defineMethod (c$, "scrollToRow", \r
2233 function (row) {\r
2234 this.alignPanel.seqPanel.scrollToRow (row);\r
2235 }, "~N");\r
2236 Clazz.defineMethod (c$, "scrollToColumn", \r
2237 function (column) {\r
2238 this.alignPanel.seqPanel.scrollToColumn (column);\r
2239 }, "~N");\r
2240 Clazz.defineMethod (c$, "getSequenceSetId", \r
2241 function () {\r
2242 return this.viewport.getSequenceSetId ();\r
2243 });\r
2244 Clazz.defineMethod (c$, "loadScoreFile", \r
2245 function (inFile) {\r
2246 var file = jalview.jsdev.GenericFileAdapter.getFile ("TCoffeeScoreFile", [inFile, jalview.io.AppletFormatAdapter.checkProtocol (inFile)]);\r
2247 if (!file.isValid ()) {\r
2248 System.err.println ("Problems parsing T-Coffee scores: " + file.getWarningMessage ());\r
2249 System.err.println ("Origin was:\n" + inFile);\r
2250 return false;\r
2251 }var aln;\r
2252 if ((aln = this.viewport.getAlignment ()) != null && (aln.getHeight () != file.getHeight () || aln.getWidth () != file.getWidth ())) {\r
2253 System.err.println ("The scores matrix does not match the alignment dimensions");\r
2254 }if (file.annotateAlignment (this.alignPanel.getAlignment (), false)) {\r
2255 this.alignPanel.fontChanged ();\r
2256 this.tcoffeeColour.setEnabled (true);\r
2257 this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));\r
2258 return true;\r
2259 } else {\r
2260 System.err.println ("Problems resolving T-Coffee scores:");\r
2261 if (file.getWarningMessage () != null) {\r
2262 System.err.println (file.getWarningMessage ());\r
2263 }}return false;\r
2264 }, "~S");\r
2265 Clazz.defineMethod (c$, "getSplitFrame", \r
2266 function () {\r
2267 return this.splitFrame;\r
2268 });\r
2269 Clazz.defineMethod (c$, "setSplitFrame", \r
2270 function (sf) {\r
2271 this.splitFrame = sf;\r
2272 }, "jalview.appletgui.SplitFrame");\r
2273 Clazz.overrideMethod (c$, "setShowSeqFeatures", \r
2274 function (b) {\r
2275 this.viewport.setShowSequenceFeatures (b);\r
2276 }, "~B");\r
2277 Clazz.overrideMethod (c$, "setMenusForViewport", \r
2278 function () {\r
2279 });\r
2280 Clazz.overrideMethod (c$, "refreshFeatureUI", \r
2281 function (enableIfNecessary) {\r
2282 if (enableIfNecessary) {\r
2283 this.sequenceFeatures.setState (true);\r
2284 this.alignPanel.av.setShowSequenceFeatures (true);\r
2285 }}, "~B");\r
2286 Clazz.overrideMethod (c$, "getFeatureSettingsUI", \r
2287 function () {\r
2288 return this.alignPanel.av.featureSettings;\r
2289 });\r
2290 c$.$AlignFrame$1$ = function () {\r
2291 Clazz.pu$h(self.c$);\r
2292 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$1", java.awt.event.WindowAdapter);\r
2293 Clazz.overrideMethod (c$, "windowClosing", \r
2294 function (e) {\r
2295 if (this.f$.ap != null) {\r
2296 this.f$.ap.setOverviewPanel (null);\r
2297 }}, "java.awt.event.WindowEvent");\r
2298 c$ = Clazz.p0p ();\r
2299 };\r
2300 c$.$AlignFrame$2$ = function () {\r
2301 Clazz.pu$h(self.c$);\r
2302 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$2", null, java.awt.event.ActionListener);\r
2303 Clazz.overrideMethod (c$, "actionPerformed", \r
2304 function (evt) {\r
2305 this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);\r
2306 }, "java.awt.event.ActionEvent");\r
2307 c$ = Clazz.p0p ();\r
2308 };\r
2309 c$.$AlignFrame$3$ = function () {\r
2310 Clazz.pu$h(self.c$);\r
2311 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$3", java.awt.event.WindowAdapter);\r
2312 Clazz.defineMethod (c$, "windowOpened", \r
2313 function (e) {\r
2314 if (this.b$["jalview.appletgui.AlignFrame"].viewport.sortByTree) {\r
2315 this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);\r
2316 }Clazz.superCall (this, jalview.appletgui.AlignFrame$3, "windowOpened", [e]);\r
2317 }, "java.awt.event.WindowEvent");\r
2318 Clazz.overrideMethod (c$, "windowClosing", \r
2319 function (e) {\r
2320 this.b$["jalview.appletgui.AlignFrame"].sortByTreeMenu.remove (this.f$.item);\r
2321 }, "java.awt.event.WindowEvent");\r
2322 c$ = Clazz.p0p ();\r
2323 };\r
2324 c$.$AlignFrame$1AboutPanel$ = function () {\r
2325 Clazz.pu$h(self.c$);\r
2326 c$ = Clazz.decorateAsClass (function () {\r
2327 Clazz.prepareCallback (this, arguments);\r
2328 this.version = null;\r
2329 this.builddate = null;\r
2330 Clazz.instantialize (this, arguments);\r
2331 }, jalview.appletgui, "AlignFrame$1AboutPanel", awt2swing.Canvas);\r
2332 Clazz.makeConstructor (c$, \r
2333 function (a, b) {\r
2334 Clazz.superConstructor (this, jalview.appletgui.AlignFrame$1AboutPanel, []);\r
2335 this.version = a;\r
2336 this.builddate = b;\r
2337 }, "~S,~S");\r
2338 Clazz.overrideMethod (c$, "paintComponent", \r
2339 function (a) {\r
2340 a.setColor (java.awt.Color.white);\r
2341 a.fillRect (0, 0, this.getSize ().width, this.getSize ().height);\r
2342 a.setFont ( new java.awt.Font ("Helvetica", 0, 12));\r
2343 var b = a.getFontMetrics ();\r
2344 var c = b.getHeight ();\r
2345 var d = 5;\r
2346 var e = 7;\r
2347 a.setColor (java.awt.Color.black);\r
2348 a.setFont ( new java.awt.Font ("Helvetica", 1, 14));\r
2349 a.drawString (jalview.util.MessageManager.formatMessage ("label.jalviewLite_release",  Clazz.newArray (-1, [this.version])), e, d += c);\r
2350 a.setFont ( new java.awt.Font ("Helvetica", 1, 12));\r
2351 a.drawString (jalview.util.MessageManager.formatMessage ("label.jaview_build_date",  Clazz.newArray (-1, [this.builddate])), e, d += c);\r
2352 a.setFont ( new java.awt.Font ("Helvetica", 0, 12));\r
2353 a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_1"), e, d += c * 1.5);\r
2354 a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_2"), e + 50, d += c + 8);\r
2355 a.drawString (jalview.util.MessageManager.getString ("label.jalview_dev_managers"), e, d += c);\r
2356 a.drawString (jalview.util.MessageManager.getString ("label.jalview_distribution_lists"), e, d += c);\r
2357 a.drawString (jalview.util.MessageManager.getString ("label.jalview_please_cite"), e, d += c + 8);\r
2358 a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_authors"), e, d += c);\r
2359 a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_title"), e, d += c);\r
2360 a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_ref"), e, d += c);\r
2361 }, "java.awt.Graphics");\r
2362 c$ = Clazz.p0p ();\r
2363 };\r
2364 c$.$AlignFrame$4$ = function () {\r
2365 Clazz.pu$h(self.c$);\r
2366 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$4", null, java.awt.event.ActionListener);\r
2367 Clazz.overrideMethod (c$, "actionPerformed", \r
2368 function (e) {\r
2369 this.b$["jalview.appletgui.AlignFrame"].outputText_actionPerformed (e);\r
2370 }, "java.awt.event.ActionEvent");\r
2371 c$ = Clazz.p0p ();\r
2372 };\r
2373 c$.$AlignFrame$5$ = function () {\r
2374 Clazz.pu$h(self.c$);\r
2375 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$5", null, java.awt.event.FocusListener);\r
2376 Clazz.overrideMethod (c$, "focusLost", \r
2377 function (e) {\r
2378 if (this.f$.theApplet.currentAlignFrame === this.f$.me) {\r
2379 this.f$.theApplet.currentAlignFrame = null;\r
2380 }}, "java.awt.event.FocusEvent");\r
2381 Clazz.overrideMethod (c$, "focusGained", \r
2382 function (e) {\r
2383 this.f$.theApplet.currentAlignFrame = this.f$.me;\r
2384 }, "java.awt.event.FocusEvent");\r
2385 c$ = Clazz.p0p ();\r
2386 };\r
2387 Clazz.defineStatics (c$,\r
2388 "copiedSequences", null,\r
2389 "copiedHiddenColumns", null);\r
2390 });\r