- public void mouseMoved(MouseEvent e) {}\r
-\r
- public void selectSeqs(int start, int end) {\r
- if (end < start)\r
- {\r
- int tmp = start;\r
- start = end;\r
- end = tmp;\r
- }\r
-\r
- for (int i = start; i <= end; i++)\r
- {\r
- SequenceI pickedSeq = av.getAlignment().getSequenceAt(i);\r
- if (av.getSelection().contains(pickedSeq))\r
- {\r
- av.getSelection().removeElement(pickedSeq);\r
- selectedSequenceGroup.deleteSequence(pickedSeq);\r
- }\r
- else\r
- {\r
- av.getSelection().addElement(pickedSeq);\r
- if(selectedSequenceGroup==null)\r
- {\r
- selectedSequenceGroup = new SequenceGroup();\r
- av.setRubberbandGroup( selectedSequenceGroup );\r
- // av.alignment.addGroup( selectedSequenceGroup );\r
- selectedSequenceGroup.setStartRes(0);\r
- selectedSequenceGroup.setEndRes( pickedSeq.getSequence().length());\r
- }\r
-\r
- selectedSequenceGroup.addSequence( pickedSeq );\r
- }\r
-\r
- }\r
-\r
- alignPanel.seqPanel.seqCanvas.paintFlag=true;\r
- alignPanel.repaint();\r
- repaint();\r
-\r
- }\r
-\r
- public void mouseDragged(MouseEvent e) {\r
- int y = e.getY();\r
- int seq = av.getIndex(y);\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mouseMoved(MouseEvent e)\r
+ {\r
+ int seq = Math.max(0, alignPanel.seqPanel.findSeq(e));\r
+ String tmp;\r
+ if (seq > -1 && seq < av.alignment.getHeight())\r
+ {\r
+ SequenceI sequence = av.alignment.getSequenceAt(seq);\r
+ StringBuffer tip = new StringBuffer();\r
+ tip.append("<i>");\r
+\r
+ int maxWidth = 0;\r
+ if (sequence.getDescription() != null)\r
+ {\r
+ tmp = sequence.getDescription();\r
+ tip.append("<br>"+tmp);\r
+ maxWidth = Math.max(maxWidth, tmp.length());\r
+ }\r
+\r
+ DBRefEntry[] dbrefs = sequence.getDatasetSequence().getDBRef();\r
+ if (dbrefs != null)\r
+ {\r
+ for (int i = 0; i < dbrefs.length; i++)\r
+ {\r
+ tip.append("<br>");\r
+ tmp = dbrefs[i].getSource() + " " + dbrefs[i].getAccessionId();\r
+ tip.append(tmp);\r
+ maxWidth = Math.max(maxWidth, tmp.length());\r
+ }\r
+ }\r
+\r
+\r
+ //ADD NON POSITIONAL SEQUENCE INFO\r
+ SequenceFeature[] features = sequence.getDatasetSequence().\r
+ getSequenceFeatures();\r
+ if (features != null)\r
+ {\r
+ for (int i = 0; i < features.length; i++)\r
+ {\r
+ if (features[i].begin == 0 && features[i].end == 0)\r
+ {\r
+ tmp = features[i].featureGroup\r
+ + " " + features[i].getType() + " " +\r
+ features[i].description;\r
+ tip.append("<br>" + tmp);\r
+ maxWidth = Math.max(maxWidth, tmp.length());\r
+ }\r
+ }\r
+ }\r
+\r
+ if(maxWidth > 60)\r
+ {\r
+ tip.insert(0, "<table width=350 border=0><tr><td><i>");\r
+ tip.append("</i></td></tr></table>");\r
+ }\r
+\r
+ tip.append("</html>");\r
+\r
+ setToolTipText("<html>"+sequence.getDisplayId(true)+tip.toString());\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mouseDragged(MouseEvent e)\r
+ {\r
+ mouseDragging = true;\r
+\r
+ int seq = Math.max(0, alignPanel.seqPanel.findSeq(e));\r