+ int y = e.getY();\r
+\r
+ if (av.getWrapAlignment())\r
+ {\r
+ y = getWrappedY(y);\r
+ }\r
+\r
+ final int seq = av.getIndex(y);\r
+ if(seq!=-1)\r
+ {\r
+ SequenceI sequence = av.alignment.getSequenceAt(seq);\r
+ StringBuffer tip = new StringBuffer("<html>");\r
+ tip.append(sequence.getDisplayId(true));\r
+ if (av.alignment.getSequenceAt(seq).getDescription() != null)\r
+ {\r
+ tip.append("<table width=250 border=0><tr><td><i>");\r
+ tip.append(av.alignment.getSequenceAt(seq).getDescription());\r
+\r
+ //ADD NON POSITIONAL SEQUENCE INFO\r
+ SequenceFeature [] features = sequence.getDatasetSequence().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
+ tip.append("<br>"+features[i].featureGroup\r
+ +" "+ features[i].getType()+" "+features[i].description);\r
+ }\r
+ }\r
+ }\r
+\r
+ tip.append("</i></td></tr></table>");\r
+ }\r
+ tip.append("</html>");\r
+ setToolTipText(tip.toString());\r
+ }\r
+\r
+ if(av.hasHiddenRows)\r
+ {\r
+ if(av.adjustForHiddenSeqs(seq) -\r
+ av.adjustForHiddenSeqs(seq-1)>1)\r
+ {\r
+ JPopupMenu pop = new JPopupMenu();\r
+ JMenuItem item = new JMenuItem("Reveal");\r
+ item.addActionListener(new ActionListener()\r
+ {\r
+ public void actionPerformed(ActionEvent e)\r
+ {\r
+ av.showSequence(seq);\r
+ alignPanel.repaint();\r
+ if(alignPanel.overviewPanel!=null)\r
+ alignPanel.overviewPanel.updateOverviewImage();\r
+ }\r
+ });\r
+ pop.add(item);\r
+ pop.show(this, e.getX(), e.getY());\r
+ }\r
+ }\r