+ public void viewMenu_menuSelected()
+ {
+ buildAssociatedViewMenu();
+ }
+
+
+ void buildAssociatedViewMenu()
+ {
+ AlignmentPanel [] aps = PaintRefresher.getAssociatedPanels(av.getSequenceSetId());
+ if(aps.length==1 && treeCanvas.ap==aps[0])
+ {
+ associateLeavesMenu.setVisible(false);
+ return;
+ }
+
+ 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<iSize; i++)
+ {
+ final AlignmentPanel ap = aps[i];
+ item = new JRadioButtonMenuItem(ap.av.viewName, ap==treeCanvas.ap );
+ buttonGroup.add(item);
+ item.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ treeCanvas.applyToAllViews = false;
+ treeCanvas.ap = ap;
+ treeCanvas.av = ap.av;
+ PaintRefresher.Register(thisTreePanel, ap.av.getSequenceSetId());
+ }
+ });
+
+ associateLeavesMenu.add(item);
+ }
+
+ final JRadioButtonMenuItem itemf = new JRadioButtonMenuItem("All Views");
+ buttonGroup.add(itemf);
+ itemf.setSelected(treeCanvas.applyToAllViews);
+ itemf.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ treeCanvas.applyToAllViews = itemf.isSelected();
+ }
+ });
+ associateLeavesMenu.add(itemf);
+
+ }
+