X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FRotatableCanvas.java;h=be1d3f5774280188fcd62696a6502d3a4d5025dc;hb=b69e028fe41a867e72cda2a6d69182ff0c6bd90e;hp=9007e4f0a46fb5d6ac0b9731274d12a40377c0e4;hpb=41238b03f514480a593c586c1c9539727b535cda;p=jalview.git diff --git a/src/jalview/gui/RotatableCanvas.java b/src/jalview/gui/RotatableCanvas.java index 9007e4f..be1d3f5 100755 --- a/src/jalview/gui/RotatableCanvas.java +++ b/src/jalview/gui/RotatableCanvas.java @@ -72,13 +72,16 @@ public class RotatableCanvas extends JPanel implements MouseListener, int recty2; float scalefactor = 1; AlignViewport av; + AlignmentPanel ap; boolean showLabels = false; Color bgColour = Color.black; + boolean applyToAllViews = false; // Controller controller; - public RotatableCanvas(AlignViewport av) + public RotatableCanvas(AlignmentPanel ap) { - this.av = av; + this.av = ap.av; + this.ap = ap; addMouseWheelListener(new MouseWheelListener() { @@ -113,7 +116,6 @@ public class RotatableCanvas extends JPanel implements MouseListener, ToolTipManager.sharedInstance().registerComponent(this); ToolTipManager.sharedInstance().setInitialDelay(0); ToolTipManager.sharedInstance().setDismissDelay(10000); - PaintRefresher.Register(this, av.getSequenceSetId()); prefsize = getPreferredSize(); orig = new float[npoint][3]; @@ -591,17 +593,24 @@ public class RotatableCanvas extends JPanel implements MouseListener, if (found != null) { - if (av.getSelectionGroup() != null) + AlignmentPanel[] aps = getAssociatedPanels(); + + for (int a = 0; a < aps.length; a++) + { + if (aps[a].av.getSelectionGroup() != null) { - av.getSelectionGroup().addOrRemove(found, true); - PaintRefresher.Refresh(this, av.getSequenceSetId()); + aps[a].av.getSelectionGroup().addOrRemove(found, true); } else { - av.setSelectionGroup(new SequenceGroup()); - av.getSelectionGroup().addOrRemove(found, true); - av.getSelectionGroup().setEndRes(av.alignment.getWidth()-1); + aps[a].av.setSelectionGroup(new SequenceGroup()); + aps[a].av.getSelectionGroup().addOrRemove(found, true); + aps[a].av.getSelectionGroup().setEndRes( + aps[a].av.alignment.getWidth() - 1); } + } + + PaintRefresher.Refresh(this, av.getSequenceSetId()); } repaint(); @@ -749,25 +758,14 @@ public class RotatableCanvas extends JPanel implements MouseListener, } } - /* public boolean handleRubberbandEvent(RubberbandEvent evt) { - System.out.println("Rubberband handler called in RotatableCanvas with " + - evt.getBounds()); - - Rubberband rb = (Rubberband)evt.getSource(); - - // Clear the current selection (instance variable) - //if ((rb.getModifiers() & Event.SHIFT_MASK) == 0) { - // clearSelection(); - //} - - if (rb.getComponent() == this) { - Rectangle bounds = evt.getBounds(); - rectSelect(bounds.x,bounds.y,bounds.x+bounds.width,bounds.y+bounds.height); - } - - redrawneeded = true; - paint(this.getGraphics()); - - return true; - }*/ + AlignmentPanel[] getAssociatedPanels() + { + if (applyToAllViews) + { + return PaintRefresher.getAssociatedPanels(av.getSequenceSetId()); + } + else + return new AlignmentPanel[] + { ap }; + } }