X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Fjavascript%2FJsSelectionSender.js;h=36703c535e8041c451e14d5c56f860c75d614108;hp=ad763f07bdb6fc35b067e01a614d88c22e5439a6;hb=8ffd05b3abe52c0b6b79b011c0966361f82d5fe6;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/javascript/JsSelectionSender.js b/bin/jalview/javascript/JsSelectionSender.js index ad763f0..36703c5 100644 --- a/bin/jalview/javascript/JsSelectionSender.js +++ b/bin/jalview/javascript/JsSelectionSender.js @@ -1,70 +1,70 @@ -Clazz.declarePackage ("jalview.javascript"); -Clazz.load (["jalview.javascript.JSFunctionExec", "$.JsCallBack", "jalview.structure.SelectionListener"], "jalview.javascript.JsSelectionSender", ["jalview.appletgui.AlignViewport", "netscape.javascript.JSException"], function () { -c$ = Clazz.decorateAsClass (function () { -this._af = null; -this._listener = null; -Clazz.instantialize (this, arguments); -}, jalview.javascript, "JsSelectionSender", jalview.javascript.JSFunctionExec, [jalview.structure.SelectionListener, jalview.javascript.JsCallBack]); -Clazz.makeConstructor (c$, -function (jvlite, af, listener) { -Clazz.superConstructor (this, jalview.javascript.JsSelectionSender, [jvlite]); -this._af = af; -this._listener = listener; -}, "jalview.bin.JalviewLite,jalview.appletgui.AlignFrame,~S"); -Clazz.overrideMethod (c$, "selection", -function (seqsel, colsel, source) { -try { -var setid = ""; -var viewid = ""; -var src = this._af; -if (source != null) { -if (Clazz.instanceOf (source, jalview.appletgui.AlignViewport) && (source).applet.currentAlignFrame.viewport === source) { -src = (source).applet.currentAlignFrame; -}}var seqs = Clazz.newArray (-1, []); -var cols = Clazz.newArray (-1, []); -var strt = 0; -var end = (src == null) ? -1 : src.alignPanel.av.getAlignment ().getWidth (); -if (seqsel != null && seqsel.getSize () > 0) { -seqs = new Array (seqsel.getSize ()); -for (var i = 0; i < seqs.length; i++) { -seqs[i] = seqsel.getSequenceAt (i).getName (); -} -if (strt < seqsel.getStartRes ()) { -strt = seqsel.getStartRes (); -}if (end == -1 || end > seqsel.getEndRes ()) { -end = seqsel.getEndRes (); -}}if (colsel != null && colsel.size () > 0) { -if (end == -1) { -end = colsel.getMax () + 1; -}cols = new Array (colsel.getSelected ().size ()); -var d = 0; -var r = -1; -for (var i = 0; i < cols.length; i++) { -cols[i] = "" + (1 + colsel.getSelected ().elementAt (i).intValue ()); -} -} else { -if (seqsel != null && seqsel.getSize () > 0) { -cols = new Array (2); -cols[0] = "" + (1 + strt) + "-" + (1 + end); -};}System.err.println ("Relaying selection to jsfunction:" + this._listener); -this.executeJavascriptFunction (this._listener, Clazz.newArray (-1, [src, setid, this.jvlite.arrayToSeparatorList (seqs), this.jvlite.arrayToSeparatorList (cols)])); -} catch (ex) { -if (Clazz.exceptionOf (ex, Exception)) { -System.err.println ("Jalview Javascript exec error: Couldn't send selection message using function '" + this._listener + "'"); -ex.printStackTrace (); -if (Clazz.instanceOf (ex, netscape.javascript.JSException)) { -System.err.println ("Javascript Exception: " + (ex).getCause ().toString ()); -}} else { -throw ex; -} -} -}, "jalview.datamodel.SequenceGroup,jalview.datamodel.ColumnSelection,jalview.structure.SelectionSource"); -Clazz.overrideMethod (c$, "getAlignFrame", -function () { -return this._af; -}); -Clazz.overrideMethod (c$, "getListenerFunction", -function () { -return this._listener; -}); -}); +Clazz.declarePackage ("jalview.javascript"); +Clazz.load (["jalview.javascript.JSFunctionExec", "$.JsCallBack", "jalview.structure.SelectionListener"], "jalview.javascript.JsSelectionSender", ["jalview.appletgui.AlignViewport", "netscape.javascript.JSException"], function () { +c$ = Clazz.decorateAsClass (function () { +this._af = null; +this._listener = null; +Clazz.instantialize (this, arguments); +}, jalview.javascript, "JsSelectionSender", jalview.javascript.JSFunctionExec, [jalview.structure.SelectionListener, jalview.javascript.JsCallBack]); +Clazz.makeConstructor (c$, +function (jvlite, af, listener) { +Clazz.superConstructor (this, jalview.javascript.JsSelectionSender, [jvlite]); +this._af = af; +this._listener = listener; +}, "jalview.bin.JalviewLite,jalview.appletgui.AlignFrame,~S"); +Clazz.overrideMethod (c$, "selection", +function (seqsel, colsel, source) { +try { +var setid = ""; +var viewid = ""; +var src = this._af; +if (source != null) { +if (Clazz.instanceOf (source, jalview.appletgui.AlignViewport) && (source).applet.currentAlignFrame.viewport === source) { +src = (source).applet.currentAlignFrame; +}}var seqs = Clazz.newArray (-1, []); +var cols = Clazz.newArray (-1, []); +var strt = 0; +var end = (src == null) ? -1 : src.alignPanel.av.getAlignment ().getWidth (); +if (seqsel != null && seqsel.getSize () > 0) { +seqs = new Array (seqsel.getSize ()); +for (var i = 0; i < seqs.length; i++) { +seqs[i] = seqsel.getSequenceAt (i).getName (); +} +if (strt < seqsel.getStartRes ()) { +strt = seqsel.getStartRes (); +}if (end == -1 || end > seqsel.getEndRes ()) { +end = seqsel.getEndRes (); +}}if (colsel != null && colsel.size () > 0) { +if (end == -1) { +end = colsel.getMax () + 1; +}cols = new Array (colsel.getSelected ().size ()); +var d = 0; +var r = -1; +for (var i = 0; i < cols.length; i++) { +cols[i] = "" + (1 + colsel.getSelected ().elementAt (i).intValue ()); +} +} else { +if (seqsel != null && seqsel.getSize () > 0) { +cols = new Array (2); +cols[0] = "" + (1 + strt) + "-" + (1 + end); +};}System.err.println ("Relaying selection to jsfunction:" + this._listener); +this.executeJavascriptFunction (this._listener, Clazz.newArray (-1, [src, setid, this.jvlite.arrayToSeparatorList (seqs), this.jvlite.arrayToSeparatorList (cols)])); +} catch (ex) { +if (Clazz.exceptionOf (ex, Exception)) { +System.err.println ("Jalview Javascript exec error: Couldn't send selection message using function '" + this._listener + "'"); +ex.printStackTrace (); +if (Clazz.instanceOf (ex, netscape.javascript.JSException)) { +System.err.println ("Javascript Exception: " + (ex).getCause ().toString ()); +}} else { +throw ex; +} +} +}, "jalview.datamodel.SequenceGroup,jalview.datamodel.ColumnSelection,jalview.structure.SelectionSource"); +Clazz.overrideMethod (c$, "getAlignFrame", +function () { +return this._af; +}); +Clazz.overrideMethod (c$, "getListenerFunction", +function () { +return this._listener; +}); +});