- if(seq<0 || res<0)\r
- return;\r
-\r
- SequenceI sequence = (Sequence) av.getAlignment().getSequenceAt(seq);\r
-\r
- if ((sequence == null) || (res > sequence.getLength()))\r
- {\r
- return;\r
- }\r
-\r
- stretchGroup = av.getSelectionGroup();\r
-\r
- if (stretchGroup == null)\r
- {\r
- stretchGroup = av.alignment.findGroup(sequence);\r
-\r
- if ((stretchGroup != null) && (res > stretchGroup.getStartRes()) &&\r
- (res < stretchGroup.getEndRes()))\r
- {\r
- av.setSelectionGroup(stretchGroup);\r
- }\r
- else\r
- {\r
- stretchGroup = null;\r
- }\r
- }\r
- else if (!stretchGroup.getSequences(null).contains(sequence) ||\r
- (stretchGroup.getStartRes() > res) ||\r
- (stretchGroup.getEndRes() < res))\r
- {\r
- stretchGroup = null;\r
-\r
- SequenceGroup[] allGroups = av.alignment.findAllGroups(sequence);\r
-\r
- if (allGroups != null)\r
- {\r
- for (int i = 0; i < allGroups.length; i++)\r
- {\r
- if ((allGroups[i].getStartRes() <= res) &&\r
- (allGroups[i].getEndRes() >= res))\r
- {\r
- stretchGroup = allGroups[i];\r
- break;\r
- }\r
- }\r
- }\r
-\r
- av.setSelectionGroup(stretchGroup);\r
-\r
- }\r
-\r
-\r
- if (javax.swing.SwingUtilities.isRightMouseButton(evt))\r
- {\r
- Vector allFeatures = getAllFeaturesAtRes(sequence.getDatasetSequence(),\r
- sequence.findPosition(res));\r
- Vector links = new Vector();\r
- for (int i = 0; i < allFeatures.size(); i++)\r
- {\r
- SequenceFeature sf = (SequenceFeature) allFeatures.elementAt(i);\r
- if (sf.links != null)\r
- {\r
- for (int j = 0; j < sf.links.size(); j++)\r
- {\r
- links.addElement(sf.links.elementAt(j));\r
- }\r
- }\r
- }\r
-\r
- jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(ap, null, links);\r
- pop.show(this, evt.getX(), evt.getY());\r
- return;\r
- }\r
-\r
- if (av.cursorMode)\r
- {\r
- seqCanvas.cursorX = findRes(evt);\r
- seqCanvas.cursorY = findSeq(evt);\r
- seqCanvas.repaint();\r
- return;\r
- }\r
-\r
- if (stretchGroup == null)\r
- {\r
- //Only if left mouse button do we want to change group sizes\r