914f01040b346b261fff50171e7061d9a538bb33
[jalview.git] / src / jalview / api / AlignViewportI.java
1 /**
2  * 
3  */
4 package jalview.api;
5
6 import java.util.Hashtable;
7
8 import jalview.datamodel.AlignmentAnnotation;
9 import jalview.datamodel.AlignmentI;
10 import jalview.datamodel.ColumnSelection;
11 import jalview.schemes.ColourSchemeI;
12
13 /**
14  * @author jimp
15  *
16  */
17 public interface AlignViewportI
18 {
19
20   int getCharWidth();
21
22   int getEndRes();
23
24   int getCharHeight();
25
26   boolean hasHiddenColumns();
27
28   boolean isValidCharWidth();
29
30   boolean isShowConsensusHistogram();
31
32   boolean isShowSequenceLogo();
33
34   boolean isNormaliseSequenceLogo();
35
36   ColourSchemeI getGlobalColourScheme();
37
38   AlignmentI getAlignment();
39
40   ColumnSelection getColumnSelection();
41
42   Hashtable[] getSequenceConsensusHash();
43
44   Hashtable[] getRnaStructureConsensusHash();
45
46   boolean getIgnoreGapsConsensus();
47
48   boolean getCentreColumnLabels();
49
50   boolean isCalculationInProgress(AlignmentAnnotation alignmentAnnotation);
51
52   AlignmentAnnotation getAlignmentQualityAnnot();
53
54   AlignmentAnnotation getAlignmentConservationAnnotation();
55   /**
56    * get the container for alignment consensus annotation
57    * @return
58    */
59   AlignmentAnnotation getAlignmentConsensusAnnotation();
60
61   /**
62    * Test to see if viewport is still open and active
63    * @return true indicates that all references to viewport should be dropped 
64    */
65   boolean isClosed();
66   /**
67    * get the associated calculation thread manager for the view
68    * @return
69    */
70   AlignCalcManagerI getCalcManager();
71   
72   /**
73    * get the percentage gaps allowed in a conservation calculation
74    * 
75    */
76   public int getConsPercGaps();
77
78   /**
79    * set the consensus result object for the viewport
80    * @param hconsensus
81    */
82   void setSequenceConsensusHash(Hashtable[] hconsensus);
83
84   /**
85    * 
86    * @return the alignment annotatino row for the structure consensus calculation
87    */
88   AlignmentAnnotation getAlignmentStrucConsensusAnnotation();
89
90   /**
91    * set the Rna structure consensus result object for the viewport
92    * @param hStrucConsensus 
93    */
94   void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus);
95
96 }