X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=site%2Fj2s%2Fjalview%2Fschemes%2FUserColourScheme.js;fp=site%2Fj2s%2Fjalview%2Fschemes%2FUserColourScheme.js;h=ee8398745fd5a88472e6340f13bea2a44ae2d476;hp=dcf5f866b05f329f72f591786be5a000f8e475c2;hb=b9b7a352eee79b7764c3b09c9d19663075061d8c;hpb=7301a2415adab88038b291fc54caeeb3a5a47a44 diff --git a/site/j2s/jalview/schemes/UserColourScheme.js b/site/j2s/jalview/schemes/UserColourScheme.js index dcf5f86..ee83987 100644 --- a/site/j2s/jalview/schemes/UserColourScheme.js +++ b/site/j2s/jalview/schemes/UserColourScheme.js @@ -1,165 +1,165 @@ -Clazz.declarePackage ("jalview.schemes"); -Clazz.load (["jalview.schemes.ResidueColourScheme"], "jalview.schemes.UserColourScheme", ["jalview.schemes.ColourSchemeProperty", "$.ResidueProperties", "java.awt.Color", "java.util.StringTokenizer"], function () { -c$ = Clazz.decorateAsClass (function () { -this.lowerCaseColours = null; -this.schemeName = null; -Clazz.instantialize (this, arguments); -}, jalview.schemes, "UserColourScheme", jalview.schemes.ResidueColourScheme); -Clazz.makeConstructor (c$, -function () { -Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); -}); -Clazz.makeConstructor (c$, -function (newColors) { -Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); -this.colors = newColors; -}, "~A"); -Clazz.overrideMethod (c$, "applyTo", -function (sg, hiddenRepSequences) { -var usc = new jalview.schemes.UserColourScheme (this.colors); -if (this.lowerCaseColours != null) { -usc.schemeName = String.instantialize (this.schemeName); -usc.lowerCaseColours = new Array (this.lowerCaseColours.length); -System.arraycopy (this.lowerCaseColours, 0, usc.lowerCaseColours, 0, this.lowerCaseColours.length); -}return usc; -}, "jalview.datamodel.AnnotatedCollectionI,java.util.Map"); -Clazz.makeConstructor (c$, -function (colour) { -Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); -var col = this.getColourFromString (colour); -if (col == null) { -System.out.println ("Unknown colour!! " + colour); -col = this.createColourFromName (colour); -}this.colors = new Array (24); -for (var i = 0; i < 24; i++) { -this.colors[i] = col; -} -this.schemeName = colour; -}, "~S"); -Clazz.defineMethod (c$, "getColours", -function () { -return this.colors; -}); -Clazz.defineMethod (c$, "getLowerCaseColours", -function () { -return this.lowerCaseColours; -}); -Clazz.defineMethod (c$, "setName", -function (name) { -this.schemeName = name; -}, "~S"); -Clazz.defineMethod (c$, "getName", -function () { -return this.schemeName; -}); -Clazz.defineMethod (c$, "getColourFromString", -function (colour) { -colour = colour.trim (); -var col = null; -try { -var value = Integer.parseInt (colour, 16); -col = new java.awt.Color (value); -} catch (ex) { -if (Clazz.exceptionOf (ex, NumberFormatException)) { -} else { -throw ex; -} -} -if (col == null) { -col = jalview.schemes.ColourSchemeProperty.getAWTColorFromName (colour); -}if (col == null) { -try { -var st = new java.util.StringTokenizer (colour, ","); -var r = Integer.parseInt (st.nextToken ()); -var g = Integer.parseInt (st.nextToken ()); -var b = Integer.parseInt (st.nextToken ()); -col = new java.awt.Color (r, g, b); -} catch (ex) { -if (Clazz.exceptionOf (ex, Exception)) { -} else { -throw ex; -} -} -}return col; -}, "~S"); -Clazz.defineMethod (c$, "createColourFromName", -function (name) { -var r; -var g; -var b; -var lsize = name.length; -var start = 0; -var end = Clazz.doubleToInt (lsize / 3); -var rgbOffset = Math.abs (name.hashCode () % 10) * 15; -r = Math.abs (name.substring (start, end).hashCode () + rgbOffset) % 210 + 20; -start = end; -end += Clazz.doubleToInt (lsize / 3); -if (end > lsize) { -end = lsize; -}g = Math.abs (name.substring (start, end).hashCode () + rgbOffset) % 210 + 20; -b = Math.abs (name.substring (end).hashCode () + rgbOffset) % 210 + 20; -var color = new java.awt.Color (r, g, b); -return color; -}, "~S"); -Clazz.defineMethod (c$, "parseAppletParameter", -function (paramValue) { -var st = new java.util.StringTokenizer (paramValue, ";"); -var st2; -var token = null; -var colour; -var residues; -try { -while (st.hasMoreElements ()) { -token = st.nextToken ().trim (); -residues = token.substring (0, token.indexOf ("=")); -colour = token.substring (token.indexOf ("=") + 1); -st2 = new java.util.StringTokenizer (residues, " ,"); -while (st2.hasMoreTokens ()) { -token = st2.nextToken (); -if (jalview.schemes.ResidueProperties.aaIndex[token.charCodeAt (0)] == -1) { -continue; -}var colIndex = jalview.schemes.ResidueProperties.aaIndex[token.charCodeAt (0)]; -if (token.equalsIgnoreCase ("lowerCase")) { -if (this.lowerCaseColours == null) { -this.lowerCaseColours = new Array (23); -}for (var i = 0; i < 23; i++) { -if (this.lowerCaseColours[i] == null) { -this.lowerCaseColours[i] = this.getColourFromString (colour); -}} -continue; -}if (token.equals (token.toLowerCase ())) { -if (this.lowerCaseColours == null) { -this.lowerCaseColours = new Array (23); -}this.lowerCaseColours[colIndex] = this.getColourFromString (colour); -} else { -this.colors[colIndex] = this.getColourFromString (colour); -}} -} -} catch (ex) { -if (Clazz.exceptionOf (ex, Exception)) { -System.out.println ("Error parsing userDefinedColours:\n" + token + "\n" + ex); -} else { -throw ex; -} -} -}, "~S"); -Clazz.defineMethod (c$, "findColour", -function (c, j, seq) { -var currentColour; -var index = jalview.schemes.ResidueProperties.aaIndex[c.charCodeAt (0)]; -if ((this.threshold == 0) || this.aboveThreshold (c, j)) { -if (this.lowerCaseColours != null && 'a' <= c && c <= 'z') { -currentColour = this.lowerCaseColours[index]; -} else { -currentColour = this.colors[index]; -}} else { -currentColour = java.awt.Color.white; -}if (this.conservationColouring) { -currentColour = this.applyConservation (currentColour, j); -}return currentColour; -}, "~S,~N,jalview.datamodel.SequenceI"); -Clazz.defineMethod (c$, "setLowerCaseColours", -function (lcolours) { -this.lowerCaseColours = lcolours; -}, "~A"); -}); +Clazz.declarePackage ("jalview.schemes"); +Clazz.load (["jalview.schemes.ResidueColourScheme"], "jalview.schemes.UserColourScheme", ["jalview.schemes.ColourSchemeProperty", "$.ResidueProperties", "java.awt.Color", "java.util.StringTokenizer"], function () { +c$ = Clazz.decorateAsClass (function () { +this.lowerCaseColours = null; +this.schemeName = null; +Clazz.instantialize (this, arguments); +}, jalview.schemes, "UserColourScheme", jalview.schemes.ResidueColourScheme); +Clazz.makeConstructor (c$, +function () { +Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); +}); +Clazz.makeConstructor (c$, +function (newColors) { +Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); +this.colors = newColors; +}, "~A"); +Clazz.overrideMethod (c$, "applyTo", +function (sg, hiddenRepSequences) { +var usc = new jalview.schemes.UserColourScheme (this.colors); +if (this.lowerCaseColours != null) { +usc.schemeName = String.instantialize (this.schemeName); +usc.lowerCaseColours = new Array (this.lowerCaseColours.length); +System.arraycopy (this.lowerCaseColours, 0, usc.lowerCaseColours, 0, this.lowerCaseColours.length); +}return usc; +}, "jalview.datamodel.AnnotatedCollectionI,java.util.Map"); +Clazz.makeConstructor (c$, +function (colour) { +Clazz.superConstructor (this, jalview.schemes.UserColourScheme, [jalview.schemes.ResidueProperties.aaIndex]); +var col = this.getColourFromString (colour); +if (col == null) { +System.out.println ("Unknown colour!! " + colour); +col = this.createColourFromName (colour); +}this.colors = new Array (24); +for (var i = 0; i < 24; i++) { +this.colors[i] = col; +} +this.schemeName = colour; +}, "~S"); +Clazz.defineMethod (c$, "getColours", +function () { +return this.colors; +}); +Clazz.defineMethod (c$, "getLowerCaseColours", +function () { +return this.lowerCaseColours; +}); +Clazz.defineMethod (c$, "setName", +function (name) { +this.schemeName = name; +}, "~S"); +Clazz.defineMethod (c$, "getName", +function () { +return this.schemeName; +}); +Clazz.defineMethod (c$, "getColourFromString", +function (colour) { +colour = colour.trim (); +var col = null; +try { +var value = Integer.parseInt (colour, 16); +col = new java.awt.Color (value); +} catch (ex) { +if (Clazz.exceptionOf (ex, NumberFormatException)) { +} else { +throw ex; +} +} +if (col == null) { +col = jalview.schemes.ColourSchemeProperty.getAWTColorFromName (colour); +}if (col == null) { +try { +var st = new java.util.StringTokenizer (colour, ","); +var r = Integer.parseInt (st.nextToken ()); +var g = Integer.parseInt (st.nextToken ()); +var b = Integer.parseInt (st.nextToken ()); +col = new java.awt.Color (r, g, b); +} catch (ex) { +if (Clazz.exceptionOf (ex, Exception)) { +} else { +throw ex; +} +} +}return col; +}, "~S"); +Clazz.defineMethod (c$, "createColourFromName", +function (name) { +var r; +var g; +var b; +var lsize = name.length; +var start = 0; +var end = Clazz.doubleToInt (lsize / 3); +var rgbOffset = Math.abs (name.hashCode () % 10) * 15; +r = Math.abs (name.substring (start, end).hashCode () + rgbOffset) % 210 + 20; +start = end; +end += Clazz.doubleToInt (lsize / 3); +if (end > lsize) { +end = lsize; +}g = Math.abs (name.substring (start, end).hashCode () + rgbOffset) % 210 + 20; +b = Math.abs (name.substring (end).hashCode () + rgbOffset) % 210 + 20; +var color = new java.awt.Color (r, g, b); +return color; +}, "~S"); +Clazz.defineMethod (c$, "parseAppletParameter", +function (paramValue) { +var st = new java.util.StringTokenizer (paramValue, ";"); +var st2; +var token = null; +var colour; +var residues; +try { +while (st.hasMoreElements ()) { +token = st.nextToken ().trim (); +residues = token.substring (0, token.indexOf ("=")); +colour = token.substring (token.indexOf ("=") + 1); +st2 = new java.util.StringTokenizer (residues, " ,"); +while (st2.hasMoreTokens ()) { +token = st2.nextToken (); +if (jalview.schemes.ResidueProperties.aaIndex[token.charCodeAt (0)] == -1) { +continue; +}var colIndex = jalview.schemes.ResidueProperties.aaIndex[token.charCodeAt (0)]; +if (token.equalsIgnoreCase ("lowerCase")) { +if (this.lowerCaseColours == null) { +this.lowerCaseColours = new Array (23); +}for (var i = 0; i < 23; i++) { +if (this.lowerCaseColours[i] == null) { +this.lowerCaseColours[i] = this.getColourFromString (colour); +}} +continue; +}if (token.equals (token.toLowerCase ())) { +if (this.lowerCaseColours == null) { +this.lowerCaseColours = new Array (23); +}this.lowerCaseColours[colIndex] = this.getColourFromString (colour); +} else { +this.colors[colIndex] = this.getColourFromString (colour); +}} +} +} catch (ex) { +if (Clazz.exceptionOf (ex, Exception)) { +System.out.println ("Error parsing userDefinedColours:\n" + token + "\n" + ex); +} else { +throw ex; +} +} +}, "~S"); +Clazz.defineMethod (c$, "findColour", +function (c, j, seq) { +var currentColour; +var index = jalview.schemes.ResidueProperties.aaIndex[c.charCodeAt (0)]; +if ((this.threshold == 0) || this.aboveThreshold (c, j)) { +if (this.lowerCaseColours != null && 'a' <= c && c <= 'z') { +currentColour = this.lowerCaseColours[index]; +} else { +currentColour = this.colors[index]; +}} else { +currentColour = java.awt.Color.white; +}if (this.conservationColouring) { +currentColour = this.applyConservation (currentColour, j); +}return currentColour; +}, "~S,~N,jalview.datamodel.SequenceI"); +Clazz.defineMethod (c$, "setLowerCaseColours", +function (lcolours) { +this.lowerCaseColours = lcolours; +}, "~A"); +});