int startSeq;\r
int endSeq;\r
\r
- boolean showFullId = true;\r
+\r
+ boolean cursorMode = false;\r
+\r
+ boolean showJVSuffix = true;\r
boolean showText = true;\r
boolean showColourText = false;\r
boolean showBoxes = true;\r
boolean conservationColourSelected = false;\r
boolean abovePIDThreshold = false;\r
\r
- SequenceGroup selectionGroup = new SequenceGroup();\r
+ SequenceGroup selectionGroup;\r
\r
int charHeight;\r
int charWidth;\r
int wrappedWidth;\r
\r
Font font = new Font("SansSerif", Font.PLAIN, 10);\r
+ boolean validCharWidth = true;\r
AlignmentI alignment;\r
\r
ColumnSelection colSel = new ColumnSelection();\r
boolean scaleLeftWrapped = true;\r
boolean scaleRightWrapped = true;\r
\r
+ // The following vector holds the features which are\r
+ // currently visible, in the correct order or rendering\r
+ Hashtable featuresDisplayed;\r
+\r
+\r
public Vector vconsensus;\r
AlignmentAnnotation consensus;\r
AlignmentAnnotation conservation;\r
AlignmentAnnotation quality;\r
\r
+ boolean autocalculateConsensus = true;\r
+\r
public int ConsPercGaps = 25; // JBPNote : This should be a scalable property!\r
\r
private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport(this);\r
String param = applet.getParameter("showFullId");\r
if (param != null)\r
{\r
- showFullId = Boolean.valueOf(param).booleanValue();\r
+ showJVSuffix = Boolean.valueOf(param).booleanValue();\r
}\r
\r
param = applet.getParameter("showAnnotation");\r
updateConservation();\r
updateConsensus();\r
\r
- if (applet != null && applet.getParameter("defaultColour") != null)\r
+\r
+ if (applet != null)\r
{\r
- globalColourScheme = ColourSchemeProperty.getColour(alignment,\r
- applet.getParameter("defaultColour"));\r
- if (globalColourScheme != null)\r
+ String colour = applet.getParameter("defaultColour");\r
+\r
+ if(colour == null)\r
+ {\r
+ colour = applet.getParameter("userDefinedColour");\r
+ if(colour !=null)\r
+ colour = "User Defined";\r
+ }\r
+\r
+ if(colour != null)\r
+ {\r
+ globalColourScheme = ColourSchemeProperty.getColour(alignment, colour);\r
+ if (globalColourScheme != null)\r
+ {\r
+ globalColourScheme.setConsensus(vconsensus);\r
+ }\r
+ }\r
+\r
+ if(applet.getParameter("userDefinedColour")!=null)\r
{\r
- globalColourScheme.setConsensus(vconsensus);\r
+ ((UserColourScheme)globalColourScheme).parseAppletParameter(\r
+ applet.getParameter("userDefinedColour"));\r
}\r
+\r
+\r
}\r
}\r
\r
showSequenceFeatures = b;\r
}\r
\r
+ public boolean getShowSequenceFeatures()\r
+ {\r
+ return showSequenceFeatures;\r
+ }\r
+\r
\r
public void updateConservation()\r
{\r
annotations,\r
0f, // cons.qualityRange[0].floatValue(),\r
11f, // cons.qualityRange[1].floatValue()\r
- 1);\r
+ AlignmentAnnotation.BAR_GRAPH);\r
if (showConservation)\r
{\r
alignment.addAnnotation(conservation);\r
qannotations,\r
cons.qualityRange[0].floatValue(),\r
cons.qualityRange[1].floatValue(),\r
- 1);\r
+ AlignmentAnnotation.BAR_GRAPH);\r
if (showQuality)\r
{\r
alignment.addAnnotation(quality);\r
if (consensus == null)\r
{\r
consensus = new AlignmentAnnotation("Consensus",\r
- "PID", annotations, 0f, 100f, 1);\r
+ "PID", annotations, 0f, 100f, AlignmentAnnotation.BAR_GRAPH);\r
if (showConsensus)\r
{\r
alignment.addAnnotation(consensus);\r
return endSeq;\r
}\r
\r
+ java.awt.Frame nullFrame;\r
public void setFont(Font f)\r
{\r
font = f;\r
- java.awt.Frame temp = new java.awt.Frame();\r
- temp.addNotify();\r
- java.awt.FontMetrics fm = temp.getGraphics().getFontMetrics(font);\r
+ if(nullFrame == null)\r
+ {\r
+ nullFrame = new java.awt.Frame();\r
+ nullFrame.addNotify();\r
+ }\r
+\r
+ java.awt.FontMetrics fm = nullFrame.getGraphics().getFontMetrics(font);\r
setCharHeight(fm.getHeight());\r
setCharWidth(fm.charWidth('M'));\r
}\r
return increment;\r
}\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() && alignment.getSequenceAt(i) != null)\r
- {\r
- int y2 = y1 + getCharHeight();\r
-\r
- if (y >= y1 && y <= y2)\r
- {\r
- return i;\r
- }\r
- y1 = y2;\r
- }\r
- else\r
- {\r
- return -1;\r
- }\r
- }\r
- return -1;\r
- }\r
-\r
public ColumnSelection getColumnSelection()\r
{\r
return colSel;\r
return colourAppliesToAllGroups;\r
}\r
\r
- public boolean getShowFullId()\r
+ public boolean getShowJVSuffix()\r
{\r
- return showFullId;\r
+ return showJVSuffix;\r
}\r
\r
- public void setShowFullId(boolean b)\r
+ public void setShowJVSuffix(boolean b)\r
{\r
- showFullId = b;\r
+ showJVSuffix = b;\r
}\r
\r
public boolean getShowAnnotation()\r