package jalview.appletgui; import java.awt.event.*; import java.awt.*; import jalview.datamodel.*; public class AnnotationLabels extends Panel { boolean active = false; Image image; AlignmentPanel ap ; boolean resizing = false; int oldY, mouseX; static String ADDNEW = "Add new row"; static String HIDE = "Hide this row"; static String DELETE = "Delete this row"; static String SHOWALL="Show all hidden rows"; int selectedRow = 0; int scrollOffset = 0; public AnnotationLabels(AlignmentPanel ap) { this.ap = ap; setLayout(null); java.net.URL url = getClass().getResource("/images/idwidth.gif"); if (url != null) image = java.awt.Toolkit.getDefaultToolkit().getImage(url); try { MediaTracker mt = new MediaTracker(this); mt.addImage(image, 0); mt.waitForID(0); } catch (Exception ex) {} } public void setScrollOffset(int y) { scrollOffset = y; repaint(); } public void paint(Graphics g) { drawComponent(g); } public void drawComponent(Graphics g) { FontMetrics fm = g.getFontMetrics(g.getFont()); g.setColor(Color.white); g.fillRect(0,0, getSize().width, getSize().height); g.translate(0, scrollOffset); g.setColor(Color.black); AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation(); int y = g.getFont().getSize(); int x = 0; if(aa!=null) for(int i=0; i