X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Ftreeviewer%2FTreeViewerUtils.java;h=7e1a4e90b5f53c92fba923a22a218d282e825d53;hb=2605483ebb517c8b31e821f192c95557145f9c2d;hp=ed22dfac6c9420a4046538040095415030d0342f;hpb=906147c935f2a9d079f02f2ffc14a4f4ea7c0f5d;p=jalview.git diff --git a/src/jalview/ext/treeviewer/TreeViewerUtils.java b/src/jalview/ext/treeviewer/TreeViewerUtils.java index ed22dfa..7e1a4e9 100644 --- a/src/jalview/ext/treeviewer/TreeViewerUtils.java +++ b/src/jalview/ext/treeviewer/TreeViewerUtils.java @@ -1,7 +1,6 @@ package jalview.ext.treeviewer; import jalview.datamodel.SequenceI; -import jalview.ext.archaeopteryx.JalviewBinding; import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; @@ -10,30 +9,32 @@ import java.io.File; import java.util.HashMap; import java.util.Map; +/** + * Static class containing generic methods for communicating between the tree + * viewer frame and Jalview, currently includes adding the frame to the Jalview + * Desktop and triggering an association between an {@link AlignmentViewport} + * and {@link TreeFrameI}. + * + * @author kjvanderheide + * + */ public final class TreeViewerUtils { + /** + * All tree viewers should be added to this map so that Jalview saves them to + * its project. + */ private static Map activeViews = new HashMap<>(); - 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; - } - + /** + * Adds the given tree frame to the Jalview {@link Desktop}. + * + * @param treeFrame + * @return the same tree frame but now as part of Jalview. + */ public static TreeFrameI addTreeViewFrameToJalview( - final TreeFrameI treeFrame) + final TreeFrameI treeFrame, int width, int height) { - int width = 400; - int height = 550; treeFrame.setMinimumSize(new Dimension(width, height)); // aptxApp.setFont(Desktop.instance.getFont()); // aptxApp.getMainPanel().setFont(Desktop.instance.getFont()); @@ -51,10 +52,36 @@ public final class TreeViewerUtils treeFrame.addFrameToJalview(frameTitle, true, width, height, true, false); + treeFrame.getTreeControls().displayEntireTree(); return treeFrame; } + /** + * Convience method for building the association between Jalview's alignment + * and the tree frame. + * + * @param treeFrame + * @param jalviewAlignViewport + * @param alignMappedToNodes + * @param nodesMappedToAlign + * @return + */ + 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;