+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+ AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
+\r
+ if (evt.getActionCommand().equals(HIDE))\r
+ {\r
+ aa[selectedRow].visible = false;\r
+ }\r
+ else if (evt.getActionCommand().equals(SHOWALL))\r
+ {\r
+ for (int i = 0; i < aa.length; i++)\r
+ {\r
+ aa[i].visible = true;\r
+ }\r
+ }\r
+ else if (evt.getActionCommand().equals(OUTPUT_TEXT))\r
+ {\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(false);\r
+ Frame frame = new Frame();\r
+ frame.add(cap);\r
+ jalview.bin.JalviewLite.addFrame(frame,\r
+ ap.alignFrame.getTitle() + " - " +\r
+ aa[selectedRow].label, 500, 100);\r
+ cap.setText(aa[selectedRow].toString());\r
+ }\r
+\r
+ ap.annotationPanel.adjustPanelHeight();\r
+ setSize(getSize().width, ap.annotationPanel.getSize().height);\r
+ ap.validate();\r
+ ap.repaint();\r
+ }\r
+\r
+ public void doMousePressed(MouseEvent evt)\r
+ {\r
+ int y = evt.getY() - scrollOffset;\r
+ AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
+ int height = 0;\r
+ for (int i = 0; i < aa.length; i++)\r
+ {\r
+ if (!aa[i].visible)\r
+ {\r
+ continue;\r
+ }\r
+\r
+ height += aa[i].height;\r
+ if (y < height)\r
+ {\r
+ selectedRow = i;\r
+ break;\r
+ }\r
+ }\r
+\r
+ PopupMenu pop = new PopupMenu("Annotations");\r
+ MenuItem item = new MenuItem(HIDE);\r
+ item.addActionListener(this);\r
+ pop.add(item);\r
+ item = new MenuItem(SHOWALL);\r
+ item.addActionListener(this);\r
+ pop.add(item);\r
+ this.add(pop);\r
+ item = new MenuItem(OUTPUT_TEXT);\r
+ item.addActionListener(this);\r
+ pop.add(item);\r
+ pop.show(this, evt.getX(), evt.getY());\r
+\r
+ }\r
+\r