+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mouseEntered(MouseEvent e)\r
+ {\r
+ if (scrollThread != null)\r
+ {\r
+ scrollThread.running = false;\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mouseExited(MouseEvent e)\r
+ {\r
+ if (av.getWrapAlignment())\r
+ {\r
+ return;\r
+ }\r
+\r
+ if (mouseDragging && (e.getY() < 0) && (av.getStartSeq() > 0))\r
+ {\r
+ scrollThread = new ScrollThread(true);\r
+ }\r
+\r
+ if (mouseDragging && (e.getY() >= getHeight()) &&\r
+ (av.alignment.getHeight() > av.getEndSeq()))\r
+ {\r
+ scrollThread = new ScrollThread(false);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mousePressed(MouseEvent e)\r
+ {\r
+ if (e.getClickCount() == 2)\r
+ {\r
+ return;\r
+ }\r
+\r
+ int y = e.getY();\r
+\r
+ if (av.getWrapAlignment())\r
+ {\r
+ y = getWrappedY(y);\r
+ }\r
+\r
+ int seq = av.getIndex(y);\r
+\r
+ if (seq == -1)\r
+ {\r
+ return;\r
+ }\r
+\r
+ if (javax.swing.SwingUtilities.isRightMouseButton(e))\r
+ {\r
+ jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(alignPanel,\r
+ (Sequence) av.getAlignment().getSequenceAt(seq),\r
+ Preferences.sequenceURLLinks);\r
+ pop.show(this, e.getX(), y);\r
+\r
+ return;\r
+ }\r
+\r
+ /* if (!e.isControlDown() && !e.isShiftDown() &&\r
+ (av.alignment.findGroup(av.alignment.getSequenceAt(seq)) != null))\r
+ {\r
+ System.out.println("no modifiers");\r
+ SequenceGroup selection = new SequenceGroup();\r
+ SequenceGroup sg = av.alignment.findGroup(av.alignment.getSequenceAt(\r
+ seq));\r
+ selection.setStartRes(0);\r
+ selection.setEndRes(av.alignment.getWidth() - 1);\r
+\r
+ for (int i = 0; i < sg.getSize(); i++)\r
+ {\r
+ selection.addSequence(sg.getSequenceAt(i), true);\r
+ }\r
+\r
+ av.setSelectionGroup(selection);\r
+\r
+ return;\r
+ }*/\r
+\r
+ if ((av.getSelectionGroup() == null) ||\r
+ ((!e.isControlDown() && !e.isShiftDown()) && av.getSelectionGroup() != null))\r
+ {\r
+ av.setSelectionGroup(new SequenceGroup());\r
+ av.getSelectionGroup().setStartRes(0);\r
+ av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);\r
+ }\r
+\r
+\r
+\r
+ if (e.isShiftDown() && (lastid != -1))\r
+ {\r
+ selectSeqs(lastid, seq);\r
+ }\r
+ else\r
+ {\r
+ selectSeq(seq);\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param seq DOCUMENT ME!\r
+ */\r
+ void selectSeq(int seq)\r
+ {\r
+ lastid = seq;\r