JAL-2446 merged to spike branch
[jalview.git] / src / jalview / schemes / JalviewColourScheme.java
1 package jalview.schemes;
2
3
4 /**
5  * An enum with the colour schemes supported by Jalview.
6  */
7 public enum JalviewColourScheme
8 {
9   /*
10    * the order of declaration is the default order in which 
11    * items are added to Colour menus
12    */
13   Clustal("Clustal", ClustalxColourScheme.class), Blosum62("Blosum62",
14           Blosum62ColourScheme.class), PID("% Identity",
15           PIDColourScheme.class), Zappo("Zappo", ZappoColourScheme.class),
16   Taylor("Taylor", TaylorColourScheme.class), Hydrophobic("Hydrophobic",
17           HydrophobicColourScheme.class), Helix("Helix Propensity",
18           HelixColourScheme.class), Strand("Strand Propensity",
19           StrandColourScheme.class), Turn("Turn Propensity",
20           TurnColourScheme.class), Buried("Buried Index",
21           BuriedColourScheme.class), Nucleotide("Nucleotide",
22           NucleotideColourScheme.class), PurinePyrimidine(
23           "Purine/Pyrimidine", PurinePyrimidineColourScheme.class),
24   RNAHelices("RNA Helices", RNAHelicesColour.class), TCoffee(
25           "T-Coffee Scores", TCoffeeColourScheme.class);
26   // RNAInteraction("RNA Interaction type", RNAInteractionColourScheme.class)
27
28   private String name;
29
30   private Class<? extends ColourSchemeI> myClass;
31
32   /**
33    * Constructor given the name of the colour scheme (as used in Jalview
34    * parameters). Note this is not necessarily the same as the 'display name'
35    * used in menu options (as this may be language-dependent).
36    * 
37    * @param s
38    */
39   JalviewColourScheme(String s, Class<? extends ColourSchemeI> cl)
40   {
41     name = s;
42     myClass = cl;
43   }
44
45   /**
46    * Returns the class of the colour scheme
47    * 
48    * @return
49    */
50   public Class<? extends ColourSchemeI> getSchemeClass()
51   {
52     return myClass;
53   }
54
55   /**
56    * Returns the 'official' name of this colour scheme. This is the name that
57    * identifies the colour scheme as a start-up parameter for the Jalview
58    * application or applet. Note that it may not be the name shown in menu
59    * options, as these may be internationalised.
60    */
61   @Override
62   public String toString()
63   {
64     return name;
65   }
66 }