package jalview.ext.treeviewer; import jalview.datamodel.SequenceI; import jalview.ext.archaeopteryx.JalviewBinding; import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; import java.awt.Dimension; import java.io.File; import java.util.HashMap; import java.util.Map; public final class TreeViewerUtils { private static Map activeViews = new HashMap<>(); public static TreeFrameI addTreeViewFrameToJalview( final TreeFrameI treeFrame) { int width = 400; int height = 550; treeFrame.setMinimumSize(new Dimension(width, height)); // aptxApp.setFont(Desktop.instance.getFont()); // aptxApp.getMainPanel().setFont(Desktop.instance.getFont()); String frameTitle = MessageManager.getString("label.aptx_title"); File treeFile = treeFrame.getTreePanel().getTreeFile(); if (treeFile != null) { frameTitle += MessageManager.formatMessage("label.of_x", new String[] { treeFile.getAbsolutePath() }); } // Usually redundant as this is done when associating nodes as well but that // step could be bypassed activeViews.put(treeFrame, treeFrame.getViewBinding()); treeFrame.addFrameToJalview(frameTitle, true, width, height, true, false); treeFrame.getTreeControls().displayEntireTree(); return treeFrame; } public static TreeViewerBindingI associateNodesWithJalviewSequences( final TreeFrameI treeFrame, final AlignmentViewport jalviewAlignViewport, final Map alignMappedToNodes, final Map nodesMappedToAlign) { TreeViewerBindingI treeBinding = new JalviewBinding(treeFrame, jalviewAlignViewport, alignMappedToNodes, nodesMappedToAlign); jalviewAlignViewport.setCurrentExtTree(treeFrame.getTree()); activeViews.put(treeFrame, treeFrame.getViewBinding()); return treeBinding; } public static Map getActiveTreeViews() { return activeViews; } }