addMouseMotionListener(this);\r
setLayout(null);\r
\r
- PaintRefresher.Register(this, av.alignment);\r
+ PaintRefresher.Register(this, av.getSequenceSetId());\r
}\r
\r
public void treeSelectionChanged(SequenceI sequence)\r
// Colour selected leaves differently\r
SequenceGroup selected = av.getSelectionGroup();\r
if (selected != null &&\r
- selected.getSequences(false).contains( (SequenceI) node.element()))\r
+ selected.getSequences(null).contains( (SequenceI) node.element()))\r
{\r
g.setColor(Color.gray);\r
\r
paint(g);\r
}\r
\r
- Image offscreen;\r
- public void paint(Graphics g1)\r
+ public void paint(Graphics g)\r
{\r
-\r
if(tree==null)\r
return;\r
\r
repaint();\r
}\r
\r
- FontMetrics fm = g1.getFontMetrics(font);\r
-\r
int width = scrollPane.getSize().width;\r
int height = scrollPane.getSize().height;\r
if(!fitToWindow)\r
- height = fm.getHeight() * nameHash.size();\r
+ {\r
+ height = g.getFontMetrics(font).getHeight() * nameHash.size();\r
+ }\r
\r
+ if(getSize().width>width)\r
+ {\r
+ setSize(new Dimension(width,height));\r
+ scrollPane.validate();\r
+ return;\r
+ }\r
\r
- if(offscreen==null || offscreen.getWidth(this)!=width\r
- || offscreen.getHeight(this)!=height)\r
- offscreen = createImage(width, height);\r
+ setSize(new Dimension(width,height));\r
\r
- Graphics g = offscreen.getGraphics();\r
\r
g.setFont(font);\r
\r
- if (fitToWindow ||\r
- (!fitToWindow &&\r
- scrollPane.getSize().height > fm.getHeight() * nameHash.size() + offy))\r
- {\r
- draw(g, scrollPane.getSize().width, scrollPane.getSize().height);\r
- }\r
- else\r
- {\r
- setSize(new Dimension(scrollPane.getSize().width,\r
- fm.getHeight() * nameHash.size()));\r
- draw(g, scrollPane.getSize().width, fm.getHeight() * nameHash.size());\r
- }\r
+ draw(g, width, height);\r
\r
- g1.drawImage(offscreen, 0, 0, this);\r
- scrollPane.validate();\r
}\r
\r
\r
}\r
}\r
\r
- PaintRefresher.Refresh(this, av.alignment);\r
+ PaintRefresher.Refresh(this, av.getSequenceSetId());\r
repaint();\r
}\r
}\r
if (ob instanceof SequenceI)\r
{\r
treeSelectionChanged( (Sequence) ob);\r
- PaintRefresher.Refresh(this, av.alignment);\r
+ PaintRefresher.Refresh(this, av.getSequenceSetId());\r
repaint();\r
return;\r
}\r
\r
av.setSelectionGroup(null);\r
av.alignment.deleteAllGroups();\r
- av.sequenceColours.clear();\r
+ av.sequenceColours=null;\r
\r
colourGroups();\r
\r
}\r
}\r
\r
- PaintRefresher.Refresh(this, av.alignment);\r
+ PaintRefresher.Refresh(this, av.getSequenceSetId());\r
repaint();\r
\r
}\r
{\r
Conservation c = new Conservation("Group",\r
ResidueProperties.propHash, 3,\r
- sg.getSequences(false),\r
+ sg.getSequences(null),\r
sg.getStartRes(),\r
sg.getEndRes());\r
\r