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 TreeViewerBindingI associateNodesWithJalviewSequences(
18 final TreeFrameI treeFrame,
19 final AlignmentViewport jalviewAlignViewport,
20 final Map<SequenceI, TreeNodeI> alignMappedToNodes,
21 final Map<TreeNodeI, SequenceI> nodesMappedToAlign)
23 TreeViewerBindingI treeBinding = new JalviewBinding(treeFrame,
25 alignMappedToNodes, nodesMappedToAlign);
26 jalviewAlignViewport.setCurrentExtTree(treeFrame.getTree());
27 activeViews.put(treeFrame, treeFrame.getViewBinding());
32 public static TreeFrameI addTreeViewFrameToJalview(
33 final TreeFrameI treeFrame)
37 treeFrame.setMinimumSize(new Dimension(width, height));
38 // aptxApp.setFont(Desktop.instance.getFont());
39 // aptxApp.getMainPanel().setFont(Desktop.instance.getFont());
40 String frameTitle = MessageManager.getString("label.aptx_title");
41 File treeFile = treeFrame.getTreePanel().getTreeFile();
44 frameTitle += MessageManager.formatMessage("label.aptx_title_append",
46 { treeFile.getAbsolutePath() });
48 // Usually redundant as this is done when associating nodes as well but that
49 // step could be bypassed
50 activeViews.put(treeFrame, treeFrame.getViewBinding());
52 treeFrame.addFrameToJalview(frameTitle, true, width, height, true,
58 public static Map<TreeFrameI, TreeViewerBindingI> getActiveTreeViews()