X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FScalePanel.java;h=2ec45702b476374a45d4b00e1afa458400720619;hb=67fe33692d163752fd467468b18ace4a9b4eac7d;hp=b349b5b93b345ac3bc06b55f3d89d30bf44ee3f8;hpb=0519b6ad1c83e546640ce2b29db51a326503811f;p=jalview.git diff --git a/src/jalview/gui/ScalePanel.java b/src/jalview/gui/ScalePanel.java index b349b5b..2ec4570 100755 --- a/src/jalview/gui/ScalePanel.java +++ b/src/jalview/gui/ScalePanel.java @@ -61,9 +61,11 @@ public class ScalePanel extends JPanel sg.setStartRes(res); sg.setEndRes(res); + + ap.annotationPanel.addEditableColumn(res); } av.setSelectionGroup(sg); - ap.RefreshPanels(); + ap.repaint(); } public void doMouseReleased(MouseEvent evt) @@ -85,7 +87,7 @@ public class ScalePanel extends JPanel sg.setStartRes(res); stretchingGroup = false; - ap.RefreshPanels(); + ap.repaint(); } public void doMouseDragged(MouseEvent evt) @@ -102,83 +104,66 @@ public class ScalePanel extends JPanel else if (res < sg.getStartRes()) sg.setStartRes(res); - ap.RefreshPanels(); + ap.annotationPanel.addEditableColumn(res); + ap.repaint(); } } public void paintComponent(Graphics g) { - drawScale(g, av.getStartRes(), av.getEndRes(), getWidth()); + drawScale(g, av.getStartRes(), av.getEndRes(), getWidth(), getHeight()); } // scalewidth will normally be screenwidth, - public void drawScale(Graphics gg, int startx, int endx, int scaleWidth) + public void drawScale(Graphics g, int startx, int endx, int width, int height) { - int charWidth = av.getCharWidth(); - + Graphics2D gg = (Graphics2D)g; gg.setFont(av.getFont()); + gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); //Fill in the background - gg.setColor(Color.white); - gg.fillRect(0,0,scaleWidth, getHeight()); - - int resWidth = endx - startx + 1; - - // We want roughly one tick every 50 pixels - - double rough = scaleWidth/50.0; - - double roughtick = resWidth/rough; - - int digits = (int)(Math.log(roughtick)/Math.log(10)); - int num = (int)(roughtick/Math.pow(10,digits)); - - if (roughtick>5) - num = 10; - else - num = 5; - - // else - // num = 2; - - // System.out.println("Dig " + digits + " " + rough + " " + roughtick + " " + getWidth() + " " + num); - - int space = (int)(num * Math.pow(10,digits)); - - //Set the text font - + gg.fillRect(0,0,width, height); gg.setColor(Color.black); - int scalestartx = startx - startx%space + space; - //Fill the selected columns ColumnSelection cs = av.getColumnSelection(); - int width = charWidth; - if (width == 0) - width = 1; - gg.setColor(new Color(220,0,0)); - for (int i=0; i