X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Fappletgui%2FScalePanel.js;h=eddee91e39723f3505d17998b0c9a00b99fcd8dd;hp=755df0afc27b6e1a8db01c6681aecdf00c61ca01;hb=7301a2415adab88038b291fc54caeeb3a5a47a44;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/appletgui/ScalePanel.js b/bin/jalview/appletgui/ScalePanel.js index 755df0a..eddee91 100644 --- a/bin/jalview/appletgui/ScalePanel.js +++ b/bin/jalview/appletgui/ScalePanel.js @@ -1,248 +1,248 @@ -Clazz.declarePackage ("jalview.appletgui"); -Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener"], "jalview.appletgui.ScalePanel", ["awt2swing.MenuItem", "$.PopupMenu", "jalview.datamodel.SequenceGroup", "jalview.util.MessageManager", "java.awt.Color", "java.awt.event.ActionListener"], function () { -c$ = Clazz.decorateAsClass (function () { -this.offy = 4; -this.$width = 0; -this.av = null; -this.ap = null; -this.stretchingGroup = false; -this.min = 0; -this.max = 0; -this.mouseDragging = false; -this.reveal = null; -Clazz.instantialize (this, arguments); -}, jalview.appletgui, "ScalePanel", awt2swing.Panel, [java.awt.event.MouseMotionListener, java.awt.event.MouseListener]); -Clazz.makeConstructor (c$, -function (av, ap) { -Clazz.superConstructor (this, jalview.appletgui.ScalePanel, []); -this.setName ("scalePanel"); -this.setLayout (null); -this.av = av; -this.ap = ap; -this.addMouseListener (this); -this.addMouseMotionListener (this); -}, "jalview.appletgui.AlignViewport,jalview.appletgui.AlignmentPanel"); -Clazz.overrideMethod (c$, "mousePressed", -function (evt) { -var x = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); -var res; -if (this.av.hasHiddenColumns ()) { -res = this.av.getColumnSelection ().adjustForHiddenColumns (x); -} else { -res = x; -}this.min = res; -this.max = res; -if ((evt.getModifiers () & 4) == 4) { -var pop = new awt2swing.PopupMenu (); -if (this.reveal != null) { -var item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.reveal")); -item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$1") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$1, this, null))); -pop.add (item); -if (this.av.getColumnSelection ().hasManyHiddenColumns ()) { -item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.reveal_all")); -item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$2") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$2, this, null))); -pop.add (item); -}this.add (pop); -pop.show (this, evt.getX (), evt.getY ()); -} else if (this.av.getColumnSelection ().contains (res)) { -var item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.hide_columns")); -item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$3") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$3, this, Clazz.cloneFinals ("res", res)))); -pop.add (item); -this.add (pop); -pop.show (this, evt.getX (), evt.getY ()); -}} else { -if (!evt.isControlDown () && !evt.isShiftDown ()) { -this.av.getColumnSelection ().clear (); -}this.av.getColumnSelection ().addElement (res); -var sg = new jalview.datamodel.SequenceGroup (); -for (var i = 0; i < this.av.getAlignment ().getSequences ().size (); i++) { -sg.addSequence (this.av.getAlignment ().getSequenceAt (i), false); -} -sg.setStartRes (res); -sg.setEndRes (res); -this.av.setSelectionGroup (sg); -if (evt.isShiftDown ()) { -var min = Math.min (this.av.getColumnSelection ().getMin (), res); -var max = Math.max (this.av.getColumnSelection ().getMax (), res); -for (var i = min; i < max; i++) { -this.av.getColumnSelection ().addElement (i); -} -sg.setStartRes (min); -sg.setEndRes (max); -}}this.ap.paintAlignment (true); -this.av.sendSelection (); -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseReleased", -function (evt) { -this.mouseDragging = false; -var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); -if (res > this.av.getAlignment ().getWidth ()) { -res = this.av.getAlignment ().getWidth () - 1; -}if (this.av.hasHiddenColumns ()) { -res = this.av.getColumnSelection ().adjustForHiddenColumns (res); -}if (!this.stretchingGroup) { -this.ap.paintAlignment (false); -return; -}var sg = this.av.getSelectionGroup (); -if (res > sg.getStartRes ()) { -sg.setEndRes (res); -} else if (res < sg.getStartRes ()) { -sg.setStartRes (res); -}this.stretchingGroup = false; -this.ap.paintAlignment (false); -this.av.sendSelection (); -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseDragged", -function (evt) { -this.mouseDragging = true; -var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); -if (res < 0) { -res = 0; -}if (this.av.hasHiddenColumns ()) { -res = this.av.getColumnSelection ().adjustForHiddenColumns (res); -}if (res > this.av.getAlignment ().getWidth ()) { -res = this.av.getAlignment ().getWidth () - 1; -}if (res < this.min) { -this.min = res; -}if (res > this.max) { -this.max = res; -}var sg = this.av.getSelectionGroup (); -if (sg != null) { -this.stretchingGroup = true; -if (!this.av.getColumnSelection ().contains (res)) { -this.av.getColumnSelection ().addElement (res); -}if (res > sg.getStartRes ()) { -sg.setEndRes (res); -}if (res < sg.getStartRes ()) { -sg.setStartRes (res); -}var col; -for (var i = this.min; i <= this.max; i++) { -col = this.av.getColumnSelection ().adjustForHiddenColumns (i); -if ((col < sg.getStartRes ()) || (col > sg.getEndRes ())) { -this.av.getColumnSelection ().removeElement (col); -} else { -this.av.getColumnSelection ().addElement (col); -}} -this.ap.paintAlignment (false); -}}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseEntered", -function (evt) { -if (this.mouseDragging) { -this.ap.seqPanel.scrollCanvas (null); -}}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseExited", -function (evt) { -if (this.mouseDragging) { -this.ap.seqPanel.scrollCanvas (evt); -}}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseClicked", -function (evt) { -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseMoved", -function (evt) { -if (!this.av.hasHiddenColumns ()) { -return; -}var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); -res = this.av.getColumnSelection ().adjustForHiddenColumns (res); -this.reveal = null; -for (var region, $region = this.av.getColumnSelection ().getHiddenColumns ().iterator (); $region.hasNext () && ((region = $region.next ()) || true);) { -if (res + 1 == region[0] || res - 1 == region[1]) { -this.reveal = region; -break; -}} -this.repaint (); -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "paintComponent", -function (g) { -if (this.av.getWrapAlignment ()) return; -this.drawScale (g, this.av.getStartRes (), this.av.getEndRes (), this.getSize ().width, this.getSize ().height); -}, "java.awt.Graphics"); -Clazz.defineMethod (c$, "drawScale", -function (gg, startx, endx, width, height) { -gg.setFont (this.av.getFont ()); -gg.setColor (java.awt.Color.white); -gg.fillRect (0, 0, width, height); -gg.setColor (java.awt.Color.black); -var cs = this.av.getColumnSelection (); -gg.setColor ( new java.awt.Color (220, 0, 0)); -var avcharWidth = this.av.getCharWidth (); -var avcharHeight = this.av.getCharHeight (); -for (var i = 0; i < cs.size (); i++) { -var sel = cs.columnAt (i); -if (this.av.hasHiddenColumns ()) { -sel = this.av.getColumnSelection ().findColumnPosition (sel); -}if ((sel >= startx) && (sel <= endx)) { -gg.fillRect ((sel - startx) * avcharWidth, 0, avcharWidth, this.getSize ().height); -}} -gg.setColor (java.awt.Color.black); -var scalestartx = (Clazz.doubleToInt (startx / 10)) * 10; -var fm = gg.getFontMetrics (this.av.getFont ()); -var y = avcharHeight - fm.getDescent (); -if ((scalestartx % 10) == 0) { -scalestartx += 5; -}var string; -var maxX = 0; -for (var i = scalestartx; i < endx; i += 5) { -if ((i % 10) == 0) { -string = String.valueOf (this.av.getColumnSelection ().adjustForHiddenColumns (i)); -if ((i - startx - 1) * avcharWidth > maxX) { -gg.drawString (string, (i - startx - 1) * avcharWidth, y); -maxX = (i - startx + 1) * avcharWidth + fm.stringWidth (string); -}gg.drawLine (((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + 2, ((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + (fm.getDescent () * 2)); -} else { -gg.drawLine (((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + fm.getDescent (), ((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + (fm.getDescent () * 2)); -}} -if (this.av.hasHiddenColumns ()) { -gg.setColor (java.awt.Color.blue); -var res; -if (this.av.getShowHiddenMarkers ()) { -for (var i = 0; i < this.av.getColumnSelection ().getHiddenColumns ().size (); i++) { -res = this.av.getColumnSelection ().findHiddenRegionPosition (i) - startx; -if (res < 0 || res > endx - scalestartx) { -continue; -}gg.fillPolygon ( Clazz.newIntArray (-1, [res * avcharWidth - Clazz.doubleToInt (avcharHeight / 4), res * avcharWidth + Clazz.doubleToInt (avcharHeight / 4), res * avcharWidth]), Clazz.newIntArray (-1, [y - Clazz.doubleToInt (avcharHeight / 2), y - Clazz.doubleToInt (avcharHeight / 2), y + 8]), 3); -} -}if (this.reveal != null && this.reveal[0] > startx && this.reveal[0] < endx) { -gg.drawString (jalview.util.MessageManager.getString ("label.reveal_columns"), this.reveal[0] * avcharWidth, 0); -}}}, "java.awt.Graphics,~N,~N,~N,~N"); -c$.$ScalePanel$1$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$1", null, java.awt.event.ActionListener); -Clazz.overrideMethod (c$, "actionPerformed", -function (e) { -this.b$["jalview.appletgui.ScalePanel"].av.showColumn (this.b$["jalview.appletgui.ScalePanel"].reveal[0]); -this.b$["jalview.appletgui.ScalePanel"].reveal = null; -this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); -if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { -this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); -}}, "java.awt.event.ActionEvent"); -c$ = Clazz.p0p (); -}; -c$.$ScalePanel$2$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$2", null, java.awt.event.ActionListener); -Clazz.overrideMethod (c$, "actionPerformed", -function (e) { -this.b$["jalview.appletgui.ScalePanel"].av.showAllHiddenColumns (); -this.b$["jalview.appletgui.ScalePanel"].reveal = null; -this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); -if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { -this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); -}}, "java.awt.event.ActionEvent"); -c$ = Clazz.p0p (); -}; -c$.$ScalePanel$3$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$3", null, java.awt.event.ActionListener); -Clazz.overrideMethod (c$, "actionPerformed", -function (e) { -this.b$["jalview.appletgui.ScalePanel"].av.hideColumns (this.f$.res, this.f$.res); -if (this.b$["jalview.appletgui.ScalePanel"].av.getSelectionGroup () != null && this.b$["jalview.appletgui.ScalePanel"].av.getSelectionGroup ().getSize () == this.b$["jalview.appletgui.ScalePanel"].av.getAlignment ().getHeight ()) { -this.b$["jalview.appletgui.ScalePanel"].av.setSelectionGroup (null); -}this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); -if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { -this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); -}}, "java.awt.event.ActionEvent"); -c$ = Clazz.p0p (); -}; -}); +Clazz.declarePackage ("jalview.appletgui"); +Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener"], "jalview.appletgui.ScalePanel", ["awt2swing.MenuItem", "$.PopupMenu", "jalview.datamodel.SequenceGroup", "jalview.util.MessageManager", "java.awt.Color", "java.awt.event.ActionListener"], function () { +c$ = Clazz.decorateAsClass (function () { +this.offy = 4; +this.$width = 0; +this.av = null; +this.ap = null; +this.stretchingGroup = false; +this.min = 0; +this.max = 0; +this.mouseDragging = false; +this.reveal = null; +Clazz.instantialize (this, arguments); +}, jalview.appletgui, "ScalePanel", awt2swing.Panel, [java.awt.event.MouseMotionListener, java.awt.event.MouseListener]); +Clazz.makeConstructor (c$, +function (av, ap) { +Clazz.superConstructor (this, jalview.appletgui.ScalePanel, []); +this.setName ("scalePanel"); +this.setLayout (null); +this.av = av; +this.ap = ap; +this.addMouseListener (this); +this.addMouseMotionListener (this); +}, "jalview.appletgui.AlignViewport,jalview.appletgui.AlignmentPanel"); +Clazz.overrideMethod (c$, "mousePressed", +function (evt) { +var x = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); +var res; +if (this.av.hasHiddenColumns ()) { +res = this.av.getColumnSelection ().adjustForHiddenColumns (x); +} else { +res = x; +}this.min = res; +this.max = res; +if ((evt.getModifiers () & 4) == 4) { +var pop = new awt2swing.PopupMenu (); +if (this.reveal != null) { +var item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.reveal")); +item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$1") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$1, this, null))); +pop.add (item); +if (this.av.getColumnSelection ().hasManyHiddenColumns ()) { +item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.reveal_all")); +item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$2") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$2, this, null))); +pop.add (item); +}this.add (pop); +pop.show (this, evt.getX (), evt.getY ()); +} else if (this.av.getColumnSelection ().contains (res)) { +var item = new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.hide_columns")); +item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.ScalePanel$3") ? 0 : jalview.appletgui.ScalePanel.$ScalePanel$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.ScalePanel$3, this, Clazz.cloneFinals ("res", res)))); +pop.add (item); +this.add (pop); +pop.show (this, evt.getX (), evt.getY ()); +}} else { +if (!evt.isControlDown () && !evt.isShiftDown ()) { +this.av.getColumnSelection ().clear (); +}this.av.getColumnSelection ().addElement (res); +var sg = new jalview.datamodel.SequenceGroup (); +for (var i = 0; i < this.av.getAlignment ().getSequences ().size (); i++) { +sg.addSequence (this.av.getAlignment ().getSequenceAt (i), false); +} +sg.setStartRes (res); +sg.setEndRes (res); +this.av.setSelectionGroup (sg); +if (evt.isShiftDown ()) { +var min = Math.min (this.av.getColumnSelection ().getMin (), res); +var max = Math.max (this.av.getColumnSelection ().getMax (), res); +for (var i = min; i < max; i++) { +this.av.getColumnSelection ().addElement (i); +} +sg.setStartRes (min); +sg.setEndRes (max); +}}this.ap.paintAlignment (true); +this.av.sendSelection (); +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseReleased", +function (evt) { +this.mouseDragging = false; +var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); +if (res > this.av.getAlignment ().getWidth ()) { +res = this.av.getAlignment ().getWidth () - 1; +}if (this.av.hasHiddenColumns ()) { +res = this.av.getColumnSelection ().adjustForHiddenColumns (res); +}if (!this.stretchingGroup) { +this.ap.paintAlignment (false); +return; +}var sg = this.av.getSelectionGroup (); +if (res > sg.getStartRes ()) { +sg.setEndRes (res); +} else if (res < sg.getStartRes ()) { +sg.setStartRes (res); +}this.stretchingGroup = false; +this.ap.paintAlignment (false); +this.av.sendSelection (); +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseDragged", +function (evt) { +this.mouseDragging = true; +var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); +if (res < 0) { +res = 0; +}if (this.av.hasHiddenColumns ()) { +res = this.av.getColumnSelection ().adjustForHiddenColumns (res); +}if (res > this.av.getAlignment ().getWidth ()) { +res = this.av.getAlignment ().getWidth () - 1; +}if (res < this.min) { +this.min = res; +}if (res > this.max) { +this.max = res; +}var sg = this.av.getSelectionGroup (); +if (sg != null) { +this.stretchingGroup = true; +if (!this.av.getColumnSelection ().contains (res)) { +this.av.getColumnSelection ().addElement (res); +}if (res > sg.getStartRes ()) { +sg.setEndRes (res); +}if (res < sg.getStartRes ()) { +sg.setStartRes (res); +}var col; +for (var i = this.min; i <= this.max; i++) { +col = this.av.getColumnSelection ().adjustForHiddenColumns (i); +if ((col < sg.getStartRes ()) || (col > sg.getEndRes ())) { +this.av.getColumnSelection ().removeElement (col); +} else { +this.av.getColumnSelection ().addElement (col); +}} +this.ap.paintAlignment (false); +}}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseEntered", +function (evt) { +if (this.mouseDragging) { +this.ap.seqPanel.scrollCanvas (null); +}}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseExited", +function (evt) { +if (this.mouseDragging) { +this.ap.seqPanel.scrollCanvas (evt); +}}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseClicked", +function (evt) { +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseMoved", +function (evt) { +if (!this.av.hasHiddenColumns ()) { +return; +}var res = (Clazz.doubleToInt (evt.getX () / this.av.getCharWidth ())) + this.av.getStartRes (); +res = this.av.getColumnSelection ().adjustForHiddenColumns (res); +this.reveal = null; +for (var region, $region = this.av.getColumnSelection ().getHiddenColumns ().iterator (); $region.hasNext () && ((region = $region.next ()) || true);) { +if (res + 1 == region[0] || res - 1 == region[1]) { +this.reveal = region; +break; +}} +this.repaint (); +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "paintComponent", +function (g) { +if (this.av.getWrapAlignment ()) return; +this.drawScale (g, this.av.getStartRes (), this.av.getEndRes (), this.getSize ().width, this.getSize ().height); +}, "java.awt.Graphics"); +Clazz.defineMethod (c$, "drawScale", +function (gg, startx, endx, width, height) { +gg.setFont (this.av.getFont ()); +gg.setColor (java.awt.Color.white); +gg.fillRect (0, 0, width, height); +gg.setColor (java.awt.Color.black); +var cs = this.av.getColumnSelection (); +gg.setColor ( new java.awt.Color (220, 0, 0)); +var avcharWidth = this.av.getCharWidth (); +var avcharHeight = this.av.getCharHeight (); +for (var i = 0; i < cs.size (); i++) { +var sel = cs.columnAt (i); +if (this.av.hasHiddenColumns ()) { +sel = this.av.getColumnSelection ().findColumnPosition (sel); +}if ((sel >= startx) && (sel <= endx)) { +gg.fillRect ((sel - startx) * avcharWidth, 0, avcharWidth, this.getSize ().height); +}} +gg.setColor (java.awt.Color.black); +var scalestartx = (Clazz.doubleToInt (startx / 10)) * 10; +var fm = gg.getFontMetrics (this.av.getFont ()); +var y = avcharHeight - fm.getDescent (); +if ((scalestartx % 10) == 0) { +scalestartx += 5; +}var string; +var maxX = 0; +for (var i = scalestartx; i < endx; i += 5) { +if ((i % 10) == 0) { +string = String.valueOf (this.av.getColumnSelection ().adjustForHiddenColumns (i)); +if ((i - startx - 1) * avcharWidth > maxX) { +gg.drawString (string, (i - startx - 1) * avcharWidth, y); +maxX = (i - startx + 1) * avcharWidth + fm.stringWidth (string); +}gg.drawLine (((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + 2, ((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + (fm.getDescent () * 2)); +} else { +gg.drawLine (((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + fm.getDescent (), ((i - startx - 1) * avcharWidth) + (Clazz.doubleToInt (avcharWidth / 2)), y + (fm.getDescent () * 2)); +}} +if (this.av.hasHiddenColumns ()) { +gg.setColor (java.awt.Color.blue); +var res; +if (this.av.getShowHiddenMarkers ()) { +for (var i = 0; i < this.av.getColumnSelection ().getHiddenColumns ().size (); i++) { +res = this.av.getColumnSelection ().findHiddenRegionPosition (i) - startx; +if (res < 0 || res > endx - scalestartx) { +continue; +}gg.fillPolygon ( Clazz.newIntArray (-1, [res * avcharWidth - Clazz.doubleToInt (avcharHeight / 4), res * avcharWidth + Clazz.doubleToInt (avcharHeight / 4), res * avcharWidth]), Clazz.newIntArray (-1, [y - Clazz.doubleToInt (avcharHeight / 2), y - Clazz.doubleToInt (avcharHeight / 2), y + 8]), 3); +} +}if (this.reveal != null && this.reveal[0] > startx && this.reveal[0] < endx) { +gg.drawString (jalview.util.MessageManager.getString ("label.reveal_columns"), this.reveal[0] * avcharWidth, 0); +}}}, "java.awt.Graphics,~N,~N,~N,~N"); +c$.$ScalePanel$1$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$1", null, java.awt.event.ActionListener); +Clazz.overrideMethod (c$, "actionPerformed", +function (e) { +this.b$["jalview.appletgui.ScalePanel"].av.showColumn (this.b$["jalview.appletgui.ScalePanel"].reveal[0]); +this.b$["jalview.appletgui.ScalePanel"].reveal = null; +this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); +if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { +this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); +}}, "java.awt.event.ActionEvent"); +c$ = Clazz.p0p (); +}; +c$.$ScalePanel$2$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$2", null, java.awt.event.ActionListener); +Clazz.overrideMethod (c$, "actionPerformed", +function (e) { +this.b$["jalview.appletgui.ScalePanel"].av.showAllHiddenColumns (); +this.b$["jalview.appletgui.ScalePanel"].reveal = null; +this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); +if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { +this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); +}}, "java.awt.event.ActionEvent"); +c$ = Clazz.p0p (); +}; +c$.$ScalePanel$3$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "ScalePanel$3", null, java.awt.event.ActionListener); +Clazz.overrideMethod (c$, "actionPerformed", +function (e) { +this.b$["jalview.appletgui.ScalePanel"].av.hideColumns (this.f$.res, this.f$.res); +if (this.b$["jalview.appletgui.ScalePanel"].av.getSelectionGroup () != null && this.b$["jalview.appletgui.ScalePanel"].av.getSelectionGroup ().getSize () == this.b$["jalview.appletgui.ScalePanel"].av.getAlignment ().getHeight ()) { +this.b$["jalview.appletgui.ScalePanel"].av.setSelectionGroup (null); +}this.b$["jalview.appletgui.ScalePanel"].ap.paintAlignment (true); +if (this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel != null) { +this.b$["jalview.appletgui.ScalePanel"].ap.overviewPanel.updateOverviewImage (); +}}, "java.awt.event.ActionEvent"); +c$ = Clazz.p0p (); +}; +});