X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FRotatableCanvas.java;h=573f59e07e3e561700f899b0ef0ba542f66146d2;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=3b983feeb7256930be176cf6162af0fcd4f8a123;hpb=fbd03b3f123f3462c5fe685c988e5c4ae601558c;p=jalview.git diff --git a/src/jalview/gui/RotatableCanvas.java b/src/jalview/gui/RotatableCanvas.java index 3b983fe..573f59e 100755 --- a/src/jalview/gui/RotatableCanvas.java +++ b/src/jalview/gui/RotatableCanvas.java @@ -1,30 +1,35 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; import java.util.*; - import java.awt.*; import java.awt.event.*; + import javax.swing.*; +import jalview.api.RotatableCanvasI; import jalview.datamodel.*; import jalview.math.*; +import jalview.util.MessageManager; /** * DOCUMENT ME! @@ -33,7 +38,7 @@ import jalview.math.*; * @version $Revision$ */ public class RotatableCanvas extends JPanel implements MouseListener, - MouseMotionListener, KeyListener + MouseMotionListener, KeyListener, RotatableCanvasI { RotatableMatrix idmat = new RotatableMatrix(3, 3); @@ -138,14 +143,18 @@ public class RotatableCanvas extends JPanel implements MouseListener, repaint(); } + boolean first = true; + public void setPoints(Vector points, int npoint) { this.points = points; this.npoint = npoint; - ToolTipManager.sharedInstance().registerComponent(this); - ToolTipManager.sharedInstance().setInitialDelay(0); - ToolTipManager.sharedInstance().setDismissDelay(10000); - + if (first) + { + ToolTipManager.sharedInstance().registerComponent(this); + ToolTipManager.sharedInstance().setInitialDelay(0); + ToolTipManager.sharedInstance().setDismissDelay(10000); + } prefsize = getPreferredSize(); orig = new float[npoint][3]; @@ -186,11 +195,14 @@ public class RotatableCanvas extends JPanel implements MouseListener, findWidth(); scale = findScale(); + if (first) + { - addMouseListener(this); - - addMouseMotionListener(this); + addMouseListener(this); + addMouseMotionListener(this); + } + first = false; } public void initAxes() @@ -361,7 +373,8 @@ public class RotatableCanvas extends JPanel implements MouseListener, if (points == null) { g.setFont(new Font("Verdana", Font.PLAIN, 18)); - g.drawString("Calculating PCA....", 20, getHeight() / 2); + g.drawString(MessageManager.getString("label.calculating_pca") + + "....", 20, getHeight() / 2); } else { @@ -460,8 +473,8 @@ public class RotatableCanvas extends JPanel implements MouseListener, if (av.getSelectionGroup() != null) { - if (av.getSelectionGroup().getSequences(null).contains( - ((SequencePoint) points.elementAt(i)).sequence)) + if (av.getSelectionGroup().getSequences(null) + .contains(((SequencePoint) points.elementAt(i)).sequence)) { g.setColor(Color.gray); } @@ -476,8 +489,9 @@ public class RotatableCanvas extends JPanel implements MouseListener, if (showLabels) { g.setColor(Color.red); - g.drawString(((SequencePoint) points.elementAt(i)).sequence - .getName(), x - 3, y - 4); + g.drawString( + ((SequencePoint) points.elementAt(i)).sequence.getName(), + x - 3, y - 4); } } @@ -643,7 +657,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, aps[a].av.setSelectionGroup(new SequenceGroup()); aps[a].av.getSelectionGroup().addOrRemove(found, true); aps[a].av.getSelectionGroup().setEndRes( - aps[a].av.alignment.getWidth() - 1); + aps[a].av.getAlignment().getWidth() - 1); } } PaintRefresher.Refresh(this, av.getSequenceSetId()); @@ -748,8 +762,8 @@ public class RotatableCanvas extends JPanel implements MouseListener, { if (av != null) { - if (!av.getSelectionGroup().getSequences(null).contains( - sp.sequence)) + if (!av.getSelectionGroup().getSequences(null) + .contains(sp.sequence)) { av.getSelectionGroup().addSequence(sp.sequence, true); } @@ -818,12 +832,13 @@ public class RotatableCanvas extends JPanel implements MouseListener, /** * - * @return x,y,z positions of point s (index into points) under current transform. + * @return x,y,z positions of point s (index into points) under current + * transform. */ public double[] getPointPosition(int s) { double pts[] = new double[3]; - float[] p = ((SequencePoint)points.elementAt(s)).coord; + float[] p = ((SequencePoint) points.elementAt(s)).coord; pts[0] = p[0]; pts[1] = p[1]; pts[2] = p[2];