X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Fappletgui%2FFeatureRenderer.js;h=3d688fde35a442d58e7b89f1a1865a45bd9ef576;hp=05b643c0c8f5118b5c166c5501abfcc53513e3d8;hb=7301a2415adab88038b291fc54caeeb3a5a47a44;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/appletgui/FeatureRenderer.js b/bin/jalview/appletgui/FeatureRenderer.js index 05b643c..3d688fd 100644 --- a/bin/jalview/appletgui/FeatureRenderer.js +++ b/bin/jalview/appletgui/FeatureRenderer.js @@ -1,272 +1,272 @@ -Clazz.declarePackage ("jalview.appletgui"); -Clazz.load (["awt2swing.Panel", "jalview.renderer.seqfeatures.FeatureRenderer"], "jalview.appletgui.FeatureRenderer", ["awt2swing.Button", "$.Choice", "$.Label", "$.ScrollPane", "$.TextArea", "$.TextField", "jalview.appletgui.FeatureColourChooser", "$.JVDialog", "$.UserDefinedColours", "jalview.datamodel.SearchResults", "jalview.io.FeaturesFile", "jalview.schemes.GraduatedColor", "$.UserColourScheme", "jalview.util.MessageManager", "java.awt.BorderLayout", "$.Color", "$.Font", "$.GridLayout", "java.awt.event.ActionListener", "$.ItemListener", "$.MouseAdapter", "java.lang.Error"], function () { -c$ = Clazz.decorateAsClass (function () { -this.featureLinks = null; -this.featureIndex = 0; -this.deleteFeature = false; -this.colourPanel = null; -if (!Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer.FeatureColourPanel")) { -jalview.appletgui.FeatureRenderer.$FeatureRenderer$FeatureColourPanel$ (); -} -Clazz.instantialize (this, arguments); -}, jalview.appletgui, "FeatureRenderer", jalview.renderer.seqfeatures.FeatureRenderer); -Clazz.makeConstructor (c$, -function (av) { -Clazz.superConstructor (this, jalview.appletgui.FeatureRenderer); -this.av = av; -this.setTransparencyAvailable (!System.getProperty ("java.version").startsWith ("1.1")); -}, "jalview.viewmodel.AlignmentViewport"); -Clazz.defineMethod (c$, "amendFeatures", -function (sequences, features, newFeatures, ap) { -var bigPanel = new awt2swing.Panel ( new java.awt.BorderLayout ()); -var name = new awt2swing.TextField (16); -var source = new awt2swing.TextField (16); -var description = new awt2swing.TextArea (3, 35); -var start = new awt2swing.TextField (8); -var end = new awt2swing.TextField (8); -var overlaps; -var deleteButton = new awt2swing.Button ("Delete"); -this.deleteFeature = false; -this.colourPanel = Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer.FeatureColourPanel, this, null); -this.colourPanel.setSize (110, 15); -var fr = this; -var panel = new awt2swing.Panel ( new java.awt.GridLayout (3, 1)); -this.featureIndex = 0; -var tmp; -if (!newFeatures && features.length > 1) { -panel = new awt2swing.Panel ( new java.awt.GridLayout (4, 1)); -tmp = new awt2swing.Panel (); -tmp.add ( new awt2swing.Label ("Select Feature: ")); -overlaps = new awt2swing.Choice (); -for (var i = 0; i < features.length; i++) { -var item = features[i].getType () + "/" + features[i].getBegin () + "-" + features[i].getEnd (); -if (features[i].getFeatureGroup () != null) { -item += " (" + features[i].getFeatureGroup () + ")"; -}overlaps.addItem (item); -} -tmp.add (overlaps); -overlaps.addItemListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$1") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$1, this, Clazz.cloneFinals ("overlaps", overlaps, "name", name, "features", features, "description", description, "source", source, "start", start, "end", end, "sequences", sequences, "ap", ap)))); -panel.add (tmp); -}tmp = new awt2swing.Panel (); -panel.add (tmp); -tmp.add ( new awt2swing.Label ("Name: ", 4)); -tmp.add (name); -tmp = new awt2swing.Panel (); -panel.add (tmp); -tmp.add ( new awt2swing.Label ("Group: ", 4)); -tmp.add (source); -tmp = new awt2swing.Panel (); -panel.add (tmp); -tmp.add ( new awt2swing.Label ("Colour: ", 4)); -tmp.add (this.colourPanel); -bigPanel.add (panel, "North"); -panel = new awt2swing.Panel (); -panel.add ( new awt2swing.Label ("Description: ", 4)); -panel.add ( new awt2swing.ScrollPane ().add (description)); -if (!newFeatures) { -bigPanel.add (panel, "South"); -panel = new awt2swing.Panel (); -panel.add ( new awt2swing.Label (" Start:", 4)); -panel.add (start); -panel.add ( new awt2swing.Label (" End:", 4)); -panel.add (end); -bigPanel.add (panel, "Center"); -} else { -bigPanel.add (panel, "Center"); -}if (jalview.appletgui.FeatureRenderer.lastFeatureAdded == null) { -if (features[0].type != null) { -jalview.appletgui.FeatureRenderer.lastFeatureAdded = features[0].type; -} else { -jalview.appletgui.FeatureRenderer.lastFeatureAdded = "feature_1"; -}}if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded == null) { -if (features[0].featureGroup != null) { -jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = features[0].featureGroup; -} else { -jalview.appletgui.FeatureRenderer.lastFeatureAdded = "Jalview"; -}}var title = newFeatures ? jalview.util.MessageManager.getString ("label.create_new_sequence_features") : jalview.util.MessageManager.formatMessage ("label.amend_delete_features", Clazz.newArray (-1, [sequences[0].getName ()])); -var dialog = new jalview.appletgui.JVDialog (ap.alignFrame, title, true, 385, 240); -dialog.setMainPanel (bigPanel); -if (newFeatures) { -name.setText (jalview.appletgui.FeatureRenderer.lastFeatureAdded); -source.setText (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded); -} else { -dialog.ok.setLabel (jalview.util.MessageManager.getString ("label.amend")); -dialog.buttonPanel.add (deleteButton, 1); -deleteButton.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$2") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$2, this, Clazz.cloneFinals ("dialog", dialog)))); -name.setText (features[0].getType ()); -source.setText (features[0].getFeatureGroup ()); -}start.setText (features[0].getBegin () + ""); -end.setText (features[0].getEnd () + ""); -description.setText (features[0].getDescription ()); -var col = this.getColour (name.getText ()); -if (col == null) { -col = new jalview.schemes.UserColourScheme ().createColourFromName (name.getText ()); -}var fcol = this.getFeatureStyle (name.getText ()); -this.colourPanel.updateColor (fcol); -dialog.setResizable (true); -this.colourPanel.addMouseListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$3") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$3, this, Clazz.cloneFinals ("fr", fr, "ap", ap, "name", name, "dialog", dialog)))); -dialog.setVisible (true); -var ffile = new jalview.io.FeaturesFile (); -if (dialog.accept) { -this.lastSeq = null; -jalview.appletgui.FeatureRenderer.lastFeatureAdded = name.getText ().trim (); -jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = source.getText ().trim (); -jalview.appletgui.FeatureRenderer.lastDescriptionAdded = description.getText ().$replace ('\n', ' '); -}if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded != null && jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded.length < 1) { -jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = null; -}if (!newFeatures) { -var sf = features[this.featureIndex]; -if (dialog.accept) { -sf.type = jalview.appletgui.FeatureRenderer.lastFeatureAdded; -sf.featureGroup = jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded; -sf.description = jalview.appletgui.FeatureRenderer.lastDescriptionAdded; -if (!this.colourPanel.isGcol) { -this.setColour (sf.type, this.colourPanel.getBackground ()); -}try { -sf.begin = Integer.parseInt (start.getText ()); -sf.end = Integer.parseInt (end.getText ()); -} catch (ex) { -if (Clazz.exceptionOf (ex, NumberFormatException)) { -} else { -throw ex; -} -} -ffile.parseDescriptionHTML (sf, false); -this.setVisible (jalview.appletgui.FeatureRenderer.lastFeatureAdded); -}if (this.deleteFeature) { -sequences[0].deleteFeature (sf); -}} else { -if (dialog.accept && name.getText ().length > 0) { -for (var i = 0; i < sequences.length; i++) { -features[i].type = jalview.appletgui.FeatureRenderer.lastFeatureAdded; -features[i].featureGroup = jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded; -features[i].description = jalview.appletgui.FeatureRenderer.lastDescriptionAdded; -sequences[i].addSequenceFeature (features[i]); -ffile.parseDescriptionHTML (features[i], false); -} -var newColour = this.colourPanel.getBackground (); -if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded != null) { -this.setGroupVisibility (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded, true); -}this.setColour (jalview.appletgui.FeatureRenderer.lastFeatureAdded, newColour); -this.setVisible (jalview.appletgui.FeatureRenderer.lastFeatureAdded); -this.findAllFeatures (false); -} else { -return false; -}}if ((this.av).featureSettings != null) { -(this.av).featureSettings.refreshTable (); -}ap.paintAlignment (true); -return true; -}, "~A,~A,~B,jalview.appletgui.AlignmentPanel"); -c$.$FeatureRenderer$FeatureColourPanel$ = function () { -Clazz.pu$h (); -c$ = Clazz.decorateAsClass (function () { -Clazz.prepareCallback (this, arguments); -this.label = ""; -this.maxCol = null; -this.isColourByLabel = false; -this.isGcol = false; -Clazz.instantialize (this, arguments); -}, jalview.appletgui.FeatureRenderer, "FeatureColourPanel", awt2swing.Panel); -Clazz.defineMethod (c$, "updateColor", -function (a) { -var b; -var c = null; -var d = null; -var e = ""; -if (Clazz.instanceOf (a, java.awt.Color)) { -this.isGcol = false; -c = a; -d = null; -} else if (Clazz.instanceOf (a, jalview.schemes.GraduatedColor)) { -this.isGcol = true; -d = a; -c = null; -} else { -throw new Error (jalview.util.MessageManager.getString ("error.invalid_colour_for_mycheckbox")); -}if (c != null) { -this.setBackground (b = c); -} else { -if (d.getThreshType () != -1) { -e += " " + ((d.getThreshType () == 1) ? "(>)" : "(<)"); -}if (this.isColourByLabel = d.isColourByLabel ()) { -this.setBackground (b = java.awt.Color.white); -e += " (by Label)"; -} else { -this.setBackground (b = d.getMinColor ()); -this.maxCol = d.getMaxColor (); -}}this.label = e; -this.setBackground (b); -this.repaint (); -}, "~O"); -Clazz.makeConstructor (c$, -function () { -Clazz.superConstructor (this, jalview.appletgui.FeatureRenderer.FeatureColourPanel, [null]); -}); -Clazz.defineMethod (c$, "PaintComponent", -function (a) { -var b = this.getSize (); -if (this.isGcol) { -if (this.isColourByLabel) { -a.setColor (java.awt.Color.white); -a.fillRect (Clazz.doubleToInt (b.width / 2), 0, Clazz.doubleToInt (b.width / 2), b.height); -a.setColor (java.awt.Color.black); -var c = new java.awt.Font ("Verdana", 0, 10); -a.setFont (c); -a.drawString (jalview.util.MessageManager.getString ("label.label"), 0, 0); -} else { -a.setColor (this.maxCol); -a.fillRect (Clazz.doubleToInt (b.width / 2), 0, Clazz.doubleToInt (b.width / 2), b.height); -}}}, "java.awt.Graphics"); -c$ = Clazz.p0p (); -}; -c$.$FeatureRenderer$1$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$1", null, java.awt.event.ItemListener); -Clazz.overrideMethod (c$, "itemStateChanged", -function (e) { -var index = this.f$.overlaps.getSelectedIndex (); -if (index != -1) { -this.b$["jalview.appletgui.FeatureRenderer"].featureIndex = index; -this.f$.name.setText (this.f$.features[index].getType ()); -this.f$.description.setText (this.f$.features[index].getDescription ()); -this.f$.source.setText (this.f$.features[index].getFeatureGroup ()); -this.f$.start.setText (this.f$.features[index].getBegin () + ""); -this.f$.end.setText (this.f$.features[index].getEnd () + ""); -var highlight = new jalview.datamodel.SearchResults (); -highlight.addResult (this.f$.sequences[0], this.f$.features[index].getBegin (), this.f$.features[index].getEnd ()); -this.f$.ap.seqPanel.seqCanvas.highlightSearchResults (highlight); -}var col = this.b$["jalview.appletgui.FeatureRenderer"].getFeatureStyle (this.f$.name.getText ()); -if (col == null) { -col = new jalview.schemes.UserColourScheme ().createColourFromName (this.f$.name.getText ()); -}this.b$["jalview.appletgui.FeatureRenderer"].colourPanel.updateColor (col); -}, "java.awt.event.ItemEvent"); -c$ = Clazz.p0p (); -}; -c$.$FeatureRenderer$2$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$2", null, java.awt.event.ActionListener); -Clazz.overrideMethod (c$, "actionPerformed", -function (evt) { -this.b$["jalview.appletgui.FeatureRenderer"].deleteFeature = true; -this.f$.dialog.setVisible (false); -}, "java.awt.event.ActionEvent"); -c$ = Clazz.p0p (); -}; -c$.$FeatureRenderer$3$ = function () { -Clazz.pu$h (); -c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$3", java.awt.event.MouseAdapter); -Clazz.overrideMethod (c$, "mousePressed", -function (evt) { -if (!this.b$["jalview.appletgui.FeatureRenderer"].colourPanel.isGcol) { - new jalview.appletgui.UserDefinedColours (this.f$.fr, this.f$.ap.alignFrame); -} else { -var fcc = new jalview.appletgui.FeatureColourChooser (this.f$.ap.alignFrame, this.f$.name.getText ()); -this.f$.dialog.transferFocus (); -}}, "java.awt.event.MouseEvent"); -c$ = Clazz.p0p (); -}; -Clazz.defineStatics (c$, -"lastFeatureAdded", null, -"lastFeatureGroupAdded", null, -"lastDescriptionAdded", null); -}); +Clazz.declarePackage ("jalview.appletgui"); +Clazz.load (["awt2swing.Panel", "jalview.renderer.seqfeatures.FeatureRenderer"], "jalview.appletgui.FeatureRenderer", ["awt2swing.Button", "$.Choice", "$.Label", "$.ScrollPane", "$.TextArea", "$.TextField", "jalview.appletgui.FeatureColourChooser", "$.JVDialog", "$.UserDefinedColours", "jalview.datamodel.SearchResults", "jalview.io.FeaturesFile", "jalview.schemes.GraduatedColor", "$.UserColourScheme", "jalview.util.MessageManager", "java.awt.BorderLayout", "$.Color", "$.Font", "$.GridLayout", "java.awt.event.ActionListener", "$.ItemListener", "$.MouseAdapter", "java.lang.Error"], function () { +c$ = Clazz.decorateAsClass (function () { +this.featureLinks = null; +this.featureIndex = 0; +this.deleteFeature = false; +this.colourPanel = null; +if (!Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer.FeatureColourPanel")) { +jalview.appletgui.FeatureRenderer.$FeatureRenderer$FeatureColourPanel$ (); +} +Clazz.instantialize (this, arguments); +}, jalview.appletgui, "FeatureRenderer", jalview.renderer.seqfeatures.FeatureRenderer); +Clazz.makeConstructor (c$, +function (av) { +Clazz.superConstructor (this, jalview.appletgui.FeatureRenderer); +this.av = av; +this.setTransparencyAvailable (!System.getProperty ("java.version").startsWith ("1.1")); +}, "jalview.viewmodel.AlignmentViewport"); +Clazz.defineMethod (c$, "amendFeatures", +function (sequences, features, newFeatures, ap) { +var bigPanel = new awt2swing.Panel ( new java.awt.BorderLayout ()); +var name = new awt2swing.TextField (16); +var source = new awt2swing.TextField (16); +var description = new awt2swing.TextArea (3, 35); +var start = new awt2swing.TextField (8); +var end = new awt2swing.TextField (8); +var overlaps; +var deleteButton = new awt2swing.Button ("Delete"); +this.deleteFeature = false; +this.colourPanel = Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer.FeatureColourPanel, this, null); +this.colourPanel.setSize (110, 15); +var fr = this; +var panel = new awt2swing.Panel ( new java.awt.GridLayout (3, 1)); +this.featureIndex = 0; +var tmp; +if (!newFeatures && features.length > 1) { +panel = new awt2swing.Panel ( new java.awt.GridLayout (4, 1)); +tmp = new awt2swing.Panel (); +tmp.add ( new awt2swing.Label ("Select Feature: ")); +overlaps = new awt2swing.Choice (); +for (var i = 0; i < features.length; i++) { +var item = features[i].getType () + "/" + features[i].getBegin () + "-" + features[i].getEnd (); +if (features[i].getFeatureGroup () != null) { +item += " (" + features[i].getFeatureGroup () + ")"; +}overlaps.addItem (item); +} +tmp.add (overlaps); +overlaps.addItemListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$1") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$1, this, Clazz.cloneFinals ("overlaps", overlaps, "name", name, "features", features, "description", description, "source", source, "start", start, "end", end, "sequences", sequences, "ap", ap)))); +panel.add (tmp); +}tmp = new awt2swing.Panel (); +panel.add (tmp); +tmp.add ( new awt2swing.Label ("Name: ", 4)); +tmp.add (name); +tmp = new awt2swing.Panel (); +panel.add (tmp); +tmp.add ( new awt2swing.Label ("Group: ", 4)); +tmp.add (source); +tmp = new awt2swing.Panel (); +panel.add (tmp); +tmp.add ( new awt2swing.Label ("Colour: ", 4)); +tmp.add (this.colourPanel); +bigPanel.add (panel, "North"); +panel = new awt2swing.Panel (); +panel.add ( new awt2swing.Label ("Description: ", 4)); +panel.add ( new awt2swing.ScrollPane ().add (description)); +if (!newFeatures) { +bigPanel.add (panel, "South"); +panel = new awt2swing.Panel (); +panel.add ( new awt2swing.Label (" Start:", 4)); +panel.add (start); +panel.add ( new awt2swing.Label (" End:", 4)); +panel.add (end); +bigPanel.add (panel, "Center"); +} else { +bigPanel.add (panel, "Center"); +}if (jalview.appletgui.FeatureRenderer.lastFeatureAdded == null) { +if (features[0].type != null) { +jalview.appletgui.FeatureRenderer.lastFeatureAdded = features[0].type; +} else { +jalview.appletgui.FeatureRenderer.lastFeatureAdded = "feature_1"; +}}if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded == null) { +if (features[0].featureGroup != null) { +jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = features[0].featureGroup; +} else { +jalview.appletgui.FeatureRenderer.lastFeatureAdded = "Jalview"; +}}var title = newFeatures ? jalview.util.MessageManager.getString ("label.create_new_sequence_features") : jalview.util.MessageManager.formatMessage ("label.amend_delete_features", Clazz.newArray (-1, [sequences[0].getName ()])); +var dialog = new jalview.appletgui.JVDialog (ap.alignFrame, title, true, 385, 240); +dialog.setMainPanel (bigPanel); +if (newFeatures) { +name.setText (jalview.appletgui.FeatureRenderer.lastFeatureAdded); +source.setText (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded); +} else { +dialog.ok.setLabel (jalview.util.MessageManager.getString ("label.amend")); +dialog.buttonPanel.add (deleteButton, 1); +deleteButton.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$2") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$2, this, Clazz.cloneFinals ("dialog", dialog)))); +name.setText (features[0].getType ()); +source.setText (features[0].getFeatureGroup ()); +}start.setText (features[0].getBegin () + ""); +end.setText (features[0].getEnd () + ""); +description.setText (features[0].getDescription ()); +var col = this.getColour (name.getText ()); +if (col == null) { +col = new jalview.schemes.UserColourScheme ().createColourFromName (name.getText ()); +}var fcol = this.getFeatureStyle (name.getText ()); +this.colourPanel.updateColor (fcol); +dialog.setResizable (true); +this.colourPanel.addMouseListener (((Clazz.isClassDefined ("jalview.appletgui.FeatureRenderer$3") ? 0 : jalview.appletgui.FeatureRenderer.$FeatureRenderer$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.FeatureRenderer$3, this, Clazz.cloneFinals ("fr", fr, "ap", ap, "name", name, "dialog", dialog)))); +dialog.setVisible (true); +var ffile = new jalview.io.FeaturesFile (); +if (dialog.accept) { +this.lastSeq = null; +jalview.appletgui.FeatureRenderer.lastFeatureAdded = name.getText ().trim (); +jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = source.getText ().trim (); +jalview.appletgui.FeatureRenderer.lastDescriptionAdded = description.getText ().$replace ('\n', ' '); +}if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded != null && jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded.length < 1) { +jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded = null; +}if (!newFeatures) { +var sf = features[this.featureIndex]; +if (dialog.accept) { +sf.type = jalview.appletgui.FeatureRenderer.lastFeatureAdded; +sf.featureGroup = jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded; +sf.description = jalview.appletgui.FeatureRenderer.lastDescriptionAdded; +if (!this.colourPanel.isGcol) { +this.setColour (sf.type, this.colourPanel.getBackground ()); +}try { +sf.begin = Integer.parseInt (start.getText ()); +sf.end = Integer.parseInt (end.getText ()); +} catch (ex) { +if (Clazz.exceptionOf (ex, NumberFormatException)) { +} else { +throw ex; +} +} +ffile.parseDescriptionHTML (sf, false); +this.setVisible (jalview.appletgui.FeatureRenderer.lastFeatureAdded); +}if (this.deleteFeature) { +sequences[0].deleteFeature (sf); +}} else { +if (dialog.accept && name.getText ().length > 0) { +for (var i = 0; i < sequences.length; i++) { +features[i].type = jalview.appletgui.FeatureRenderer.lastFeatureAdded; +features[i].featureGroup = jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded; +features[i].description = jalview.appletgui.FeatureRenderer.lastDescriptionAdded; +sequences[i].addSequenceFeature (features[i]); +ffile.parseDescriptionHTML (features[i], false); +} +var newColour = this.colourPanel.getBackground (); +if (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded != null) { +this.setGroupVisibility (jalview.appletgui.FeatureRenderer.lastFeatureGroupAdded, true); +}this.setColour (jalview.appletgui.FeatureRenderer.lastFeatureAdded, newColour); +this.setVisible (jalview.appletgui.FeatureRenderer.lastFeatureAdded); +this.findAllFeatures (false); +} else { +return false; +}}if ((this.av).featureSettings != null) { +(this.av).featureSettings.refreshTable (); +}ap.paintAlignment (true); +return true; +}, "~A,~A,~B,jalview.appletgui.AlignmentPanel"); +c$.$FeatureRenderer$FeatureColourPanel$ = function () { +Clazz.pu$h (); +c$ = Clazz.decorateAsClass (function () { +Clazz.prepareCallback (this, arguments); +this.label = ""; +this.maxCol = null; +this.isColourByLabel = false; +this.isGcol = false; +Clazz.instantialize (this, arguments); +}, jalview.appletgui.FeatureRenderer, "FeatureColourPanel", awt2swing.Panel); +Clazz.defineMethod (c$, "updateColor", +function (a) { +var b; +var c = null; +var d = null; +var e = ""; +if (Clazz.instanceOf (a, java.awt.Color)) { +this.isGcol = false; +c = a; +d = null; +} else if (Clazz.instanceOf (a, jalview.schemes.GraduatedColor)) { +this.isGcol = true; +d = a; +c = null; +} else { +throw new Error (jalview.util.MessageManager.getString ("error.invalid_colour_for_mycheckbox")); +}if (c != null) { +this.setBackground (b = c); +} else { +if (d.getThreshType () != -1) { +e += " " + ((d.getThreshType () == 1) ? "(>)" : "(<)"); +}if (this.isColourByLabel = d.isColourByLabel ()) { +this.setBackground (b = java.awt.Color.white); +e += " (by Label)"; +} else { +this.setBackground (b = d.getMinColor ()); +this.maxCol = d.getMaxColor (); +}}this.label = e; +this.setBackground (b); +this.repaint (); +}, "~O"); +Clazz.makeConstructor (c$, +function () { +Clazz.superConstructor (this, jalview.appletgui.FeatureRenderer.FeatureColourPanel, [null]); +}); +Clazz.defineMethod (c$, "PaintComponent", +function (a) { +var b = this.getSize (); +if (this.isGcol) { +if (this.isColourByLabel) { +a.setColor (java.awt.Color.white); +a.fillRect (Clazz.doubleToInt (b.width / 2), 0, Clazz.doubleToInt (b.width / 2), b.height); +a.setColor (java.awt.Color.black); +var c = new java.awt.Font ("Verdana", 0, 10); +a.setFont (c); +a.drawString (jalview.util.MessageManager.getString ("label.label"), 0, 0); +} else { +a.setColor (this.maxCol); +a.fillRect (Clazz.doubleToInt (b.width / 2), 0, Clazz.doubleToInt (b.width / 2), b.height); +}}}, "java.awt.Graphics"); +c$ = Clazz.p0p (); +}; +c$.$FeatureRenderer$1$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$1", null, java.awt.event.ItemListener); +Clazz.overrideMethod (c$, "itemStateChanged", +function (e) { +var index = this.f$.overlaps.getSelectedIndex (); +if (index != -1) { +this.b$["jalview.appletgui.FeatureRenderer"].featureIndex = index; +this.f$.name.setText (this.f$.features[index].getType ()); +this.f$.description.setText (this.f$.features[index].getDescription ()); +this.f$.source.setText (this.f$.features[index].getFeatureGroup ()); +this.f$.start.setText (this.f$.features[index].getBegin () + ""); +this.f$.end.setText (this.f$.features[index].getEnd () + ""); +var highlight = new jalview.datamodel.SearchResults (); +highlight.addResult (this.f$.sequences[0], this.f$.features[index].getBegin (), this.f$.features[index].getEnd ()); +this.f$.ap.seqPanel.seqCanvas.highlightSearchResults (highlight); +}var col = this.b$["jalview.appletgui.FeatureRenderer"].getFeatureStyle (this.f$.name.getText ()); +if (col == null) { +col = new jalview.schemes.UserColourScheme ().createColourFromName (this.f$.name.getText ()); +}this.b$["jalview.appletgui.FeatureRenderer"].colourPanel.updateColor (col); +}, "java.awt.event.ItemEvent"); +c$ = Clazz.p0p (); +}; +c$.$FeatureRenderer$2$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$2", null, java.awt.event.ActionListener); +Clazz.overrideMethod (c$, "actionPerformed", +function (evt) { +this.b$["jalview.appletgui.FeatureRenderer"].deleteFeature = true; +this.f$.dialog.setVisible (false); +}, "java.awt.event.ActionEvent"); +c$ = Clazz.p0p (); +}; +c$.$FeatureRenderer$3$ = function () { +Clazz.pu$h (); +c$ = Clazz.declareAnonymous (jalview.appletgui, "FeatureRenderer$3", java.awt.event.MouseAdapter); +Clazz.overrideMethod (c$, "mousePressed", +function (evt) { +if (!this.b$["jalview.appletgui.FeatureRenderer"].colourPanel.isGcol) { + new jalview.appletgui.UserDefinedColours (this.f$.fr, this.f$.ap.alignFrame); +} else { +var fcc = new jalview.appletgui.FeatureColourChooser (this.f$.ap.alignFrame, this.f$.name.getText ()); +this.f$.dialog.transferFocus (); +}}, "java.awt.event.MouseEvent"); +c$ = Clazz.p0p (); +}; +Clazz.defineStatics (c$, +"lastFeatureAdded", null, +"lastFeatureGroupAdded", null, +"lastDescriptionAdded", null); +});