X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreePanel.java;h=f4543ed83ef71d56e17e0e82bbc4c3d7a7f8b8e1;hb=d587f1aa61946dc14f6f089cf1dc2a3116cfb773;hp=3bb910807ca54f4ac22f8ff6d43574f0a1b6c3cc;hpb=7b3241c464d774516c4295a5023f4aef7939298e;p=jalview.git diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index 3bb9108..f4543ed 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -117,11 +117,13 @@ public class TreePanel extends GTreePanel this.type = type; this.pwtype = pwtype; - buildAssociatedViewMenu(); - - treeCanvas = new TreeCanvas(ap, scrollPane); + treeCanvas = new TreeCanvas(this, ap, scrollPane); scrollPane.setViewportView(treeCanvas); + PaintRefresher.Register(this, ap.av.getSequenceSetId()); + + buildAssociatedViewMenu(); + av.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) @@ -148,23 +150,39 @@ public class TreePanel extends GTreePanel } + public void viewMenu_menuSelected() + { + buildAssociatedViewMenu(); + } + + void buildAssociatedViewMenu() { AlignmentPanel [] aps = PaintRefresher.getAssociatedPanels(av.getSequenceSetId()); - if(aps.length<2) + if(aps.length==1 && treeCanvas.ap==aps[0]) { associateLeavesMenu.setVisible(false); return; } - associateLeavesMenu.addSeparator(); + + associateLeavesMenu.setVisible(true); + + if( (viewMenu.getItem(viewMenu.getItemCount()-2) instanceof JMenuItem)) + { + viewMenu.insertSeparator(viewMenu.getItemCount()-1); + } + + associateLeavesMenu.removeAll(); + JRadioButtonMenuItem item; ButtonGroup buttonGroup = new ButtonGroup(); int i, iSize = aps.length; + final TreePanel thisTreePanel = this; for(i=0; i