package jalview.gui; import jalview.datamodel.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ScalePanel extends JPanel { protected ScaleCanvas scaleCanvas; protected int offy; public int width; protected AlignViewport av; AlignmentPanel ap; public ScalePanel(AlignViewport av, AlignmentPanel ap) { this.av = av; this.ap = ap; scaleCanvas = new ScaleCanvas(av); setLayout(new BorderLayout()); add(scaleCanvas, BorderLayout.CENTER); addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { doMousePressed(evt); } public void mouseReleased(MouseEvent evt) { doMouseReleased(evt); } }); addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent evt) { doMouseDragged(evt); } }); } public Dimension getMinimumSize() { return scaleCanvas.getMinimumSize(); } public Dimension getPreferredSize() { return scaleCanvas.getPreferredSize(); } public void doMousePressed(MouseEvent evt) { int x = evt.getX(); int res = x/av.getCharWidth() + av.getStartRes(); if (! av.getColumnSelection().contains(res)) av.getColumnSelection().addElement(res); else return; SequenceGroup sg = new SequenceGroup(); for(int i=0; isg.getStartRes()) sg.setEndRes(res); else if(ressg.getStartRes()) sg.setEndRes(res); else if(res