Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / appletgui / IdPanel.js
index 48705be..b8695b5 100644 (file)
-Clazz.declarePackage ("jalview.appletgui");\r
-Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener", "java.lang.Thread", "java.util.Vector"], "jalview.appletgui.IdPanel", ["jalview.appletgui.APopupMenu", "$.IdCanvas", "$.PaintRefresher", "$.Tooltip", "jalview.datamodel.SequenceGroup", "jalview.util.UrlLink", "java.awt.BorderLayout", "java.lang.Float", "$.StringBuffer"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.idCanvas = null;\r
-this.av = null;\r
-this.alignPanel = null;\r
-this.scrollThread = null;\r
-this.lastid = -1;\r
-this.mouseDragging = false;\r
-this.links = null;\r
-this.tooltip = null;\r
-if (!Clazz.isClassDefined ("jalview.appletgui.IdPanel.ScrollThread")) {\r
-jalview.appletgui.IdPanel.$IdPanel$ScrollThread$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.appletgui, "IdPanel", awt2swing.Panel, [java.awt.event.MouseListener, java.awt.event.MouseMotionListener]);\r
-Clazz.prepareFields (c$, function () {\r
-this.links =  new java.util.Vector ();\r
-});\r
-Clazz.makeConstructor (c$, \r
-function (av, parent) {\r
-Clazz.superConstructor (this, jalview.appletgui.IdPanel, []);\r
-this.setName ("idPanel");\r
-this.av = av;\r
-this.alignPanel = parent;\r
-this.idCanvas =  new jalview.appletgui.IdCanvas (av);\r
-this.setLayout ( new java.awt.BorderLayout ());\r
-this.add (this.idCanvas, "Center");\r
-this.idCanvas.addMouseListener (this);\r
-this.idCanvas.addMouseMotionListener (this);\r
-if (av.applet != null) {\r
-av.applet.getLinkParams (this.links);\r
-}{\r
-var srsPos = this.links.indexOf ("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");\r
-if (srsPos > -1) {\r
-this.links.setElementAt ("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$", srsPos);\r
-}}if (this.links.size () < 1) {\r
-this.links =  new java.util.Vector ();\r
-this.links.addElement ("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");\r
-}}, "jalview.appletgui.AlignViewport,jalview.appletgui.AlignmentPanel");\r
-Clazz.overrideMethod (c$, "mouseMoved", \r
-function (e) {\r
-var seq = this.alignPanel.seqPanel.findSeq (e);\r
-var sequence = this.av.getAlignment ().getSequenceAt (seq);\r
-var tooltiptext =  new StringBuffer ();\r
-if (sequence != null) {\r
-if (sequence.getDescription () != null) {\r
-tooltiptext.append (sequence.getDescription ());\r
-tooltiptext.append ("\n");\r
-}var sf = sequence.getSequenceFeatures ();\r
-for (var sl = 0; sf != null && sl < sf.length; sl++) {\r
-if (sf[sl].begin == sf[sl].end && sf[sl].begin == 0) {\r
-var nl = false;\r
-if (sf[sl].getFeatureGroup () != null) {\r
-tooltiptext.append (sf[sl].getFeatureGroup ());\r
-nl = true;\r
-};if (sf[sl].getType () != null) {\r
-tooltiptext.append (" ");\r
-tooltiptext.append (sf[sl].getType ());\r
-nl = true;\r
-};if (sf[sl].getDescription () != null) {\r
-tooltiptext.append (" ");\r
-tooltiptext.append (sf[sl].getDescription ());\r
-nl = true;\r
-};if (!Float.isNaN (sf[sl].getScore ()) && sf[sl].getScore () != 0) {\r
-tooltiptext.append (" Score = ");\r
-tooltiptext.append (sf[sl].getScore ());\r
-nl = true;\r
-};if (sf[sl].getStatus () != null && sf[sl].getStatus ().length > 0) {\r
-tooltiptext.append (" (");\r
-tooltiptext.append (sf[sl].getStatus ());\r
-tooltiptext.append (")");\r
-nl = true;\r
-};if (nl) {\r
-tooltiptext.append ("\n");\r
-}}}\r
-}if (tooltiptext.length () == 0) {\r
-if (this.tooltip != null) {\r
-this.tooltip.setVisible (false);\r
-}this.tooltip = null;\r
-tooltiptext = null;\r
-return;\r
-}if (this.tooltip == null) {\r
-this.tooltip =  new jalview.appletgui.Tooltip (sequence.getDisplayId (true) + "\n" + tooltiptext.toString (), this.idCanvas);\r
-} else {\r
-this.tooltip.setTip (sequence.getDisplayId (true) + "\n" + tooltiptext.toString ());\r
-}tooltiptext = null;\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseDragged", \r
-function (e) {\r
-this.mouseDragging = true;\r
-var seq = Math.max (0, this.alignPanel.seqPanel.findSeq (e));\r
-if (seq < this.lastid) {\r
-this.selectSeqs (this.lastid - 1, seq);\r
-} else if (seq > this.lastid) {\r
-this.selectSeqs (this.lastid + 1, seq);\r
-}this.lastid = seq;\r
-this.alignPanel.paintAlignment (false);\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseClicked", \r
-function (e) {\r
-if (e.getClickCount () < 2) {\r
-return;\r
-}var seq = this.alignPanel.seqPanel.findSeq (e);\r
-var sq = this.av.getAlignment ().getSequenceAt (seq);\r
-if (sq == null) {\r
-return;\r
-}var id = sq.getName ();\r
-var target = null;\r
-var url = null;\r
-var i = 0;\r
-while (url == null && i < this.links.size ()) {\r
-url = this.links.elementAt (i++).toString ();\r
-var urlLink = null;\r
-try {\r
-urlLink =  new jalview.util.UrlLink (url);\r
-target = urlLink.getTarget ();\r
-} catch (foo) {\r
-if (Clazz.exceptionOf (foo, Exception)) {\r
-System.err.println ("Exception for URLLink '" + url + "'");\r
-foo.printStackTrace ();\r
-url = null;\r
-continue;\r
-} else {\r
-throw foo;\r
-}\r
-}\r
-;if (!urlLink.isValid ()) {\r
-System.err.println (urlLink.getInvalidMessage ());\r
-url = null;\r
-continue;\r
-}var urls = urlLink.makeUrls (id, true);\r
-if (urls == null || urls[0] == null || urls[0].length < 1) {\r
-url = null;\r
-continue;\r
-}url = urls[1];\r
-}\r
-try {\r
-this.alignPanel.alignFrame.showURL (url, target);\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-ex.printStackTrace ();\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseEntered", \r
-function (e) {\r
-if (this.scrollThread != null) {\r
-this.scrollThread.running = false;\r
-}}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseExited", \r
-function (e) {\r
-if (this.av.getWrapAlignment ()) {\r
-return;\r
-}if (this.mouseDragging && e.getY () < 0 && this.av.getStartSeq () > 0) {\r
-this.scrollThread = Clazz.innerTypeInstance (jalview.appletgui.IdPanel.ScrollThread, this, null, true);\r
-}if (this.mouseDragging && e.getY () >= this.getSize ().height && this.av.getAlignment ().getHeight () > this.av.getEndSeq ()) {\r
-this.scrollThread = Clazz.innerTypeInstance (jalview.appletgui.IdPanel.ScrollThread, this, null, false);\r
-}}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mousePressed", \r
-function (e) {\r
-if (e.getClickCount () > 1) {\r
-return;\r
-}var y = e.getY ();\r
-if (this.av.getWrapAlignment ()) {\r
-y -= 2 * this.av.getCharHeight ();\r
-}var seq = this.alignPanel.seqPanel.findSeq (e);\r
-if ((e.getModifiers () & 4) == 4) {\r
-var sq = this.av.getAlignment ().getSequenceAt (seq);\r
-var nlinks =  new java.util.Vector ();\r
-for (var l = 0, lSize = this.links.size (); l < lSize; l++) {\r
-nlinks.addElement (this.links.elementAt (l));\r
-}\r
-var sf = sq == null ? null : sq.getSequenceFeatures ();\r
-for (var sl = 0; sf != null && sl < sf.length; sl++) {\r
-if (sf[sl].begin == sf[sl].end && sf[sl].begin == 0) {\r
-if (sf[sl].links != null && sf[sl].links.size () > 0) {\r
-for (var l = 0, lSize = sf[sl].links.size (); l < lSize; l++) {\r
-nlinks.addElement (sf[sl].links.elementAt (l));\r
-}\r
-}}}\r
-var popup =  new jalview.appletgui.APopupMenu (this.alignPanel, sq, nlinks);\r
-this.add (popup);\r
-popup.show (this, e.getX (), e.getY ());\r
-return;\r
-}if ((this.av.getSelectionGroup () == null) || ((!e.isControlDown () && !e.isShiftDown ()) && this.av.getSelectionGroup () != null)) {\r
-this.av.setSelectionGroup ( new jalview.datamodel.SequenceGroup ());\r
-this.av.getSelectionGroup ().setStartRes (0);\r
-this.av.getSelectionGroup ().setEndRes (this.av.getAlignment ().getWidth () - 1);\r
-}if (e.isShiftDown () && this.lastid != -1) {\r
-this.selectSeqs (this.lastid, seq);\r
-} else {\r
-this.selectSeq (seq);\r
-}this.alignPanel.paintAlignment (false);\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "selectSeq", \r
-function (seq) {\r
-this.lastid = seq;\r
-var pickedSeq = this.av.getAlignment ().getSequenceAt (seq);\r
-this.av.getSelectionGroup ().addOrRemove (pickedSeq, true);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "selectSeqs", \r
-function (start, end) {\r
-this.lastid = start;\r
-if (end >= this.av.getAlignment ().getHeight ()) {\r
-end = this.av.getAlignment ().getHeight () - 1;\r
-}if (end < start) {\r
-var tmp = start;\r
-start = end;\r
-end = tmp;\r
-this.lastid = end;\r
-}if (this.av.getSelectionGroup () == null) {\r
-this.av.setSelectionGroup ( new jalview.datamodel.SequenceGroup ());\r
-}for (var i = start; i <= end; i++) {\r
-this.av.getSelectionGroup ().addSequence (this.av.getAlignment ().getSequenceAt (i), i == end);\r
-}\r
-}, "~N,~N");\r
-Clazz.overrideMethod (c$, "mouseReleased", \r
-function (e) {\r
-if (this.scrollThread != null) {\r
-this.scrollThread.running = false;\r
-}if (this.av.getSelectionGroup () != null) {\r
-this.av.getSelectionGroup ().recalcConservation ();\r
-}this.mouseDragging = false;\r
-jalview.appletgui.PaintRefresher.Refresh (this, this.av.getSequenceSetId ());\r
-this.av.sendSelection ();\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "highlightSearchResults", \r
-function (list) {\r
-this.idCanvas.setHighlighted (list);\r
-if (list == null) {\r
-return;\r
-}var index = this.av.getAlignment ().findIndex (list.get (0));\r
-if (this.av.getStartSeq () > index || this.av.getEndSeq () < index) {\r
-this.alignPanel.setScrollValues (this.av.getStartRes (), index);\r
-}}, "java.util.List");\r
-c$.$IdPanel$ScrollThread$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.running = false;\r
-this.up = true;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.appletgui.IdPanel, "ScrollThread", Thread);\r
-Clazz.makeConstructor (c$, \r
-function (a) {\r
-Clazz.superConstructor (this, jalview.appletgui.IdPanel.ScrollThread, []);\r
-this.up = a;\r
-this.start ();\r
-}, "~B");\r
-Clazz.defineMethod (c$, "stopScrolling", \r
-function () {\r
-this.running = false;\r
-});\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-this.running = true;\r
-while (this.running) {\r
-if (this.b$["jalview.appletgui.IdPanel"].alignPanel.scrollUp (this.up)) {\r
-var a = this.b$["jalview.appletgui.IdPanel"].av.getStartSeq ();\r
-if (!this.up) {\r
-a = this.b$["jalview.appletgui.IdPanel"].av.getEndSeq ();\r
-}if (a < this.b$["jalview.appletgui.IdPanel"].lastid) {\r
-this.b$["jalview.appletgui.IdPanel"].selectSeqs (this.b$["jalview.appletgui.IdPanel"].lastid - 1, a);\r
-} else if (a > this.b$["jalview.appletgui.IdPanel"].lastid && a < this.b$["jalview.appletgui.IdPanel"].av.getAlignment ().getHeight ()) {\r
-this.b$["jalview.appletgui.IdPanel"].selectSeqs (this.b$["jalview.appletgui.IdPanel"].lastid + 1, a);\r
-}this.b$["jalview.appletgui.IdPanel"].lastid = a;\r
-} else {\r
-this.running = false;\r
-}this.b$["jalview.appletgui.IdPanel"].alignPanel.paintAlignment (true);\r
-try {\r
-Thread.sleep (100);\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-}\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-});\r
+Clazz.declarePackage ("jalview.appletgui");
+Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener", "java.lang.Thread", "java.util.Vector"], "jalview.appletgui.IdPanel", ["jalview.appletgui.APopupMenu", "$.IdCanvas", "$.PaintRefresher", "$.Tooltip", "jalview.datamodel.SequenceGroup", "jalview.util.UrlLink", "java.awt.BorderLayout", "java.lang.Float", "$.StringBuffer"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.idCanvas = null;
+this.av = null;
+this.alignPanel = null;
+this.scrollThread = null;
+this.lastid = -1;
+this.mouseDragging = false;
+this.links = null;
+this.tooltip = null;
+if (!Clazz.isClassDefined ("jalview.appletgui.IdPanel.ScrollThread")) {
+jalview.appletgui.IdPanel.$IdPanel$ScrollThread$ ();
+}
+Clazz.instantialize (this, arguments);
+}, jalview.appletgui, "IdPanel", awt2swing.Panel, [java.awt.event.MouseListener, java.awt.event.MouseMotionListener]);
+Clazz.prepareFields (c$, function () {
+this.links =  new java.util.Vector ();
+});
+Clazz.makeConstructor (c$, 
+function (av, parent) {
+Clazz.superConstructor (this, jalview.appletgui.IdPanel, []);
+this.setName ("idPanel");
+this.av = av;
+this.alignPanel = parent;
+this.idCanvas =  new jalview.appletgui.IdCanvas (av);
+this.setLayout ( new java.awt.BorderLayout ());
+this.add (this.idCanvas, "Center");
+this.idCanvas.addMouseListener (this);
+this.idCanvas.addMouseMotionListener (this);
+if (av.applet != null) {
+av.applet.getLinkParams (this.links);
+}{
+var srsPos = this.links.indexOf ("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+if (srsPos > -1) {
+this.links.setElementAt ("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$", srsPos);
+}}if (this.links.size () < 1) {
+this.links =  new java.util.Vector ();
+this.links.addElement ("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
+}}, "jalview.appletgui.AlignViewport,jalview.appletgui.AlignmentPanel");
+Clazz.overrideMethod (c$, "mouseMoved", 
+function (e) {
+var seq = this.alignPanel.seqPanel.findSeq (e);
+var sequence = this.av.getAlignment ().getSequenceAt (seq);
+var tooltiptext =  new StringBuffer ();
+if (sequence != null) {
+if (sequence.getDescription () != null) {
+tooltiptext.append (sequence.getDescription ());
+tooltiptext.append ("\n");
+}var sf = sequence.getSequenceFeatures ();
+for (var sl = 0; sf != null && sl < sf.length; sl++) {
+if (sf[sl].begin == sf[sl].end && sf[sl].begin == 0) {
+var nl = false;
+if (sf[sl].getFeatureGroup () != null) {
+tooltiptext.append (sf[sl].getFeatureGroup ());
+nl = true;
+};if (sf[sl].getType () != null) {
+tooltiptext.append (" ");
+tooltiptext.append (sf[sl].getType ());
+nl = true;
+};if (sf[sl].getDescription () != null) {
+tooltiptext.append (" ");
+tooltiptext.append (sf[sl].getDescription ());
+nl = true;
+};if (!Float.isNaN (sf[sl].getScore ()) && sf[sl].getScore () != 0) {
+tooltiptext.append (" Score = ");
+tooltiptext.append (sf[sl].getScore ());
+nl = true;
+};if (sf[sl].getStatus () != null && sf[sl].getStatus ().length > 0) {
+tooltiptext.append (" (");
+tooltiptext.append (sf[sl].getStatus ());
+tooltiptext.append (")");
+nl = true;
+};if (nl) {
+tooltiptext.append ("\n");
+}}}
+}if (tooltiptext.length () == 0) {
+if (this.tooltip != null) {
+this.tooltip.setVisible (false);
+}this.tooltip = null;
+tooltiptext = null;
+return;
+}if (this.tooltip == null) {
+this.tooltip =  new jalview.appletgui.Tooltip (sequence.getDisplayId (true) + "\n" + tooltiptext.toString (), this.idCanvas);
+} else {
+this.tooltip.setTip (sequence.getDisplayId (true) + "\n" + tooltiptext.toString ());
+}tooltiptext = null;
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseDragged", 
+function (e) {
+this.mouseDragging = true;
+var seq = Math.max (0, this.alignPanel.seqPanel.findSeq (e));
+if (seq < this.lastid) {
+this.selectSeqs (this.lastid - 1, seq);
+} else if (seq > this.lastid) {
+this.selectSeqs (this.lastid + 1, seq);
+}this.lastid = seq;
+this.alignPanel.paintAlignment (false);
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseClicked", 
+function (e) {
+if (e.getClickCount () < 2) {
+return;
+}var seq = this.alignPanel.seqPanel.findSeq (e);
+var sq = this.av.getAlignment ().getSequenceAt (seq);
+if (sq == null) {
+return;
+}var id = sq.getName ();
+var target = null;
+var url = null;
+var i = 0;
+while (url == null && i < this.links.size ()) {
+url = this.links.elementAt (i++).toString ();
+var urlLink = null;
+try {
+urlLink =  new jalview.util.UrlLink (url);
+target = urlLink.getTarget ();
+} catch (foo) {
+if (Clazz.exceptionOf (foo, Exception)) {
+System.err.println ("Exception for URLLink '" + url + "'");
+foo.printStackTrace ();
+url = null;
+continue;
+} else {
+throw foo;
+}
+}
+;if (!urlLink.isValid ()) {
+System.err.println (urlLink.getInvalidMessage ());
+url = null;
+continue;
+}var urls = urlLink.makeUrls (id, true);
+if (urls == null || urls[0] == null || urls[0].length < 1) {
+url = null;
+continue;
+}url = urls[1];
+}
+try {
+this.alignPanel.alignFrame.showURL (url, target);
+} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+ex.printStackTrace ();
+} else {
+throw ex;
+}
+}
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseEntered", 
+function (e) {
+if (this.scrollThread != null) {
+this.scrollThread.running = false;
+}}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseExited", 
+function (e) {
+if (this.av.getWrapAlignment ()) {
+return;
+}if (this.mouseDragging && e.getY () < 0 && this.av.getStartSeq () > 0) {
+this.scrollThread = Clazz.innerTypeInstance (jalview.appletgui.IdPanel.ScrollThread, this, null, true);
+}if (this.mouseDragging && e.getY () >= this.getSize ().height && this.av.getAlignment ().getHeight () > this.av.getEndSeq ()) {
+this.scrollThread = Clazz.innerTypeInstance (jalview.appletgui.IdPanel.ScrollThread, this, null, false);
+}}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mousePressed", 
+function (e) {
+if (e.getClickCount () > 1) {
+return;
+}var y = e.getY ();
+if (this.av.getWrapAlignment ()) {
+y -= 2 * this.av.getCharHeight ();
+}var seq = this.alignPanel.seqPanel.findSeq (e);
+if ((e.getModifiers () & 4) == 4) {
+var sq = this.av.getAlignment ().getSequenceAt (seq);
+var nlinks =  new java.util.Vector ();
+for (var l = 0, lSize = this.links.size (); l < lSize; l++) {
+nlinks.addElement (this.links.elementAt (l));
+}
+var sf = sq == null ? null : sq.getSequenceFeatures ();
+for (var sl = 0; sf != null && sl < sf.length; sl++) {
+if (sf[sl].begin == sf[sl].end && sf[sl].begin == 0) {
+if (sf[sl].links != null && sf[sl].links.size () > 0) {
+for (var l = 0, lSize = sf[sl].links.size (); l < lSize; l++) {
+nlinks.addElement (sf[sl].links.elementAt (l));
+}
+}}}
+var popup =  new jalview.appletgui.APopupMenu (this.alignPanel, sq, nlinks);
+this.add (popup);
+popup.show (this, e.getX (), e.getY ());
+return;
+}if ((this.av.getSelectionGroup () == null) || ((!e.isControlDown () && !e.isShiftDown ()) && this.av.getSelectionGroup () != null)) {
+this.av.setSelectionGroup ( new jalview.datamodel.SequenceGroup ());
+this.av.getSelectionGroup ().setStartRes (0);
+this.av.getSelectionGroup ().setEndRes (this.av.getAlignment ().getWidth () - 1);
+}if (e.isShiftDown () && this.lastid != -1) {
+this.selectSeqs (this.lastid, seq);
+} else {
+this.selectSeq (seq);
+}this.alignPanel.paintAlignment (false);
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "selectSeq", 
+function (seq) {
+this.lastid = seq;
+var pickedSeq = this.av.getAlignment ().getSequenceAt (seq);
+this.av.getSelectionGroup ().addOrRemove (pickedSeq, true);
+}, "~N");
+Clazz.defineMethod (c$, "selectSeqs", 
+function (start, end) {
+this.lastid = start;
+if (end >= this.av.getAlignment ().getHeight ()) {
+end = this.av.getAlignment ().getHeight () - 1;
+}if (end < start) {
+var tmp = start;
+start = end;
+end = tmp;
+this.lastid = end;
+}if (this.av.getSelectionGroup () == null) {
+this.av.setSelectionGroup ( new jalview.datamodel.SequenceGroup ());
+}for (var i = start; i <= end; i++) {
+this.av.getSelectionGroup ().addSequence (this.av.getAlignment ().getSequenceAt (i), i == end);
+}
+}, "~N,~N");
+Clazz.overrideMethod (c$, "mouseReleased", 
+function (e) {
+if (this.scrollThread != null) {
+this.scrollThread.running = false;
+}if (this.av.getSelectionGroup () != null) {
+this.av.getSelectionGroup ().recalcConservation ();
+}this.mouseDragging = false;
+jalview.appletgui.PaintRefresher.Refresh (this, this.av.getSequenceSetId ());
+this.av.sendSelection ();
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "highlightSearchResults", 
+function (list) {
+this.idCanvas.setHighlighted (list);
+if (list == null) {
+return;
+}var index = this.av.getAlignment ().findIndex (list.get (0));
+if (this.av.getStartSeq () > index || this.av.getEndSeq () < index) {
+this.alignPanel.setScrollValues (this.av.getStartRes (), index);
+}}, "java.util.List");
+c$.$IdPanel$ScrollThread$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.running = false;
+this.up = true;
+Clazz.instantialize (this, arguments);
+}, jalview.appletgui.IdPanel, "ScrollThread", Thread);
+Clazz.makeConstructor (c$, 
+function (a) {
+Clazz.superConstructor (this, jalview.appletgui.IdPanel.ScrollThread, []);
+this.up = a;
+this.start ();
+}, "~B");
+Clazz.defineMethod (c$, "stopScrolling", 
+function () {
+this.running = false;
+});
+Clazz.overrideMethod (c$, "run", 
+function () {
+this.running = true;
+while (this.running) {
+if (this.b$["jalview.appletgui.IdPanel"].alignPanel.scrollUp (this.up)) {
+var a = this.b$["jalview.appletgui.IdPanel"].av.getStartSeq ();
+if (!this.up) {
+a = this.b$["jalview.appletgui.IdPanel"].av.getEndSeq ();
+}if (a < this.b$["jalview.appletgui.IdPanel"].lastid) {
+this.b$["jalview.appletgui.IdPanel"].selectSeqs (this.b$["jalview.appletgui.IdPanel"].lastid - 1, a);
+} else if (a > this.b$["jalview.appletgui.IdPanel"].lastid && a < this.b$["jalview.appletgui.IdPanel"].av.getAlignment ().getHeight ()) {
+this.b$["jalview.appletgui.IdPanel"].selectSeqs (this.b$["jalview.appletgui.IdPanel"].lastid + 1, a);
+}this.b$["jalview.appletgui.IdPanel"].lastid = a;
+} else {
+this.running = false;
+}this.b$["jalview.appletgui.IdPanel"].alignPanel.paintAlignment (true);
+try {
+Thread.sleep (100);
+} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+} else {
+throw ex;
+}
+}
+}
+});
+c$ = Clazz.p0p ();
+};
+});