+ this.endSeq = seq;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getEndSeq()\r
+ {\r
+ return endSeq;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param f DOCUMENT ME!\r
+ */\r
+ public void setFont(Font f)\r
+ {\r
+ font = f;\r
+\r
+ Container c = new Container();\r
+\r
+ java.awt.FontMetrics fm = c.getFontMetrics(font);\r
+ setCharHeight(fm.getHeight());\r
+ setCharWidth(fm.charWidth('M'));\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public Font getFont()\r
+ {\r
+ return font;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param w DOCUMENT ME!\r
+ */\r
+ public void setCharWidth(int w)\r
+ {\r
+ this.charWidth = w;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getCharWidth()\r
+ {\r
+ return charWidth;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param h DOCUMENT ME!\r
+ */\r
+ public void setCharHeight(int h)\r
+ {\r
+ this.charHeight = h;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getCharHeight()\r
+ {\r
+ return charHeight;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param w DOCUMENT ME!\r
+ */\r
+ public void setWrappedWidth(int w)\r
+ {\r
+ this.wrappedWidth = w;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getWrappedWidth()\r
+ {\r
+ return wrappedWidth;\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public AlignmentI getAlignment()\r
+ {\r
+ return alignment;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param align DOCUMENT ME!\r
+ */\r
+ public void setAlignment(AlignmentI align)\r
+ {\r
+ this.alignment = align;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param state DOCUMENT ME!\r
+ */\r
+ public void setWrapAlignment(boolean state)\r
+ {\r
+ wrapAlignment = state;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param state DOCUMENT ME!\r
+ */\r
+ public void setShowText(boolean state)\r
+ {\r
+ showText = state;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param state DOCUMENT ME!\r
+ */\r
+ public void setRenderGaps(boolean state)\r
+ {\r
+ renderGaps = state;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getColourText()\r
+ {\r
+ return showColourText;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param state DOCUMENT ME!\r
+ */\r
+ public void setColourText(boolean state)\r
+ {\r
+ showColourText = state;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param state DOCUMENT ME!\r
+ */\r
+ public void setShowBoxes(boolean state)\r
+ {\r
+ showBoxes = state;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getWrapAlignment()\r
+ {\r
+ return wrapAlignment;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getShowText()\r
+ {\r
+ return showText;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getShowBoxes()\r
+ {\r
+ return showBoxes;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public char getGapCharacter()\r
+ {\r
+ return getAlignment().getGapCharacter();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param gap DOCUMENT ME!\r
+ */\r
+ public void setGapCharacter(char gap)\r
+ {\r
+ if (getAlignment() != null)\r
+ {\r
+ getAlignment().setGapCharacter(gap);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param thresh DOCUMENT ME!\r
+ */\r
+ public void setThreshold(int thresh)\r
+ {\r
+ threshold = thresh;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getThreshold()\r
+ {\r
+ return threshold;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param inc DOCUMENT ME!\r
+ */\r
+ public void setIncrement(int inc)\r
+ {\r
+ increment = inc;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getIncrement()\r
+ {\r
+ return increment;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param y DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getIndex(int y)\r
+ {\r
+ int y1 = 0;\r
+ int starty = getStartSeq();\r
+ int endy = getEndSeq();\r
+\r
+ for (int i = starty; i <= endy; i++)\r
+ {\r
+ if ((i < alignment.getHeight()) &&\r
+ (alignment.getSequenceAt(i) != null))\r
+ {\r
+ int y2 = y1 + getCharHeight();\r
+\r
+ if ((y >= y1) && (y <= y2))\r
+ {\r
+ return i;\r
+ }\r
+\r
+ y1 = y2;\r
+ }\r
+ else\r
+ {\r
+ return -1;\r
+ }\r
+ }\r
+\r
+ return -1;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public ColumnSelection getColumnSelection()\r
+ {\r
+ return colSel;\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param tree DOCUMENT ME!\r
+ */\r
+ public void setCurrentTree(NJTree tree)\r
+ {\r
+ currentTree = tree;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public NJTree getCurrentTree()\r
+ {\r
+ return currentTree;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setColourAppliesToAllGroups(boolean b)\r
+ {\r
+ colourAppliesToAllGroups = b;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getColourAppliesToAllGroups()\r
+ {\r
+ return colourAppliesToAllGroups;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getShowJVSuffix()\r
+ {\r
+ return showJVSuffix;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setShowJVSuffix(boolean b)\r
+ {\r
+ showJVSuffix = b;\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getShowAnnotation()\r
+ {\r
+ return showAnnotation;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setShowAnnotation(boolean b)\r
+ {\r
+ showAnnotation = b;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getScaleAboveWrapped()\r
+ {\r
+ return scaleAboveWrapped;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getScaleLeftWrapped()\r
+ {\r
+ return scaleLeftWrapped;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean getScaleRightWrapped()\r
+ {\r
+ return scaleRightWrapped;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setScaleAboveWrapped(boolean b)\r
+ {\r
+ scaleAboveWrapped = b;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setScaleLeftWrapped(boolean b)\r
+ {\r
+ scaleLeftWrapped = b;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param b DOCUMENT ME!\r
+ */\r
+ public void setScaleRightWrapped(boolean b)\r
+ {\r
+ scaleRightWrapped = b;\r
+ }\r
+\r
+ /**\r
+ * Property change listener for changes in alignment\r
+ *\r
+ * @param listener DOCUMENT ME!\r
+ */\r
+ public void addPropertyChangeListener(\r
+ java.beans.PropertyChangeListener listener)\r
+ {\r
+ changeSupport.addPropertyChangeListener(listener);\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param listener DOCUMENT ME!\r
+ */\r
+ public void removePropertyChangeListener(\r
+ java.beans.PropertyChangeListener listener)\r
+ {\r
+ changeSupport.removePropertyChangeListener(listener);\r
+ }\r
+\r
+ /**\r
+ * Property change listener for changes in alignment\r
+ *\r
+ * @param prop DOCUMENT ME!\r
+ * @param oldvalue DOCUMENT ME!\r
+ * @param newvalue DOCUMENT ME!\r
+ */\r
+ public void firePropertyChange(String prop, Object oldvalue, Object newvalue)\r
+ {\r
+ changeSupport.firePropertyChange(prop, oldvalue, newvalue);\r
+ }\r
+\r
+ public void setIgnoreGapsConsensus(boolean b)\r
+ {\r
+ ignoreGapsInConsensusCalculation = b;\r
+ updateConsensus();\r
+ if(globalColourScheme!=null)\r
+ {\r
+ globalColourScheme.setThreshold(globalColourScheme.getThreshold(), ignoreGapsInConsensusCalculation);\r
+ }\r
+\r
+ }\r
+\r
+ public boolean getIgnoreGapsConsensus()\r
+ {\r
+ return ignoreGapsInConsensusCalculation;\r
+ }\r
+\r
+ public void setDataset(boolean b)\r
+ {\r
+ isDataset = b;\r
+ }\r
+\r
+ public boolean isDataset()\r
+ {\r
+ return isDataset;\r
+ }\r