1 Clazz.declarePackage ("jalview.appletgui");
2 Clazz.load (["awt2swing.Panel", "jalview.api.AlignmentViewPanel", "java.awt.event.AdjustmentListener", "awt2swing.Scrollbar"], "jalview.appletgui.AlignmentPanel", ["awt2swing.Frame", "jalview.analysis.AnnotationSorter", "jalview.appletgui.AnnotationLabels", "$.AnnotationPanel", "$.FeatureRenderer", "$.IdPanel", "$.IdwidthAdjuster", "$.PaintRefresher", "$.ScalePanel", "$.SeqPanel", "jalview.bin.JalviewLite", "jalview.structure.StructureSelectionManager", "java.awt.BorderLayout", "$.Color", "$.Dimension", "java.awt.event.ComponentAdapter", "java.beans.PropertyChangeListener"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 this.overviewPanel = null;
8 this.idwidthAdjuster = null;
9 this.alignFrame = null;
10 this.scalePanel = null;
11 this.annotationPanel = null;
13 this.fastPaint = true;
16 this.sequenceHolderPanel = null;
19 this.seqPanelHolder = null;
20 this.scalePanelHolder = null;
21 this.idPanelHolder = null;
22 this.idSpaceFillerPanel1 = null;
23 this.annotationSpaceFillerHolder = null;
24 this.hscrollFillerPanel = null;
25 this.annotationPanelHolder = null;
26 this.apvscroll = null;
27 this.followingComplementScroll = false;
28 Clazz.instantialize (this, arguments);
29 }, jalview.appletgui, "AlignmentPanel", awt2swing.Panel, [java.awt.event.AdjustmentListener, jalview.api.AlignmentViewPanel]);
30 Clazz.prepareFields (c$, function () {
31 this.sequenceHolderPanel = new awt2swing.Panel ();
32 this.vscroll = new awt2swing.Scrollbar ();
33 this.hscroll = new awt2swing.Scrollbar ();
34 this.seqPanelHolder = new awt2swing.Panel ();
35 this.scalePanelHolder = new awt2swing.Panel ();
36 this.idPanelHolder = new awt2swing.Panel ();
37 this.idSpaceFillerPanel1 = new awt2swing.Panel ();
38 this.annotationSpaceFillerHolder = new awt2swing.Panel ();
39 this.hscrollFillerPanel = new awt2swing.Panel ();
40 this.annotationPanelHolder = new awt2swing.Panel ();
41 this.apvscroll = new awt2swing.Scrollbar ();
43 Clazz.overrideMethod (c$, "finalize",
45 this.alignFrame = null;
48 this.seqPanelHolder = null;
49 this.sequenceHolderPanel = null;
50 this.scalePanel = null;
51 this.scalePanelHolder = null;
52 this.annotationPanel = null;
53 this.annotationPanelHolder = null;
54 this.annotationSpaceFillerHolder = null;
56 Clazz.makeConstructor (c$,
58 Clazz.superConstructor (this, jalview.appletgui.AlignmentPanel, []);
59 this.setName ("alignmentPanel");
63 if (Clazz.exceptionOf (e, Exception)) {
71 this.seqPanel = new jalview.appletgui.SeqPanel (av, this);
72 this.idPanel = new jalview.appletgui.IdPanel (av, this);
73 this.scalePanel = new jalview.appletgui.ScalePanel (av, this);
74 this.idwidthAdjuster = new jalview.appletgui.IdwidthAdjuster (this);
75 this.annotationPanel = new jalview.appletgui.AnnotationPanel (this);
76 this.annotationPanelHolder.add (this.annotationPanel, "Center");
77 this.sequenceHolderPanel.add (this.annotationPanelHolder, "South");
78 this.alabels = new jalview.appletgui.AnnotationLabels (this);
79 this.setAnnotationVisible (av.isShowAnnotation ());
80 this.idPanelHolder.add (this.idPanel, "Center");
81 this.idSpaceFillerPanel1.add (this.idwidthAdjuster, "Center");
82 this.annotationSpaceFillerHolder.add (this.alabels, "Center");
83 this.scalePanelHolder.add (this.scalePanel, "Center");
84 this.seqPanelHolder.add (this.seqPanel, "Center");
86 this.setScrollValues (0, 0);
87 this.apvscroll.addAdjustmentListener (this);
88 this.hscroll.addAdjustmentListener (this);
89 this.vscroll.addAdjustmentListener (this);
90 this.addComponentListener (((Clazz.isClassDefined ("jalview.appletgui.AlignmentPanel$1") ? 0 : jalview.appletgui.AlignmentPanel.$AlignmentPanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignmentPanel$1, this, Clazz.cloneFinals ("av", av))));
91 var d = this.calculateIdWidth ();
92 this.idPanel.idCanvas.setSize (d);
93 this.hscrollFillerPanel.setSize (d.width, this.annotationPanel.getSize ().height);
94 this.idPanel.idCanvas.setSize (d.width, this.seqPanel.seqCanvas.getSize ().height);
95 this.annotationSpaceFillerHolder.setSize (d.width, this.annotationPanel.getSize ().height);
96 this.alabels.setSize (d.width, this.annotationPanel.getSize ().height);
98 av.addPropertyChangeListener (((Clazz.isClassDefined ("jalview.appletgui.AlignmentPanel$2") ? 0 : jalview.appletgui.AlignmentPanel.$AlignmentPanel$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignmentPanel$2, this, Clazz.cloneFinals ("ap", ap, "av", av))));
99 }, "jalview.appletgui.AlignFrame,jalview.appletgui.AlignViewport");
100 Clazz.overrideMethod (c$, "getAlignViewport",
104 Clazz.defineMethod (c$, "getSequenceRenderer",
106 return this.seqPanel.seqCanvas.sr;
108 Clazz.overrideMethod (c$, "getFeatureRenderer",
110 return this.seqPanel.seqCanvas.fr;
112 Clazz.overrideMethod (c$, "cloneFeatureRenderer",
114 var nfr = new jalview.appletgui.FeatureRenderer (this.av);
115 nfr.transferSettings (this.seqPanel.seqCanvas.fr);
118 Clazz.defineMethod (c$, "alignmentChanged",
120 this.av.alignmentChanged (this);
121 if (this.overviewPanel != null) {
122 this.overviewPanel.updateOverviewImage ();
123 }this.alignFrame.updateEditMenuBar ();
126 Clazz.defineMethod (c$, "fontChanged",
128 this.idPanel.idCanvas.image = null;
129 var fm = this.getFontMetrics (this.av.getFont ());
130 this.scalePanel.setSize ( new java.awt.Dimension (10, this.av.getCharHeight () + fm.getDescent ()));
131 this.idwidthAdjuster.setSize ( new java.awt.Dimension (10, this.av.getCharHeight () + fm.getDescent ()));
132 this.av.updateSequenceIdColours ();
133 this.annotationPanel.image = null;
134 var ap = this.annotationPanel.adjustPanelHeight (false);
135 var d = this.calculateIdWidth ();
136 d.setSize (d.width + 4, this.seqPanel.seqCanvas.getSize ().height);
137 this.alabels.setSize (d.width + 4, ap);
138 this.idPanel.idCanvas.setSize (d);
139 this.hscrollFillerPanel.setSize (d);
140 this.validateAnnotationDimensions (false);
141 this.annotationPanel.repaint ();
144 if (this.overviewPanel != null) {
145 this.overviewPanel.updateOverviewImage ();
147 Clazz.defineMethod (c$, "setIdWidth",
149 this.idPanel.idCanvas.setSize (w, h);
150 this.idPanelHolder.setSize (w, this.idPanelHolder.getSize ().height);
151 this.annotationSpaceFillerHolder.setSize (w, this.annotationSpaceFillerHolder.getSize ().height);
152 this.alabels.setSize (w, this.alabels.getSize ().height);
155 Clazz.defineMethod (c$, "calculateIdWidth",
157 if (this.av.nullFrame == null) {
158 this.av.nullFrame = new awt2swing.Frame ();
159 this.av.nullFrame.addNotify ();
160 this.av.nullFrame.setFont (this.av.font);
161 }var g = this.av.nullFrame.getGraphics ();
162 var fm = g.getFontMetrics (this.av.font);
163 var al = this.av.getAlignment ();
167 while (i < al.getHeight () && al.getSequenceAt (i) != null) {
168 var s = al.getSequenceAt (i);
169 id = s.getDisplayId (this.av.getShowJVSuffix ());
170 if (fm.stringWidth (id) > idWidth) {
171 idWidth = fm.stringWidth (id);
175 if (al.getAlignmentAnnotation () != null) {
176 fm = g.getFontMetrics (this.av.nullFrame.getFont ());
177 while (i < al.getAlignmentAnnotation ().length) {
178 var label = al.getAlignmentAnnotation ()[i].label;
179 if (fm.stringWidth (label) > idWidth) {
180 idWidth = fm.stringWidth (label);
183 }return new java.awt.Dimension (idWidth, this.idPanel.idCanvas.getSize ().height);
185 Clazz.defineMethod (c$, "highlightSearchResults",
187 this.scrollToPosition (results);
188 this.seqPanel.seqCanvas.highlightSearchResults (results);
189 }, "jalview.datamodel.SearchResults");
190 Clazz.defineMethod (c$, "scrollToPosition",
192 return this.scrollToPosition (results, true);
193 }, "jalview.datamodel.SearchResults");
194 Clazz.defineMethod (c$, "scrollToPosition",
195 function (results, redrawOverview) {
196 return this.scrollToPosition (results, redrawOverview, false);
197 }, "jalview.datamodel.SearchResults,~B");
198 Clazz.defineMethod (c$, "scrollToPosition",
199 function (results, redrawOverview, centre) {
200 if (results != null && results.getSize () > 0) {
201 var alignment = this.av.getAlignment ();
202 var seqIndex = alignment.findIndex (results);
203 if (seqIndex == -1) {
205 }var seq = alignment.getSequenceAt (seqIndex);
206 var r = results.getResults (seq, 0, alignment.getWidth ());
208 if (jalview.bin.JalviewLite.debug) {
209 System.out.println ("DEBUG: scroll didn't happen - results not within alignment : " + seq.getStart () + "," + seq.getEnd ());
211 }if (jalview.bin.JalviewLite.debug) {
215 var offset = Clazz.doubleToInt ((this.av.getEndRes () - this.av.getStartRes () + 1) / 2) - 1;
216 start = Math.max (start - offset, 0);
217 end = Math.min (end + offset, seq.getEnd () - 1);
220 }if (end == seq.getEnd ()) {
222 }return this.scrollTo (start, end, seqIndex, false, redrawOverview);
224 }, "jalview.datamodel.SearchResults,~B,~B");
225 Clazz.defineMethod (c$, "scrollTo",
226 function (ostart, end, seqIndex, scrollToNearest, redrawOverview) {
233 if (this.av.hasHiddenColumns ()) {
234 start = this.av.getColumnSelection ().findColumnPosition (ostart);
235 end = this.av.getColumnSelection ().findColumnPosition (end);
237 if (!scrollToNearest && !this.av.getColumnSelection ().isVisible (ostart)) {
241 }if (!this.av.getWrapAlignment ()) {
242 if ((startv = this.av.getStartRes ()) >= start) {
243 this.setScrollValues (start - 1, seqIndex);
244 } else if ((endv = this.av.getEndRes ()) <= end) {
245 this.setScrollValues (startv + 1 + end - endv, seqIndex);
246 } else if ((starts = this.av.getStartSeq ()) > seqIndex) {
247 this.setScrollValues (this.av.getStartRes (), seqIndex);
248 } else if ((ends = this.av.getEndSeq ()) <= seqIndex) {
249 this.setScrollValues (this.av.getStartRes (), starts + seqIndex - ends + 1);
251 this.scrollToWrappedVisible (start);
252 }if (redrawOverview && this.overviewPanel != null) {
253 this.overviewPanel.setBoxPosition ();
254 }this.paintAlignment (redrawOverview);
256 }, "~N,~N,~N,~B,~B");
257 Clazz.defineMethod (c$, "scrollToWrappedVisible",
259 var cwidth = this.seqPanel.seqCanvas.getWrappedCanvasWidth (this.seqPanel.seqCanvas.getSize ().width);
260 if (res <= this.av.getStartRes () || res >= (this.av.getStartRes () + cwidth)) {
261 this.vscroll.setValue (Clazz.doubleToInt (res / cwidth));
262 this.av.startRes = this.vscroll.getValue () * cwidth;
264 Clazz.defineMethod (c$, "getOverviewPanel",
266 return this.overviewPanel;
268 Clazz.defineMethod (c$, "setOverviewPanel",
270 this.overviewPanel = op;
271 }, "jalview.appletgui.OverviewPanel");
272 Clazz.defineMethod (c$, "setAnnotationVisible",
274 if (!this.av.getWrapAlignment ()) {
275 this.annotationSpaceFillerHolder.setVisible (b);
276 this.annotationPanelHolder.setVisible (b);
278 this.annotationSpaceFillerHolder.setVisible (false);
279 this.annotationPanelHolder.setVisible (false);
283 Clazz.overrideMethod (c$, "adjustAnnotationHeight",
285 if (this.alignFrame.getSize ().height == 0) {
286 System.out.println ("adjustAnnotationHeight frame size zero NEEDS FIXING");
287 }this.fontChanged ();
288 this.validateAnnotationDimensions (true);
289 this.apvscroll.addNotify ();
290 this.hscroll.addNotify ();
292 this.paintAlignment (true);
294 Clazz.defineMethod (c$, "validateAnnotationDimensions",
295 function (adjustPanelHeight) {
296 var rowHeight = this.av.getCharHeight ();
297 var alignmentHeight = rowHeight * this.av.getAlignment ().getHeight ();
298 var annotationHeight = this.av.calcPanelHeight ();
299 var mheight = annotationHeight;
300 var d = this.sequenceHolderPanel.getSize ();
301 var availableHeight = d.height - this.scalePanelHolder.getHeight ();
302 if (adjustPanelHeight) {
303 if (annotationHeight + alignmentHeight > availableHeight) {
304 annotationHeight = Math.min (annotationHeight, availableHeight - 2 * rowHeight);
306 annotationHeight = this.annotationPanelHolder.getSize ().height;
307 }if (availableHeight - annotationHeight < 5) {
308 annotationHeight = availableHeight;
309 }this.annotationPanel.setSize ( new java.awt.Dimension (d.width, annotationHeight));
310 this.annotationPanelHolder.setSize ( new java.awt.Dimension (d.width, annotationHeight));
311 this.seqPanel.seqCanvas.setSize (d.width, this.seqPanel.seqCanvas.getSize ().height);
312 var e = this.idPanel.getSize ();
313 this.alabels.setSize ( new java.awt.Dimension (e.width, annotationHeight));
314 this.annotationSpaceFillerHolder.setSize ( new java.awt.Dimension (e.width, annotationHeight));
315 var s = this.apvscroll.getValue ();
316 if (s > mheight - annotationHeight) {
318 }this.apvscroll.setValues (s, annotationHeight, 0, mheight);
319 this.annotationPanel.setScrollOffset (this.apvscroll.getValue (), false);
320 this.alabels.setScrollOffset (this.apvscroll.getValue (), false);
322 Clazz.defineMethod (c$, "setWrapAlignment",
324 this.av.startSeq = 0;
325 this.av.startRes = 0;
326 this.scalePanelHolder.setVisible (!wrap);
327 this.hscroll.setVisible (!wrap);
328 this.idwidthAdjuster.setVisible (!wrap);
330 this.annotationPanelHolder.setVisible (false);
331 this.annotationSpaceFillerHolder.setVisible (false);
332 } else if (this.av.isShowAnnotation ()) {
333 this.annotationPanelHolder.setVisible (true);
334 this.annotationSpaceFillerHolder.setVisible (true);
335 }this.idSpaceFillerPanel1.setVisible (!wrap);
338 this.sequenceHolderPanel.validate ();
341 Clazz.defineMethod (c$, "scrollUp",
344 if (this.vscroll.getValue () < 1) {
346 }this.setScrollValues (this.hscroll.getValue (), this.vscroll.getValue () - 1);
348 if (this.vextent + this.vscroll.getValue () >= this.av.getAlignment ().getHeight ()) {
350 }this.setScrollValues (this.hscroll.getValue (), this.vscroll.getValue () + 1);
354 Clazz.defineMethod (c$, "scrollRight",
357 if (this.hscroll.getValue () < 1) {
359 }this.setScrollValues (this.hscroll.getValue () - 1, this.vscroll.getValue ());
361 if (this.hextent + this.hscroll.getValue () >= this.av.getAlignment ().getWidth ()) {
363 }this.setScrollValues (this.hscroll.getValue () + 1, this.vscroll.getValue ());
367 Clazz.defineMethod (c$, "setScrollValues",
369 var width = this.av.getAlignment ().getWidth ();
370 var height = this.av.getAlignment ().getHeight ();
371 if (this.av.hasHiddenColumns ()) {
372 width = this.av.getColumnSelection ().findColumnPosition (width);
375 };this.hextent = Clazz.doubleToInt (this.seqPanel.seqCanvas.getSize ().width / this.av.getCharWidth ());
376 this.vextent = Clazz.doubleToInt (this.seqPanel.seqCanvas.getSize ().height / this.av.getCharHeight ());
377 if (this.hextent > width) {
378 this.hextent = width;
379 }if (this.vextent > height) {
380 this.vextent = height;
381 }if ((this.hextent + x) > width) {
382 System.err.println ("hextent was " + this.hextent + " and x was " + x);
383 x = width - this.hextent;
384 }if ((this.vextent + y) > height) {
385 y = height - this.vextent;
389 System.err.println ("x was " + x);
391 }this.av.setStartSeq (y);
392 var endSeq = y + this.vextent;
393 if (endSeq > this.av.getAlignment ().getHeight ()) {
394 endSeq = this.av.getAlignment ().getHeight ();
395 }this.av.setEndSeq (endSeq);
396 this.av.setStartRes (x);
397 this.av.setEndRes ((x + (Clazz.doubleToInt (this.seqPanel.seqCanvas.getSize ().width / this.av.getCharWidth ()))) - 1);
398 this.hscroll.setValues (x, this.hextent, 0, width);
399 this.vscroll.setValues (y, this.vextent, 0, height);
400 if (this.overviewPanel != null) {
401 this.overviewPanel.setBoxPosition ();
402 }this.sendViewPosition ();
404 Clazz.overrideMethod (c$, "adjustmentValueChanged",
406 if (this.annotationPanel == null) return;
407 var oldX = this.av.getStartRes ();
408 var oldY = this.av.getStartSeq ();
409 if (evt == null || evt.getSource () === this.apvscroll) {
410 this.annotationPanel.setScrollOffset (this.apvscroll.getValue (), false);
411 this.alabels.setScrollOffset (this.apvscroll.getValue (), false);
412 }if (evt == null || evt.getSource () === this.hscroll) {
413 var x = this.hscroll.getValue ();
414 this.av.setStartRes (x);
415 this.av.setEndRes (x + Clazz.doubleToInt (this.seqPanel.seqCanvas.getSize ().width / this.av.getCharWidth ()) - 1);
416 }if (evt == null || evt.getSource () === this.vscroll) {
417 var offy = this.vscroll.getValue ();
418 if (this.av.getWrapAlignment ()) {
419 var rowSize = this.seqPanel.seqCanvas.getWrappedCanvasWidth (this.seqPanel.seqCanvas.getSize ().width);
420 this.av.setStartRes (this.vscroll.getValue () * rowSize);
421 this.av.setEndRes ((this.vscroll.getValue () + 1) * rowSize);
423 this.av.setStartSeq (offy);
424 this.av.setEndSeq (offy + Clazz.doubleToInt (this.seqPanel.seqCanvas.getSize ().height / this.av.getCharHeight ()));
425 }}if (this.overviewPanel != null) {
426 this.overviewPanel.setBoxPosition ();
427 }var scrollX = this.av.startRes - oldX;
428 var scrollY = this.av.startSeq - oldY;
429 if (this.av.getWrapAlignment () || !this.fastPaint || this.av.MAC) {
432 if (scrollX > this.av.endRes - this.av.startRes) {
433 scrollX = this.av.endRes - this.av.startRes;
434 } else if (scrollX < this.av.startRes - this.av.endRes) {
435 scrollX = this.av.startRes - this.av.endRes;
436 }this.idPanel.idCanvas.fastPaint (scrollY);
437 this.seqPanel.seqCanvas.fastPaint (scrollX, scrollY);
438 this.scalePanel.repaint ();
439 if (this.av.isShowAnnotation ()) {
440 this.annotationPanel.fastPaint (this.av.getStartRes () - oldX);
441 }}this.sendViewPosition ();
442 if (this.isFollowingComplementScroll ()) {
443 this.setFollowingComplementScroll (false);
445 var ap = this.getComplementPanel ();
446 this.av.scrollComplementaryAlignment (ap);
447 }}, "java.awt.event.AdjustmentEvent");
448 Clazz.defineMethod (c$, "getComplementPanel",
451 if (this.alignFrame != null) {
452 var sf = this.alignFrame.getSplitFrame ();
454 var other = sf.getComplement (this.alignFrame);
456 ap = other.alignPanel;
458 }, $fz.isPrivate = true, $fz));
459 Clazz.defineMethod (c$, "scrollToCentre",
460 function (sr, seqOffset) {
461 var mappedTo = sr.getResultSequence (0);
462 var seqs = this.av.getAlignment ().getSequences ();
463 var sequenceIndex = 0;
465 for (var seq, $seq = seqs.iterator (); $seq.hasNext () && ((seq = $seq.next ()) || true);) {
466 if (mappedTo === seq.getDatasetSequence ()) {
473 }sequenceIndex = Math.max (0, sequenceIndex - seqOffset);
474 sr.getResults ().get (0).setSequence (this.av.getAlignment ().getSequenceAt (sequenceIndex));
475 this.setFollowingComplementScroll (true);
476 this.scrollToPosition (sr, true, true);
477 }, "jalview.datamodel.SearchResults,~N");
478 Clazz.defineMethod (c$, "sendViewPosition",
480 jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.av.applet).sendViewPosition (this, this.av.startRes, this.av.endRes, this.av.startSeq, this.av.endSeq);
481 }, $fz.isPrivate = true, $fz));
482 Clazz.overrideMethod (c$, "paintAlignment",
483 function (updateOverview) {
484 var sorter = new jalview.analysis.AnnotationSorter (this.getAlignment (), this.av.isShowAutocalculatedAbove ());
485 sorter.sort (this.getAlignment ().getAlignmentAnnotation (), this.av.getSortAnnotationsBy ());
487 if (updateOverview) {
488 jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.av.applet).sequenceColoursChanged (this);
489 if (this.overviewPanel != null) {
490 this.overviewPanel.updateOverviewImage ();
492 Clazz.overrideMethod (c$, "paintComponent",
494 System.out.println ("alignframe paintcomp");
496 var d = this.idPanel.idCanvas.getSize ();
497 var canvasHeight = this.seqPanel.seqCanvas.getSize ().height;
498 if (canvasHeight != d.height) {
499 this.idPanel.idCanvas.setSize (d.width, canvasHeight);
500 }if (this.av.getWrapAlignment ()) {
501 var maxwidth = this.av.getAlignment ().getWidth ();
502 if (this.av.hasHiddenColumns ()) {
503 maxwidth = this.av.getColumnSelection ().findColumnPosition (maxwidth) - 1;
504 }var canvasWidth = this.seqPanel.seqCanvas.getWrappedCanvasWidth (this.seqPanel.seqCanvas.getSize ().width);
505 if (canvasWidth > 0) {
506 var max = Clazz.doubleToInt (maxwidth / canvasWidth);
507 this.vscroll.setMaximum (1 + max);
508 this.vscroll.setUnitIncrement (1);
509 this.vscroll.setVisibleAmount (1);
511 this.setScrollValues (this.av.getStartRes (), this.av.getStartSeq ());
512 }}, "java.awt.Graphics");
513 Clazz.defineMethod (c$, "jbInit",
515 this.setLayout ( new java.awt.BorderLayout ());
516 this.sequenceHolderPanel.setLayout ( new java.awt.BorderLayout ());
517 this.seqPanelHolder.setLayout ( new java.awt.BorderLayout ());
518 this.scalePanelHolder.setBackground (java.awt.Color.white);
519 this.scalePanelHolder.setLayout ( new java.awt.BorderLayout ());
520 this.idPanelHolder.setLayout ( new java.awt.BorderLayout ());
521 this.idSpaceFillerPanel1.setBackground (java.awt.Color.white);
522 this.idSpaceFillerPanel1.setLayout ( new java.awt.BorderLayout ());
523 this.annotationSpaceFillerHolder.setBackground (java.awt.Color.white);
524 this.annotationSpaceFillerHolder.setLayout ( new java.awt.BorderLayout ());
525 this.hscroll.setOrientation (0);
526 var hscrollHolder = new awt2swing.Panel ();
527 hscrollHolder.setLayout ( new java.awt.BorderLayout ());
528 this.hscrollFillerPanel.setBackground (java.awt.Color.white);
529 this.apvscroll.setOrientation (1);
530 this.apvscroll.setVisible (true);
531 this.apvscroll.addAdjustmentListener (this);
532 this.annotationPanelHolder.setBackground (java.awt.Color.white);
533 this.annotationPanelHolder.setLayout ( new java.awt.BorderLayout ());
534 this.annotationPanelHolder.add (this.apvscroll, "East");
535 hscrollHolder.setBackground (java.awt.Color.white);
536 this.seqPanelHolder.setBackground (java.awt.Color.white);
537 this.idPanelHolder.setBackground (java.awt.Color.white);
538 this.sequenceHolderPanel.add (this.scalePanelHolder, "North");
539 this.sequenceHolderPanel.add (this.seqPanelHolder, "Center");
540 this.seqPanelHolder.add (this.vscroll, "East");
541 this.add (this.idPanelHolder, "West");
542 this.idPanelHolder.add (this.idSpaceFillerPanel1, "North");
543 this.idPanelHolder.add (this.annotationSpaceFillerHolder, "South");
544 this.add (hscrollHolder, "South");
545 hscrollHolder.add (this.hscroll, "Center");
546 hscrollHolder.add (this.hscrollFillerPanel, "West");
547 this.add (this.sequenceHolderPanel, "Center");
548 }, $fz.isPrivate = true, $fz));
549 Clazz.defineMethod (c$, "updateAnnotation",
551 this.updateAnnotation (false);
553 Clazz.defineMethod (c$, "updateAnnotation",
554 function (applyGlobalSettings) {
555 this.updateAnnotation (applyGlobalSettings, false);
557 Clazz.defineMethod (c$, "updateAnnotation",
558 function (applyGlobalSettings, preserveNewGroupSettings) {
559 this.av.updateGroupAnnotationSettings (applyGlobalSettings, preserveNewGroupSettings);
560 this.adjustAnnotationHeight ();
562 Clazz.overrideMethod (c$, "getAlignment",
564 return this.av.getAlignment ();
566 Clazz.overrideMethod (c$, "getViewName",
568 return this.getName ();
570 Clazz.overrideMethod (c$, "getStructureSelectionManager",
572 return jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.av.applet);
574 Clazz.overrideMethod (c$, "raiseOOMWarning",
575 function (string, error) {
576 System.err.println ("Out of memory whilst '" + string + "'");
577 error.printStackTrace ();
578 }, "~S,OutOfMemoryError");
579 Clazz.defineMethod (c$, "setFollowingComplementScroll",
581 this.followingComplementScroll = b;
583 Clazz.defineMethod (c$, "isFollowingComplementScroll",
585 return this.followingComplementScroll;
587 c$.$AlignmentPanel$1$ = function () {
589 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignmentPanel$1", java.awt.event.ComponentAdapter);
590 Clazz.overrideMethod (c$, "componentResized",
592 this.b$["jalview.appletgui.AlignmentPanel"].setScrollValues (this.f$.av.getStartRes (), this.f$.av.getStartSeq ());
593 if (this.b$["jalview.appletgui.AlignmentPanel"].getSize ().height > 0 && this.b$["jalview.appletgui.AlignmentPanel"].annotationPanelHolder.getSize ().height > 0) {
594 this.b$["jalview.appletgui.AlignmentPanel"].validateAnnotationDimensions (false);
595 }this.b$["jalview.appletgui.AlignmentPanel"].repaint ();
596 }, "java.awt.event.ComponentEvent");
599 c$.$AlignmentPanel$2$ = function () {
601 c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignmentPanel$2", null, java.beans.PropertyChangeListener);
602 Clazz.overrideMethod (c$, "propertyChange",
604 if (evt.getPropertyName ().equals ("alignment")) {
605 jalview.appletgui.PaintRefresher.Refresh (this.f$.ap, this.f$.av.getSequenceSetId (), true, true);
606 this.b$["jalview.appletgui.AlignmentPanel"].alignmentChanged ();
607 }}, "java.beans.PropertyChangeEvent");