Merge branch 'releases/Release_2_11_3_Branch'
[jalview.git] / src / jalview / api / ViewStyleI.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.api;
22
23 import java.awt.Color;
24
25 public interface ViewStyleI
26 {
27   void setShowComplementFeatures(boolean b);
28
29   boolean isShowComplementFeatures();
30
31   void setShowComplementFeaturesOnTop(boolean b);
32
33   boolean isShowComplementFeaturesOnTop();
34
35   void setColourAppliesToAllGroups(boolean b);
36
37   boolean getColourAppliesToAllGroups();
38
39   boolean getAbovePIDThreshold();
40
41   void setIncrement(int inc);
42
43   int getIncrement();
44
45   boolean getConservationSelected();
46
47   void setConservationSelected(boolean b);
48
49   void setShowHiddenMarkers(boolean show);
50
51   boolean getShowHiddenMarkers();
52
53   void setScaleRightWrapped(boolean b);
54
55   void setScaleLeftWrapped(boolean b);
56
57   void setScaleAboveWrapped(boolean b);
58
59   boolean getScaleLeftWrapped();
60
61   boolean getScaleAboveWrapped();
62
63   boolean getScaleRightWrapped();
64
65   void setAbovePIDThreshold(boolean b);
66
67   void setThreshold(int thresh);
68
69   int getThreshold();
70
71   boolean getShowJVSuffix();
72
73   void setShowJVSuffix(boolean b);
74
75   void setWrapAlignment(boolean state);
76
77   void setShowText(boolean state);
78
79   void setRenderGaps(boolean state);
80
81   boolean getColourText();
82
83   void setColourText(boolean state);
84
85   void setShowBoxes(boolean state);
86
87   boolean getWrapAlignment();
88
89   boolean getShowText();
90
91   int getWrappedWidth();
92
93   void setWrappedWidth(int w);
94
95   int getCharHeight();
96
97   void setCharHeight(int h);
98
99   int getCharWidth();
100
101   void setCharWidth(int w);
102
103   boolean getShowBoxes();
104
105   boolean getShowUnconserved();
106
107   void setShowUnconserved(boolean showunconserved);
108
109   /**
110    * @return true if a reference sequence is set and should be displayed
111    */
112   boolean isDisplayReferenceSeq();
113
114   /**
115    * @return set the flag for displaying reference sequences when they are
116    *         available
117    */
118   void setDisplayReferenceSeq(boolean displayReferenceSeq);
119
120   /**
121    * @return true if colourschemes should render according to reference sequence
122    *         rather than consensus if available
123    */
124   boolean isColourByReferenceSeq();
125
126   void setSeqNameItalics(boolean default1);
127
128   void setShowSequenceFeatures(boolean b);
129
130   boolean isShowSequenceFeatures();
131
132   boolean isRightAlignIds();
133
134   void setRightAlignIds(boolean rightAlignIds);
135
136   /**
137    * Returns true if annotation panel should be shown below alignment
138    * 
139    * @return
140    */
141   boolean isShowAnnotation();
142
143   /**
144    * Set flag for whether annotation panel should be shown below alignment
145    * 
146    * @param b
147    */
148   void setShowAnnotation(boolean b);
149
150   void setShowSequenceFeaturesHeight(boolean selected);
151
152   /**
153    * @return true set flag for deciding if colourschemes should render according
154    *         to reference sequence rather than consensus if available
155    */
156   void setColourByReferenceSeq(boolean colourByReferenceSeq);
157
158   Color getTextColour();
159
160   Color getTextColour2();
161
162   int getThresholdTextColour();
163
164   boolean isConservationColourSelected();
165
166   boolean isRenderGaps();
167
168   boolean isShowColourText();
169
170   boolean isShowSequenceFeaturesHeight();
171
172   void setConservationColourSelected(boolean conservationColourSelected);
173
174   void setShowColourText(boolean showColourText);
175
176   void setTextColour(Color textColour);
177
178   void setThresholdTextColour(int thresholdTextColour);
179
180   void setTextColour2(Color textColour2);
181
182   boolean isSeqNameItalics();
183
184   void setUpperCasebold(boolean upperCasebold);
185
186   boolean isUpperCasebold();
187
188   boolean sameStyle(ViewStyleI them);
189
190   void setFontName(String name);
191
192   void setFontStyle(int style);
193
194   void setFontSize(int size);
195
196   int getFontStyle();
197
198   String getFontName();
199
200   int getFontSize();
201
202   /**
203    * @return width of Sequence and Annotation ID margin. If less than zero, then
204    *         width will be autocalculated
205    */
206   int getIdWidth();
207
208   /**
209    * Set width if
210    * 
211    * @param i
212    */
213
214   void setIdWidth(int i);
215
216   /**
217    * centre columnar annotation labels in displayed alignment annotation
218    */
219   boolean isCentreColumnLabels();
220
221   /**
222    * centre columnar annotation labels in displayed alignment annotation
223    */
224   void setCentreColumnLabels(boolean centreColumnLabels);
225
226   /**
227    * enable or disable the display of Database Cross References in the sequence
228    * ID tooltip
229    */
230   void setShowDBRefs(boolean showdbrefs);
231
232   /**
233    * 
234    * @return true if Database References are to be displayed on tooltips.
235    */
236   boolean isShowDBRefs();
237
238   /**
239    * 
240    * @return true if Non-positional features are to be displayed on tooltips.
241    */
242   boolean isShowNPFeats();
243
244   /**
245    * enable or disable the display of Non-Positional sequence features in the
246    * sequence ID tooltip
247    * 
248    * @param show
249    */
250   void setShowNPFeats(boolean shownpfeats);
251
252   /**
253    * Get flag to scale protein residues 3 times the width of cDNA bases (only
254    * applicable in SplitFrame views)
255    * 
256    * @return
257    */
258   boolean isScaleProteinAsCdna();
259
260   /**
261    * Set flag to scale protein residues 3 times the width of cDNA bases (only
262    * applicable in SplitFrame views)
263    * 
264    * @return
265    */
266   void setScaleProteinAsCdna(boolean b);
267
268   /**
269    * Answers true if split screen protein and cDNA use the same font
270    * 
271    * @return
272    */
273   boolean isProteinFontAsCdna();
274
275   /**
276    * Set the flag for whether split screen protein and cDNA use the same font
277    * 
278    * @return
279    */
280   void setProteinFontAsCdna(boolean b);
281 }