import java.util.*;
+import javax.swing.*;
import javax.imageio.*;
import java.beans.PropertyChangeEvent;
super();
initTreePanel(ap, type, pwtype, newtree, null);
}
-
+
public TreePanel(AlignmentPanel av,
String type,
String pwtype,
this.type = type;
this.pwtype = pwtype;
+ buildAssociatedViewMenu();
+
treeCanvas = new TreeCanvas(ap, scrollPane);
scrollPane.setViewportView(treeCanvas);
}
+ void buildAssociatedViewMenu()
+ {
+ AlignmentPanel [] aps = PaintRefresher.getAssociatedPanels(av.getSequenceSetId());
+ if(aps.length<2)
+ {
+ associateLeavesMenu.setVisible(false);
+ return;
+ }
+ associateLeavesMenu.addSeparator();
+
+ JRadioButtonMenuItem item;
+ ButtonGroup buttonGroup = new ButtonGroup();
+ int i, iSize = aps.length;
+ for(i=0; i<iSize; i++)
+ {
+ final AlignmentPanel ap = aps[i];
+ item = new JRadioButtonMenuItem(ap.av.viewName, ap.av==av );
+ buttonGroup.add(item);
+ item.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ treeCanvas.applyToAllViews = false;
+ treeCanvas.ap = ap;
+ treeCanvas.av = ap.av;
+ PaintRefresher.RemoveComponent(treeCanvas);
+ PaintRefresher.Register(treeCanvas, ap.av.getSequenceSetId());
+ }
+ });
+
+ associateLeavesMenu.add(item);
+ }
+
+ final JRadioButtonMenuItem itemf = new JRadioButtonMenuItem("All Views");
+ buttonGroup.add(itemf);
+ itemf.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ treeCanvas.applyToAllViews = itemf.isSelected();
+ }
+ });
+ associateLeavesMenu.add(itemf);
+
+ }
+
class TreeLoader extends Thread
{
NewickFile newtree;