1 package jalview.ext.treeviewer;
3 import jalview.datamodel.SequenceI;
4 import jalview.ext.archaeopteryx.JalviewBinding;
5 import jalview.util.MessageManager;
6 import jalview.viewmodel.AlignmentViewport;
8 import java.awt.Dimension;
10 import java.util.HashMap;
13 public final class TreeViewerUtils
15 private static Map<TreeFrameI, TreeViewerBindingI> activeViews = new HashMap<>();
17 public static TreeFrameI addTreeViewFrameToJalview(
18 final TreeFrameI treeFrame)
22 treeFrame.setMinimumSize(new Dimension(width, height));
23 // aptxApp.setFont(Desktop.instance.getFont());
24 // aptxApp.getMainPanel().setFont(Desktop.instance.getFont());
25 String frameTitle = MessageManager.getString("label.aptx_title");
26 File treeFile = treeFrame.getTreePanel().getTreeFile();
29 frameTitle += MessageManager.formatMessage("label.of_x",
31 { treeFile.getAbsolutePath() });
33 // Usually redundant as this is done when associating nodes as well but that
34 // step could be bypassed
35 activeViews.put(treeFrame, treeFrame.getViewBinding());
37 treeFrame.addFrameToJalview(frameTitle, true, width, height, true,
39 treeFrame.getTreeControls().displayEntireTree();
44 public static TreeViewerBindingI associateNodesWithJalviewSequences(
45 final TreeFrameI treeFrame,
46 final AlignmentViewport jalviewAlignViewport,
47 final Map<SequenceI, TreeNodeI> alignMappedToNodes,
48 final Map<TreeNodeI, SequenceI> nodesMappedToAlign)
50 TreeViewerBindingI treeBinding = new JalviewBinding(treeFrame,
52 alignMappedToNodes, nodesMappedToAlign);
53 jalviewAlignViewport.setCurrentExtTree(treeFrame.getTree());
54 activeViews.put(treeFrame, treeFrame.getViewBinding());
59 public static Map<TreeFrameI, TreeViewerBindingI> getActiveTreeViews()