X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=site%2Fj2s%2Fjalview%2Fappletgui%2FFinder.js;h=372bcb8075931052f1b03e117ebc927641da647c;hp=76128f9a3e88a1785842b6900073b90f85af29fa;hb=b9b7a352eee79b7764c3b09c9d19663075061d8c;hpb=8ffd05b3abe52c0b6b79b011c0966361f82d5fe6 diff --git a/site/j2s/jalview/appletgui/Finder.js b/site/j2s/jalview/appletgui/Finder.js index 76128f9..372bcb8 100644 --- a/site/j2s/jalview/appletgui/Finder.js +++ b/site/j2s/jalview/appletgui/Finder.js @@ -1,184 +1,184 @@ -Clazz.declarePackage ("jalview.appletgui"); -Clazz.load (["awt2swing.Panel", "java.awt.event.ActionListener", "awt2swing.Button", "$.Checkbox", "$.Label", "$.TextField", "java.awt.GridLayout"], "jalview.appletgui.Finder", ["awt2swing.Frame", "jalview.analysis.Finder", "jalview.bin.JalviewLite", "jalview.datamodel.SequenceFeature", "jalview.util.MessageManager", "java.awt.Font", "$.Rectangle", "java.awt.event.KeyAdapter", "$.WindowAdapter"], function () { -c$ = Clazz.decorateAsClass (function () { -this.av = null; -this.ap = null; -this.frame = null; -this.searchResults = null; -this.seqIndex = 0; -this.resIndex = -1; -this.jLabel1 = null; -this.textfield = null; -this.findAll = null; -this.findNext = null; -this.actionsPanel = null; -this.gridLayout1 = null; -this.createNewGroup = null; -this.caseSensitive = null; -this.searchDescription = null; -Clazz.instantialize (this, arguments); -}, jalview.appletgui, "Finder", awt2swing.Panel, java.awt.event.ActionListener); -Clazz.prepareFields (c$, function () { -this.jLabel1 = new awt2swing.Label (); -this.textfield = new awt2swing.TextField (); -this.findAll = new awt2swing.Button (); -this.findNext = new awt2swing.Button (); -this.actionsPanel = new awt2swing.Panel (); -this.gridLayout1 = new java.awt.GridLayout (); -this.createNewGroup = new awt2swing.Button (); -this.caseSensitive = new awt2swing.Checkbox (); -this.searchDescription = new awt2swing.Checkbox (); -}); -Clazz.makeConstructor (c$, -function (ap) { -Clazz.superConstructor (this, jalview.appletgui.Finder, []); -try { -this.jbInit (); -} catch (e) { -if (Clazz.exceptionOf (e, Exception)) { -e.printStackTrace (); -} else { -throw e; -} -} -this.av = ap.av; -this.ap = ap; -this.frame = new awt2swing.Frame (); -this.frame.add (this); -jalview.bin.JalviewLite.addFrame (this.frame, jalview.util.MessageManager.getString ("action.find"), 340, 120); -this.frame.repaint (); -this.frame.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.Finder$1") ? 0 : jalview.appletgui.Finder.$Finder$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.Finder$1, this, Clazz.cloneFinals ("ap", ap)))); -this.textfield.requestFocus (); -}, "jalview.appletgui.AlignmentPanel"); -Clazz.overrideMethod (c$, "actionPerformed", -function (evt) { -if (evt.getSource () === this.textfield) { -this.doSearch (false); -} else if (evt.getSource () === this.findNext) { -this.doSearch (false); -} else if (evt.getSource () === this.findAll) { -this.resIndex = -1; -this.seqIndex = 0; -this.doSearch (true); -} else if (evt.getSource () === this.createNewGroup) { -this.createNewGroup_actionPerformed (); -}}, "java.awt.event.ActionEvent"); -Clazz.defineMethod (c$, "createNewGroup_actionPerformed", -function () { -var seqs = new Array (this.searchResults.getSize ()); -var features = new Array (this.searchResults.getSize ()); -for (var i = 0; i < this.searchResults.getSize (); i++) { -seqs[i] = this.searchResults.getResultSequence (i); -features[i] = new jalview.datamodel.SequenceFeature (this.textfield.getText ().trim (), "Search Results", null, this.searchResults.getResultStart (i), this.searchResults.getResultEnd (i), "Search Results"); -} -if (this.ap.seqPanel.seqCanvas.getFeatureRenderer ().amendFeatures (seqs, features, true, this.ap)) { -this.ap.alignFrame.sequenceFeatures.setState (true); -this.av.setShowSequenceFeatures (true); -this.ap.highlightSearchResults (null); -}}); -Clazz.defineMethod (c$, "doSearch", -function (findAll) { -if (this.ap.av.applet.currentAlignFrame != null) { -this.ap = this.ap.av.applet.currentAlignFrame.alignPanel; -this.av = this.ap.av; -}this.createNewGroup.setEnabled (false); -var finder = new jalview.analysis.Finder (this.av.getAlignment (), this.av.getSelectionGroup (), this.seqIndex, this.resIndex); -finder.setCaseSensitive (this.caseSensitive.getState ()); -finder.setIncludeDescription (this.searchDescription.getState ()); -finder.setFindAll (findAll); -var searchString = this.textfield.getText (); -finder.find (searchString); -this.seqIndex = finder.getSeqIndex (); -this.resIndex = finder.getResIndex (); -this.searchResults = finder.getSearchResults (); -var idMatch = finder.getIdMatch (); -var haveResults = false; -if ((idMatch.size () > 0)) { -haveResults = true; -this.ap.idPanel.highlightSearchResults (idMatch); -} else { -this.ap.idPanel.highlightSearchResults (null); -}if (this.searchResults.getSize () > 0) { -haveResults = true; -this.createNewGroup.setEnabled (true); -} else { -this.searchResults = null; -}this.ap.highlightSearchResults (this.searchResults); -if (!haveResults) { -this.ap.alignFrame.setStatus (jalview.util.MessageManager.getString ("label.finished_searching")); -this.resIndex = -1; -this.seqIndex = 0; -} else { -if (findAll) { -var message = (idMatch.size () > 0) ? "" + idMatch.size () + " IDs" : ""; -if (idMatch.size () > 0 && this.searchResults != null && this.searchResults.getSize () > 0) { -message += " and "; -}if (this.searchResults != null) { -message += this.searchResults.getSize () + " subsequence matches."; -}this.ap.alignFrame.setStatus (jalview.util.MessageManager.formatMessage ("label.search_results", Clazz.newArray (-1, [searchString, message]))); -} else { -this.ap.alignFrame.setStatus (jalview.util.MessageManager.formatMessage ("label.found_match_for", Clazz.newArray (-1, [searchString]))); -}}}, "~B"); -Clazz.defineMethod (c$, "jbInit", - function () { -this.jLabel1.setFont ( new java.awt.Font ("Verdana", 0, 12)); -this.jLabel1.setText (jalview.util.MessageManager.getString ("action.find")); -this.jLabel1.setBounds ( new java.awt.Rectangle (3, 30, 34, 15)); -this.setLayout (null); -this.textfield.setFont ( new java.awt.Font ("Verdana", 0, 10)); -this.textfield.setText (""); -this.textfield.setBounds ( new java.awt.Rectangle (40, 17, 133, 21)); -this.textfield.addKeyListener (((Clazz.isClassDefined ("jalview.appletgui.Finder$2") ? 0 : jalview.appletgui.Finder.$Finder$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.Finder$2, this, null))); -this.textfield.addActionListener (this); -this.findAll.setFont ( new java.awt.Font ("Verdana", 0, 10)); -this.findAll.setLabel (jalview.util.MessageManager.getString ("action.find_all")); -this.findAll.addActionListener (this); -this.findNext.setEnabled (false); -this.findNext.setFont ( new java.awt.Font ("Verdana", 0, 10)); -this.findNext.setLabel (jalview.util.MessageManager.getString ("action.find_next")); -this.findNext.addActionListener (this); -this.actionsPanel.setBounds ( new java.awt.Rectangle (195, 5, 141, 64)); -this.actionsPanel.setLayout (this.gridLayout1); -this.gridLayout1.setHgap (0); -this.gridLayout1.setRows (3); -this.gridLayout1.setVgap (2); -this.createNewGroup.setEnabled (false); -this.createNewGroup.setFont ( new java.awt.Font ("Verdana", 0, 10)); -this.createNewGroup.setLabel (jalview.util.MessageManager.getString ("label.new_feature")); -this.createNewGroup.addActionListener (this); -this.caseSensitive.setLabel (jalview.util.MessageManager.getString ("label.match_case")); -this.caseSensitive.setBounds ( new java.awt.Rectangle (30, 39, 126, 23)); -this.searchDescription.setLabel (jalview.util.MessageManager.getString ("label.include_description")); -this.searchDescription.setBounds ( new java.awt.Rectangle (30, 59, 170, 23)); -this.actionsPanel.add (this.findNext, null); -this.actionsPanel.add (this.findAll, null); -this.actionsPanel.add (this.createNewGroup, null); -this.add (this.caseSensitive); -this.add (this.textfield, null); -this.add (this.jLabel1, null); -this.add (this.actionsPanel, null); -this.add (this.searchDescription); -}); -Clazz.defineMethod (c$, "textfield_keyTyped", -function (e) { -this.findNext.setEnabled (true); -}, "java.awt.event.KeyEvent"); -c$.$Finder$1$ = function () { -Clazz.pu$h(self.c$); -c$ = Clazz.declareAnonymous (jalview.appletgui, "Finder$1", java.awt.event.WindowAdapter); -Clazz.overrideMethod (c$, "windowClosing", -function (evt) { -this.f$.ap.highlightSearchResults (null); -}, "java.awt.event.WindowEvent"); -c$ = Clazz.p0p (); -}; -c$.$Finder$2$ = function () { -Clazz.pu$h(self.c$); -c$ = Clazz.declareAnonymous (jalview.appletgui, "Finder$2", java.awt.event.KeyAdapter); -Clazz.overrideMethod (c$, "keyTyped", -function (e) { -this.b$["jalview.appletgui.Finder"].textfield_keyTyped (e); -}, "java.awt.event.KeyEvent"); -c$ = Clazz.p0p (); -}; -}); +Clazz.declarePackage ("jalview.appletgui"); +Clazz.load (["awt2swing.Panel", "java.awt.event.ActionListener", "awt2swing.Button", "$.Checkbox", "$.Label", "$.TextField", "java.awt.GridLayout"], "jalview.appletgui.Finder", ["awt2swing.Frame", "jalview.analysis.Finder", "jalview.bin.JalviewLite", "jalview.datamodel.SequenceFeature", "jalview.util.MessageManager", "java.awt.Font", "$.Rectangle", "java.awt.event.KeyAdapter", "$.WindowAdapter"], function () { +c$ = Clazz.decorateAsClass (function () { +this.av = null; +this.ap = null; +this.frame = null; +this.searchResults = null; +this.seqIndex = 0; +this.resIndex = -1; +this.jLabel1 = null; +this.textfield = null; +this.findAll = null; +this.findNext = null; +this.actionsPanel = null; +this.gridLayout1 = null; +this.createNewGroup = null; +this.caseSensitive = null; +this.searchDescription = null; +Clazz.instantialize (this, arguments); +}, jalview.appletgui, "Finder", awt2swing.Panel, java.awt.event.ActionListener); +Clazz.prepareFields (c$, function () { +this.jLabel1 = new awt2swing.Label (); +this.textfield = new awt2swing.TextField (); +this.findAll = new awt2swing.Button (); +this.findNext = new awt2swing.Button (); +this.actionsPanel = new awt2swing.Panel (); +this.gridLayout1 = new java.awt.GridLayout (); +this.createNewGroup = new awt2swing.Button (); +this.caseSensitive = new awt2swing.Checkbox (); +this.searchDescription = new awt2swing.Checkbox (); +}); +Clazz.makeConstructor (c$, +function (ap) { +Clazz.superConstructor (this, jalview.appletgui.Finder, []); +try { +this.jbInit (); +} catch (e) { +if (Clazz.exceptionOf (e, Exception)) { +e.printStackTrace (); +} else { +throw e; +} +} +this.av = ap.av; +this.ap = ap; +this.frame = new awt2swing.Frame (); +this.frame.add (this); +jalview.bin.JalviewLite.addFrame (this.frame, jalview.util.MessageManager.getString ("action.find"), 340, 120); +this.frame.repaint (); +this.frame.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.Finder$1") ? 0 : jalview.appletgui.Finder.$Finder$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.Finder$1, this, Clazz.cloneFinals ("ap", ap)))); +this.textfield.requestFocus (); +}, "jalview.appletgui.AlignmentPanel"); +Clazz.overrideMethod (c$, "actionPerformed", +function (evt) { +if (evt.getSource () === this.textfield) { +this.doSearch (false); +} else if (evt.getSource () === this.findNext) { +this.doSearch (false); +} else if (evt.getSource () === this.findAll) { +this.resIndex = -1; +this.seqIndex = 0; +this.doSearch (true); +} else if (evt.getSource () === this.createNewGroup) { +this.createNewGroup_actionPerformed (); +}}, "java.awt.event.ActionEvent"); +Clazz.defineMethod (c$, "createNewGroup_actionPerformed", +function () { +var seqs = new Array (this.searchResults.getSize ()); +var features = new Array (this.searchResults.getSize ()); +for (var i = 0; i < this.searchResults.getSize (); i++) { +seqs[i] = this.searchResults.getResultSequence (i); +features[i] = new jalview.datamodel.SequenceFeature (this.textfield.getText ().trim (), "Search Results", null, this.searchResults.getResultStart (i), this.searchResults.getResultEnd (i), "Search Results"); +} +if (this.ap.seqPanel.seqCanvas.getFeatureRenderer ().amendFeatures (seqs, features, true, this.ap)) { +this.ap.alignFrame.sequenceFeatures.setState (true); +this.av.setShowSequenceFeatures (true); +this.ap.highlightSearchResults (null); +}}); +Clazz.defineMethod (c$, "doSearch", +function (findAll) { +if (this.ap.av.applet.currentAlignFrame != null) { +this.ap = this.ap.av.applet.currentAlignFrame.alignPanel; +this.av = this.ap.av; +}this.createNewGroup.setEnabled (false); +var finder = new jalview.analysis.Finder (this.av.getAlignment (), this.av.getSelectionGroup (), this.seqIndex, this.resIndex); +finder.setCaseSensitive (this.caseSensitive.getState ()); +finder.setIncludeDescription (this.searchDescription.getState ()); +finder.setFindAll (findAll); +var searchString = this.textfield.getText (); +finder.find (searchString); +this.seqIndex = finder.getSeqIndex (); +this.resIndex = finder.getResIndex (); +this.searchResults = finder.getSearchResults (); +var idMatch = finder.getIdMatch (); +var haveResults = false; +if ((idMatch.size () > 0)) { +haveResults = true; +this.ap.idPanel.highlightSearchResults (idMatch); +} else { +this.ap.idPanel.highlightSearchResults (null); +}if (this.searchResults.getSize () > 0) { +haveResults = true; +this.createNewGroup.setEnabled (true); +} else { +this.searchResults = null; +}this.ap.highlightSearchResults (this.searchResults); +if (!haveResults) { +this.ap.alignFrame.setStatus (jalview.util.MessageManager.getString ("label.finished_searching")); +this.resIndex = -1; +this.seqIndex = 0; +} else { +if (findAll) { +var message = (idMatch.size () > 0) ? "" + idMatch.size () + " IDs" : ""; +if (idMatch.size () > 0 && this.searchResults != null && this.searchResults.getSize () > 0) { +message += " and "; +}if (this.searchResults != null) { +message += this.searchResults.getSize () + " subsequence matches."; +}this.ap.alignFrame.setStatus (jalview.util.MessageManager.formatMessage ("label.search_results", Clazz.newArray (-1, [searchString, message]))); +} else { +this.ap.alignFrame.setStatus (jalview.util.MessageManager.formatMessage ("label.found_match_for", Clazz.newArray (-1, [searchString]))); +}}}, "~B"); +Clazz.defineMethod (c$, "jbInit", + function () { +this.jLabel1.setFont ( new java.awt.Font ("Verdana", 0, 12)); +this.jLabel1.setText (jalview.util.MessageManager.getString ("action.find")); +this.jLabel1.setBounds ( new java.awt.Rectangle (3, 30, 34, 15)); +this.setLayout (null); +this.textfield.setFont ( new java.awt.Font ("Verdana", 0, 10)); +this.textfield.setText (""); +this.textfield.setBounds ( new java.awt.Rectangle (40, 17, 133, 21)); +this.textfield.addKeyListener (((Clazz.isClassDefined ("jalview.appletgui.Finder$2") ? 0 : jalview.appletgui.Finder.$Finder$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.Finder$2, this, null))); +this.textfield.addActionListener (this); +this.findAll.setFont ( new java.awt.Font ("Verdana", 0, 10)); +this.findAll.setLabel (jalview.util.MessageManager.getString ("action.find_all")); +this.findAll.addActionListener (this); +this.findNext.setEnabled (false); +this.findNext.setFont ( new java.awt.Font ("Verdana", 0, 10)); +this.findNext.setLabel (jalview.util.MessageManager.getString ("action.find_next")); +this.findNext.addActionListener (this); +this.actionsPanel.setBounds ( new java.awt.Rectangle (195, 5, 141, 64)); +this.actionsPanel.setLayout (this.gridLayout1); +this.gridLayout1.setHgap (0); +this.gridLayout1.setRows (3); +this.gridLayout1.setVgap (2); +this.createNewGroup.setEnabled (false); +this.createNewGroup.setFont ( new java.awt.Font ("Verdana", 0, 10)); +this.createNewGroup.setLabel (jalview.util.MessageManager.getString ("label.new_feature")); +this.createNewGroup.addActionListener (this); +this.caseSensitive.setLabel (jalview.util.MessageManager.getString ("label.match_case")); +this.caseSensitive.setBounds ( new java.awt.Rectangle (30, 39, 126, 23)); +this.searchDescription.setLabel (jalview.util.MessageManager.getString ("label.include_description")); +this.searchDescription.setBounds ( new java.awt.Rectangle (30, 59, 170, 23)); +this.actionsPanel.add (this.findNext, null); +this.actionsPanel.add (this.findAll, null); +this.actionsPanel.add (this.createNewGroup, null); +this.add (this.caseSensitive); +this.add (this.textfield, null); +this.add (this.jLabel1, null); +this.add (this.actionsPanel, null); +this.add (this.searchDescription); +}); +Clazz.defineMethod (c$, "textfield_keyTyped", +function (e) { +this.findNext.setEnabled (true); +}, "java.awt.event.KeyEvent"); +c$.$Finder$1$ = function () { +Clazz.pu$h(self.c$); +c$ = Clazz.declareAnonymous (jalview.appletgui, "Finder$1", java.awt.event.WindowAdapter); +Clazz.overrideMethod (c$, "windowClosing", +function (evt) { +this.f$.ap.highlightSearchResults (null); +}, "java.awt.event.WindowEvent"); +c$ = Clazz.p0p (); +}; +c$.$Finder$2$ = function () { +Clazz.pu$h(self.c$); +c$ = Clazz.declareAnonymous (jalview.appletgui, "Finder$2", java.awt.event.KeyAdapter); +Clazz.overrideMethod (c$, "keyTyped", +function (e) { +this.b$["jalview.appletgui.Finder"].textfield_keyTyped (e); +}, "java.awt.event.KeyEvent"); +c$ = Clazz.p0p (); +}; +});