static String HIDE = "Hide This Row";\r
static String DELETE = "Delete This Row";\r
static String SHOWALL = "Show All Hidden Rows";\r
- static String OUTPUT_TEXT = "Show Values In Textbox";\r
+ static String OUTPUT_TEXT = "Export Annotation";\r
boolean resizePanel = false;\r
Image image;\r
AlignmentPanel ap;\r
int height = 0;\r
AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
\r
- for (int i = 0; i < aa.length; i++)\r
+ if(aa!=null)\r
{\r
- if (!aa[i].visible)\r
+ for (int i = 0; i < aa.length; i++)\r
{\r
- continue;\r
- }\r
+ if (!aa[i].visible)\r
+ {\r
+ continue;\r
+ }\r
\r
- height += aa[i].height;\r
+ height += aa[i].height;\r
\r
- if (y < height)\r
- {\r
- selectedRow = i;\r
+ if (y < height)\r
+ {\r
+ selectedRow = i;\r
\r
- break;\r
+ break;\r
+ }\r
}\r
}\r
}\r
\r
ap.av.alignment.addAnnotation(newAnnotation);\r
ap.av.alignment.setAnnotationIndex(newAnnotation, 0);\r
- dif = aa[aa.length - 1].height;\r
+ if (aa != null)\r
+ dif = aa[aa.length - 1].height;\r
}\r
else if (evt.getActionCommand().equals(HIDE))\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
+ new AnnotationExporter().exportAnnotations(\r
+ ap,\r
+ new AlignmentAnnotation[]\r
+ {aa[selectedRow]}\r
+ );\r
}\r
\r
\r
public void mouseReleased(MouseEvent evt)\r
{\r
int start = selectedRow;\r
- getSelectedRow(evt.getY());\r
+ getSelectedRow(evt.getY() - scrollOffset);\r
int end = selectedRow;\r
\r
if(start!=end)\r
* @param evt DOCUMENT ME!\r
*/\r
public void mouseExited(MouseEvent evt)\r
- { }\r
+ {\r
+ if(dragEvent == null)\r
+ {\r
+ resizePanel = false;\r
+ repaint();\r
+ }\r
+ }\r
\r
/**\r
* DOCUMENT ME!\r
public void drawComponent(Graphics g, int width)\r
{\r
if(av.getFont().getSize()<10)\r
- g.setFont(new Font("Arial", Font.PLAIN, av.getFont().getSize()-1));\r
- else\r
g.setFont(font);\r
+ else\r
+ g.setFont(av.getFont());\r
\r
FontMetrics fm = g.getFontMetrics(g.getFont());\r
g.setColor(Color.white);\r
{\r
g.drawImage(image, 2, 0 - scrollOffset, this);\r
}\r
- else if (dragEvent != null)\r
+ else if (dragEvent != null && aa!=null)\r
{\r
g.setColor(Color.lightGray);\r
- g.drawString(aa[selectedRow].label, dragEvent.getX(), dragEvent.getY());\r
+ g.drawString(aa[selectedRow].label, dragEvent.getX(), dragEvent.getY() - scrollOffset);\r
}\r
\r
\r