9531cf18243fdf51b6acb1de6695e8823ec73e2a
[jalview.git] / src / jalview / ext / treeviewer / TreeViewerUtils.java
1 package jalview.ext.treeviewer;
2
3 import jalview.datamodel.SequenceI;
4 import jalview.ext.archaeopteryx.JalviewBinding;
5 import jalview.util.MessageManager;
6 import jalview.viewmodel.AlignmentViewport;
7
8 import java.awt.Dimension;
9 import java.io.File;
10 import java.util.HashMap;
11 import java.util.Map;
12
13 public final class TreeViewerUtils
14 {
15   private static Map<TreeFrameI, TreeViewerBindingI> activeViews = new HashMap<>();
16
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)
22   {
23     TreeViewerBindingI treeBinding = new JalviewBinding(treeFrame,
24             jalviewAlignViewport,
25             alignMappedToNodes, nodesMappedToAlign);
26     jalviewAlignViewport.setCurrentExtTree(treeFrame.getTree());
27     activeViews.put(treeFrame, treeFrame.getViewBinding());
28
29     return treeBinding;
30   }
31
32   public static TreeFrameI addTreeViewFrameToJalview(
33           final TreeFrameI treeFrame)
34   {
35     int width = 400;
36     int height = 550;
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();
42     if (treeFile != null)
43     {
44       frameTitle += MessageManager.formatMessage("label.aptx_title_append",
45               new String[]
46               { treeFile.getAbsolutePath() });
47     }
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());
51
52     treeFrame.addFrameToJalview(frameTitle, true, width, height, true,
53             false);
54     return treeFrame;
55   
56   }
57
58   public static Map<TreeFrameI, TreeViewerBindingI> getActiveTreeViews()
59   {
60     return activeViews;
61   }
62
63 }