JAL-2798 tree frame is now added to active views when added to Jalview
[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
28     return treeBinding;
29   }
30
31   public static TreeFrameI addTreeViewFrameToJalview(
32           final TreeFrameI treeFrame)
33   {
34     int width = 400;
35     int height = 550;
36     treeFrame.setMinimumSize(new Dimension(width, height));
37     // aptxApp.setFont(Desktop.instance.getFont());
38     // aptxApp.getMainPanel().setFont(Desktop.instance.getFont());
39     String frameTitle = MessageManager.getString("label.aptx_title");
40     File treeFile = treeFrame.getTreePanel().getTreeFile();
41     if (treeFile != null)
42     {
43       frameTitle += MessageManager.formatMessage("label.aptx_title_append",
44               new String[]
45               { treeFile.getAbsolutePath() });
46     }
47     activeViews.put(treeFrame, treeFrame.getViewBinding());
48
49     treeFrame.addFrameToJalview(frameTitle, true, width, height, true,
50             true);
51     return treeFrame;
52   
53   }
54
55   public static Map<TreeFrameI, TreeViewerBindingI> getActiveTreeViews()
56   {
57     return activeViews;
58   }
59
60 }