3cc8824ebc1008a7f180abd62439c8bd79378eec
[jalview.git] / src / jalview / json / binding / v1 / JalviewSettingsPojo.java
1 package jalview.json.binding.v1;
2
3 import jalview.schemes.Blosum62ColourScheme;
4 import jalview.schemes.BuriedColourScheme;
5 import jalview.schemes.ColourSchemeI;
6 import jalview.schemes.HelixColourScheme;
7 import jalview.schemes.HydrophobicColourScheme;
8 import jalview.schemes.NucleotideColourScheme;
9 import jalview.schemes.PIDColourScheme;
10 import jalview.schemes.PurinePyrimidineColourScheme;
11 import jalview.schemes.RNAInteractionColourScheme;
12 import jalview.schemes.StrandColourScheme;
13 import jalview.schemes.TaylorColourScheme;
14 import jalview.schemes.TurnColourScheme;
15 import jalview.schemes.ZappoColourScheme;
16
17 public class JalviewSettingsPojo
18 {
19   private String globalColorScheme = "none";
20
21   private String jalviewVersion;
22
23   private String webStartUrl;
24
25   private boolean showSeqFeatures;
26
27   private boolean wrapModeEnabled;
28
29   public JalviewSettingsPojo()
30   {
31
32   }
33
34   public String getGlobalColorScheme()
35   {
36     return globalColorScheme;
37   }
38
39   public void setGlobalColorScheme(String globalColorScheme)
40   {
41     for (JalviewBioJsColorSchemeMapper cs : JalviewBioJsColorSchemeMapper
42             .values())
43     {
44       if (cs.getJalviewName().equals(globalColorScheme))
45       {
46         this.globalColorScheme = cs.getBioJsName();
47         break;
48       }
49     }
50   }
51
52   public String getJalviewVersion()
53   {
54     return jalviewVersion;
55   }
56
57   public void setJalviewVersion(String jalviewVersion)
58   {
59     this.jalviewVersion = jalviewVersion;
60   }
61
62   public String getWebStartUrl()
63   {
64     return webStartUrl;
65   }
66
67   public void setWebStartUrl(String webStartUrl)
68   {
69     this.webStartUrl = webStartUrl;
70   }
71
72   public boolean isShowSeqFeatures()
73   {
74     return showSeqFeatures;
75   }
76
77   public void setShowSeqFeatures(boolean showSeqFeatures)
78   {
79     this.showSeqFeatures = showSeqFeatures;
80   }
81
82   public boolean isWrapModeEnabled()
83   {
84     return wrapModeEnabled;
85   }
86
87   public void setWrapModeEnabled(boolean wrapModeEnabled)
88   {
89     this.wrapModeEnabled = wrapModeEnabled;
90   }
91
92   public enum JalviewBioJsColorSchemeMapper
93   {
94     USER_DEFINED("User Defined", "user defined", null), NONE("None", "foo",
95             null), CLUSTAL("Clustal", "clustal", null), ZAPPO("Zappo",
96             "zappo", new ZappoColourScheme()), TAYLOR("Taylor", "taylor",
97             new TaylorColourScheme()), NUCLEOTIDE("Nucleotide",
98             "nucleotide", new NucleotideColourScheme()), PURINE_PYRIMIDINE(
99             "Purine/Pyrimidine", "purine",
100             new PurinePyrimidineColourScheme()), HELIX_PROPENCITY(
101             "Helix Propensity", "helix", new HelixColourScheme()), TURN_PROPENSITY(
102             "Turn Propensity", "turn", new TurnColourScheme()), STRAND_PROPENSITY(
103             "Strand Propensity", "strand", new StrandColourScheme()), BURIED_INDEX(
104             "Buried Index", "buried", new BuriedColourScheme()), HYDROPHOBIC(
105             "Hydrophobic", "hydro", new HydrophobicColourScheme()),
106
107     // The color types below are not yet supported by BioJs MSA viewer
108     T_COFFE_SCORES("T-Coffee Scores", "T-Coffee Scores", null), RNA_INT_TYPE(
109             "RNA Interaction type", "RNA Interaction type",
110             new RNAInteractionColourScheme()), BLOSUM62("Blosum62",
111             "Blosum62", new Blosum62ColourScheme()), RNA_HELICES(
112             "RNA Helices", "RNA Helices", null), PERCENTAGE_IDENTITY(
113             "% Identity", "pid", new PIDColourScheme());
114
115     private String jalviewName;
116
117     private String bioJsName;
118
119     private ColourSchemeI jvColourScheme;
120
121     private JalviewBioJsColorSchemeMapper(String jalviewName,
122             String bioJsName, ColourSchemeI jvColourScheme)
123     {
124       this.jalviewName = jalviewName;
125       this.bioJsName = bioJsName;
126       this.setJvColourScheme(jvColourScheme);
127     }
128
129     public String getJalviewName()
130     {
131       return jalviewName;
132     }
133
134     public String getBioJsName()
135     {
136       return bioJsName;
137     }
138
139     public ColourSchemeI getJvColourScheme()
140     {
141       return jvColourScheme;
142     }
143
144     public void setJvColourScheme(ColourSchemeI jvColourScheme)
145     {
146       this.jvColourScheme = jvColourScheme;
147     }
148
149   }
150 }