- if(av.getSelectionGroup()==null || ( !e.isControlDown() && av.getSelectionGroup()!=null))\r
- av.setSelectionGroup(new SequenceGroup());\r
-\r
- av.getSelectionGroup().setStartRes(0);\r
- av.getSelectionGroup().setEndRes(av.alignment.getWidth()-1);\r
-\r
- if(e.isShiftDown() && lastid!=-1)\r
- selectSeqs(lastid, seq);\r
- else\r
- selectSeq(seq);\r
-\r
- alignPanel.seqPanel.seqCanvas.paintFlag=true;\r
- alignPanel.repaint();\r
- repaint();\r
- }\r
-\r
- void selectSeq(int seq)\r
- {\r
- lastid = seq;\r
- SequenceI pickedSeq = av.getAlignment().getSequenceAt(seq);\r
- av.getSelectionGroup().addOrRemove(pickedSeq);\r
- }\r
-\r
- void selectSeqs(int start, int end) {\r
-\r
- lastid = start;\r
- if (end < start)\r
- {\r
- int tmp = start;\r
- start = end;\r
- end = tmp;\r
- lastid = end;\r
- }\r
-\r
- for (int i = start; i <= end; i++)\r
- av.getSelectionGroup().addSequence(av.getAlignment().getSequenceAt(i));\r
-\r
- }\r
-\r
-\r
- public void mouseReleased(MouseEvent e)\r
- {\r
- if(scrollThread!=null)\r
- scrollThread.running = false;\r
-\r
- mouseDragging = false;\r
- PaintRefresher.Refresh(this);\r
- }\r
-\r
- // this class allows scrolling off the bottom of the visible alignment\r
- class ScrollThread\r
- extends Thread\r
- {\r
- boolean running = false;\r
- boolean up = true;\r
- public ScrollThread(boolean up)\r