2 package jalview.appletgui;
\r
4 import java.awt.event.*;
\r
6 import jalview.datamodel.*;
\r
8 public class AnnotationLabels extends Panel
\r
10 boolean active = false;
\r
13 boolean resizing = false;
\r
15 static String ADDNEW = "Add new row";
\r
16 static String HIDE = "Hide this row";
\r
17 static String DELETE = "Delete this row";
\r
18 static String SHOWALL="Show all hidden rows";
\r
19 int selectedRow = 0;
\r
20 int scrollOffset = 0;
\r
22 public AnnotationLabels(AlignmentPanel ap)
\r
27 java.net.URL url = getClass().getResource("/images/idwidth.gif");
\r
29 image = java.awt.Toolkit.getDefaultToolkit().getImage(url);
\r
33 MediaTracker mt = new MediaTracker(this);
\r
34 mt.addImage(image, 0);
\r
37 catch (Exception ex) {}
\r
40 public void setScrollOffset(int y)
\r
46 public void paint(Graphics g)
\r
51 public void drawComponent(Graphics g)
\r
53 FontMetrics fm = g.getFontMetrics(g.getFont());
\r
54 g.setColor(Color.white);
\r
55 g.fillRect(0,0, getSize().width, getSize().height);
\r
57 g.translate(0, scrollOffset);
\r
58 g.setColor(Color.black);
\r
60 AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
\r
61 int y = g.getFont().getSize();
\r
65 for(int i=0; i<aa.length; i++)
\r
70 x = getSize().width - fm.stringWidth(aa[i].label)-3;
\r
73 y+=(aa[i].height/3);
\r
75 g.drawString(aa[i].label, x, y);
\r
78 y+=(2*aa[i].height/3);
\r
86 g.drawImage(image, 2, 0, this);
\r
89 if (aa == null || aa.length<1)
\r
91 g.drawString("Right click", 2, 8);
\r
92 g.drawString("to add annotation", 2, 18);
\r