- else if(evt.getActionCommand().equals(HIDE))\r
- {\r
- aa[selectedRow].visible = false;\r
- if(aa[selectedRow].label.equals("Conservation"))\r
- ap.av.showConservation = false;\r
- if(aa[selectedRow].label.equals("Quality"))\r
- ap.av.showQuality = false;\r
- if(aa[selectedRow].label.equals("Consensus"))\r
- ap.av.showIdentity = false;\r
- }\r
- else if(evt.getActionCommand().equals(DELETE))\r
- {\r
- ap.av.alignment.deleteAnnotation(aa[selectedRow]);\r
- }\r
- else if(evt.getActionCommand().equals(SHOWALL))\r
- {\r
- for(int i=0; i<aa.length; i++)\r
- aa[i].visible = true;\r
- }\r
- else if(evt.getActionCommand().equals(OUTPUT_TEXT))\r
- {\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
- Desktop.addInternalFrame(cap, ap.alignFrame.getTitle()+" - "+ aa[selectedRow].label, 500, 100);\r
- cap.setText( aa[selectedRow].toString() );\r
- }\r
-\r
- ap.annotationPanel.adjustPanelHeight();\r
- ap.repaint();\r
-\r
- }\r
-\r
- public void mousePressed(MouseEvent evt)\r
- {\r
- int y = evt.getY() - scrollOffset;\r
-\r
- AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
- if(aa==null || aa.length==0)\r
- {\r
- JPopupMenu pop = new JPopupMenu("Annotations");\r
- JMenuItem item = new JMenuItem(ADDNEW);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- pop.show(this, evt.getX(), evt.getY());\r
- return;\r
- }\r
-\r
- int height = 0;\r
- for (int i = 0; i < aa.length; i++)\r
- {\r
- if(!aa[i].visible)\r
- continue;\r
-\r
- height += aa[i].height;\r
- if(y<height)\r
- {\r
- selectedRow = i;\r
- break;\r
- }\r
- }\r
-\r
- JPopupMenu pop = new JPopupMenu("Annotations");\r
- JMenuItem item = new JMenuItem(ADDNEW);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- item = new JMenuItem(HIDE);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- item = new JMenuItem(DELETE);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- item = new JMenuItem(SHOWALL);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- item = new JMenuItem(OUTPUT_TEXT);\r
- item.addActionListener(this);\r
- pop.add(item);\r
- pop.show(this, evt.getX(), evt.getY());\r
-\r
- oldY = evt.getY();\r
- }\r
-\r
- public void mouseReleased(MouseEvent evt){ active = false; repaint(); }\r
- public void mouseEntered(MouseEvent evt) { active = true; repaint();}\r
- public void mouseExited(MouseEvent evt) { active = false; repaint();}\r
- public void mouseDragged(MouseEvent evt)\r
- {\r
- active = true;\r
- Dimension d = ap.annotationScroller.getPreferredSize();\r
- int dif = evt.getY() - oldY;\r
-\r
- dif /= ap.av.charHeight;\r
- dif *= ap.av.charHeight;\r
-\r
- if(d.height-dif>20)\r
+\r
+ /**\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
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param evt DOCUMENT ME!\r
+ */\r
+ public void mousePressed(MouseEvent evt)\r
+ {\r
+ oldY = evt.getY();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param evt DOCUMENT ME!\r
+ */\r
+ public void mouseReleased(MouseEvent evt)\r