+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param evt DOCUMENT ME!\r
+ */\r
+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+ int dif = 0;\r
+ AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
+\r
+ if (evt.getActionCommand().equals(ADDNEW))\r
+ {\r
+ String label = JOptionPane.showInputDialog(this,\r
+ "Label for annotation");\r
+\r
+ if (label == null)\r
+ {\r
+ label = "";\r
+ }\r
+\r
+ ap.av.alignment.addAnnotation(new AlignmentAnnotation(label,\r
+ "New description",\r
+ new Annotation[ap.av.alignment.getWidth()]));\r
+\r
+ dif = aa[aa.length - 1].height;\r
+ }\r
+ else if (evt.getActionCommand().equals(HIDE))\r
+ {\r
+ aa[selectedRow].visible = false;\r
+\r
+ if (aa[selectedRow].label.equals("Conservation"))\r
+ {\r
+ ap.av.showConservation = false;\r
+ }\r
+\r
+ if (aa[selectedRow].label.equals("Quality"))\r
+ {\r
+ ap.av.showQuality = false;\r
+ }\r
+\r
+ if (aa[selectedRow].label.equals("Consensus"))\r
+ {\r
+ ap.av.showIdentity = false;\r
+ }\r
+\r
+ dif = aa[selectedRow].height * -1;\r
+ }\r
+ else if (evt.getActionCommand().equals(DELETE))\r
+ {\r
+ ap.av.alignment.deleteAnnotation(aa[selectedRow]);\r
+ dif = aa[selectedRow].height * -1;\r
+ }\r
+ else if (evt.getActionCommand().equals(SHOWALL))\r
+ {\r
+ for (int i = 0; i < aa.length; i++)\r
+ {\r
+ if (!aa[i].visible)\r
+ {\r
+ dif += aa[i].height;\r
+ aa[i].visible = true;\r
+ }\r
+ }\r
+ }\r
+ else if (evt.getActionCommand().equals(OUTPUT_TEXT))\r
+ {\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
+ Desktop.addInternalFrame(cap,\r
+ ap.alignFrame.getTitle() + " - " + aa[selectedRow].label, 500,\r
+ 100);\r
+ cap.setText(aa[selectedRow].toString());\r
+ }\r
+\r
+\r
+ ap.annotationPanel.adjustPanelHeight();\r
+\r
+ Dimension d = ap.annotationScroller.getPreferredSize();\r
+ ap.annotationScroller.setPreferredSize(new Dimension(d.width,\r
+ d.height + dif));\r
+ d = ap.annotationSpaceFillerHolder.getPreferredSize();\r
+ ap.annotationSpaceFillerHolder.setPreferredSize(new Dimension(d.width,\r
+ d.height + dif));\r
+\r
+ ap.addNotify();\r
+ }\r