+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public class IdPanel extends JPanel implements MouseListener,\r
+ MouseMotionListener\r
+{\r
+ protected IdCanvas idCanvas;\r
+ protected AlignViewport av;\r
+ protected AlignmentPanel alignPanel;\r
+ ScrollThread scrollThread = null;\r
+ int offy;\r
+ int width;\r
+ int lastid = -1;\r
+ boolean mouseDragging = false;\r
+\r
+ /**\r
+ * Creates a new IdPanel object.\r
+ *\r
+ * @param av DOCUMENT ME!\r
+ * @param parent DOCUMENT ME!\r
+ */\r
+ public IdPanel(AlignViewport av, AlignmentPanel parent)\r
+ {\r
+ this.av = av;\r
+ alignPanel = parent;\r
+ idCanvas = new IdCanvas(av);\r
+ setLayout(new BorderLayout());\r
+ add(idCanvas, BorderLayout.CENTER);\r
+ addMouseListener(this);\r
+ addMouseMotionListener(this);\r
+ ToolTipManager.sharedInstance().registerComponent(this);\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void mouseMoved(MouseEvent e)\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
+ if(seq!=-1)\r
+ {\r
+ StringBuffer tip = new StringBuffer("<html>");\r
+ tip.append(av.alignment.getSequenceAt(seq).getDisplayId(true, 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
+ tip.append("</i></td></tr></table>");\r
+ }\r
+ tip.append("</html>");\r
+ setToolTipText(tip.toString());\r
+ }\r