longestName = label;\r
setLayout(null);\r
\r
- PaintRefresher.Register(this);\r
+ PaintRefresher.Register(this, av.alignment);\r
}\r
\r
public void TreeSelectionChanged(Sequence sequence)\r
av.setSelectionGroup(selected);\r
}\r
\r
- selected.setEndRes(av.alignment.getWidth());\r
- selected.addOrRemove(sequence);\r
+ selected.setEndRes(av.alignment.getWidth()-1);\r
+ selected.addOrRemove(sequence, true);\r
\r
- PaintRefresher.Refresh(this);\r
+ PaintRefresher.Refresh(this, av.alignment);\r
repaint();\r
}\r
\r
SequenceGroup sg = av.getSelectionGroup();\r
if (sg != null)\r
{\r
- sg.addOrRemove(seq);\r
+ sg.addOrRemove(seq, true);\r
}\r
}\r
}\r
\r
public void mousePressed(MouseEvent e)\r
{\r
-\r
av.setCurrentTree(tree);\r
\r
int x = e.getX();\r
\r
Vector l = tree.findLeaves( (SequenceNode) tree.getGroups().elementAt(\r
i), new Vector());\r
- SequenceGroup sg = null;\r
+\r
+ Vector sequences = new Vector();\r
for (int j = 0; j < l.size(); j++)\r
{\r
- SequenceNode sn = (SequenceNode) l.elementAt(j);\r
- if (sg == null)\r
+ SequenceI s1 = (SequenceI) ( (SequenceNode) l.elementAt(j)).element();\r
+ if(!sequences.contains(s1))\r
+ sequences.addElement(s1);\r
+ }\r
+\r
+ ColourSchemeI cs = null;\r
+\r
+ if (av.getGlobalColourScheme() != null)\r
+ {\r
+ if (av.getGlobalColourScheme() instanceof UserColourScheme)\r
{\r
- sg = new SequenceGroup("TreeGroup", av.getGlobalColourScheme(), true, true, false,\r
- 0, av.alignment.getWidth());\r
- }\r
+ cs = new UserColourScheme(\r
+ ( (UserColourScheme) av.getGlobalColourScheme()).getColours());\r
\r
- sg.addSequence( (Sequence) sn.element());\r
+ }\r
+ else\r
+ cs = ColourSchemeProperty.getColour(sequences,\r
+ av.alignment.getWidth(),\r
+ ColourSchemeProperty.getColourName(\r
+ av.getGlobalColourScheme()));\r
+\r
+ cs.setThreshold(av.getGlobalColourScheme().getThreshold(),\r
+ av.getIgnoreGapsConsensus());\r
}\r
\r
- if (av.getGlobalColourScheme() instanceof ConservationColourScheme)\r
- {\r
- ConservationColourScheme ccs = (ConservationColourScheme) av.\r
- getGlobalColourScheme();\r
+ SequenceGroup sg = new SequenceGroup(sequences, "TreeGroup",\r
+ cs, true, true,\r
+ false, 0, av.alignment.getWidth()-1);\r
+\r
+\r
+ if ( av.getGlobalColourScheme()!=null\r
+ && av.getGlobalColourScheme().conservationApplied())\r
+ {\r
Conservation c = new Conservation("Group",\r
ResidueProperties.propHash, 3,\r
sg.sequences, sg.getStartRes(),\r
\r
c.calculate();\r
c.verdict(false, av.ConsPercGaps);\r
- ccs = new ConservationColourScheme(c, ccs.cs);\r
+ cs.setConservation(c);\r
\r
- sg.cs = ccs;\r
+ sg.cs = cs;\r
\r
}\r
\r
}\r
}\r
\r
- PaintRefresher.Refresh(this);\r
+ PaintRefresher.Refresh(this, av.alignment);\r
repaint();\r
\r
}\r