JAL-2826 added action performed for hiding collapsed sequences
[jalview.git] / src / jalview / ext / archaeopteryx / AptxFrame.java
index c517ed3..e321c90 100644 (file)
@@ -1,10 +1,12 @@
 package jalview.ext.archaeopteryx;
 
 import jalview.bin.Cache;
-import jalview.ext.treeviewer.ExternalTreeControlsI;
-import jalview.ext.treeviewer.ExternalTreeFrame;
-import jalview.ext.treeviewer.ExternalTreeI;
-import jalview.ext.treeviewer.ExternalTreePanel;
+import jalview.ext.treeviewer.TreeControlsI;
+import jalview.ext.treeviewer.TreeFrameI;
+import jalview.ext.treeviewer.TreeI;
+import jalview.ext.treeviewer.TreePanelI;
+import jalview.ext.treeviewer.TreeViewerBindingI;
+import jalview.ext.treeviewer.TreeViewerUtils;
 import jalview.gui.Desktop;
 import jalview.gui.EPSOptions;
 import jalview.io.JalviewFileChooser;
@@ -38,13 +40,15 @@ import org.forester.archaeopteryx.MainFrame;
 import org.forester.phylogeny.Phylogeny;
 import org.jibble.epsgraphics.EpsGraphics2D;
 
-public class AptxFrame implements ExternalTreeFrame
+public class AptxFrame implements TreeFrameI
 {
   private final MainFrame aptxFrame;
 
-  private ExternalTreePanel aptxPanel;
+  private TreeViewerBindingI viewBinding;
 
-  private ExternalTreeControlsI aptxControls;
+  private TreePanelI aptxPanel;
+
+  private TreeControlsI aptxControls;
 
 
   public AptxFrame(Phylogeny tree, Configuration aptxConfig,
@@ -141,28 +145,59 @@ public class AptxFrame implements ExternalTreeFrame
       else if (menu.getText().contains("View"))
       {
         menu.addSeparator();
+
         JMenuItem sortByTree = new JMenuItem("Sort alignment by tree");
         JMenuItem refreshJalview = new JMenuItem(
                 "Filter alignment to show only currently visible sequences");
+        JMenuItem hideCollapsed = new JMenuItem(
+                "Hide sequences of collapsed nodes");
 
         refreshJalview.setFont(menu.getFont());
+        refreshJalview.addActionListener(new ActionListener() {
+          
+          @Override
+          public void actionPerformed(ActionEvent e) {
+            TreeViewerBindingI bindingManager = TreeViewerUtils
+                    .getActiveTreeViews().get(AptxFrame.this);
+            bindingManager.actionPerformed(e);
+          }
+        });
+                
+        sortByTree.addActionListener(new ActionListener()
+        {
 
-        menu.add(sortByTree);
-        menu.add(refreshJalview);
+          @Override
+          public void actionPerformed(ActionEvent e)
+          {
+            TreeViewerBindingI bindingManager = TreeViewerUtils
+                    .getActiveTreeViews().get(AptxFrame.this);
+            bindingManager.sortByTree_actionPerformed();
 
-        sortByTree.setFont(menu.getFont());
-        refreshJalview.addActionListener(new ActionListener()
+          }
+
+        });
+
+        hideCollapsed.addActionListener(new ActionListener()
         {
 
           @Override
           public void actionPerformed(ActionEvent e)
           {
-            // TODO Auto-generated method stub
-
+            TreeViewerBindingI bindingManager = TreeViewerUtils
+                    .getActiveTreeViews().get(AptxFrame.this);
+            bindingManager.hideCollapsedSequences_actionPerformed();
+            
           }
 
         });
 
+        menu.add(sortByTree);
+        menu.add(refreshJalview);
+        menu.add(hideCollapsed);
+
+        sortByTree.setFont(menu.getFont());
+
+
 
       }
 
@@ -237,19 +272,19 @@ public class AptxFrame implements ExternalTreeFrame
     }
   }
   @Override
-  public ExternalTreePanel getTreePanel()
+  public TreePanelI getTreePanel()
   {
     return aptxPanel;
   }
 
   @Override
-  public ExternalTreeI getTree()
+  public TreeI getTree()
   {
     return aptxPanel.getTree();
   }
 
   @Override
-  public void checkMultipleTrees()
+  public void enableMultipleTrees()
   {
     aptxFrame.activateSaveAllIfNeeded();
 
@@ -262,7 +297,7 @@ public class AptxFrame implements ExternalTreeFrame
   }
 
   @Override
-  public ExternalTreeControlsI getTreeControls()
+  public TreeControlsI getTreeControls()
   {
     return aptxControls;
   }
@@ -401,4 +436,31 @@ public class AptxFrame implements ExternalTreeFrame
 
   }
 
+  @Override
+  public TreeViewerBindingI getViewBinding()
+  {
+    return viewBinding;
+  }
+
+  @Override
+  public void setViewBinding(TreeViewerBindingI alignmentBinding)
+  {
+    viewBinding = alignmentBinding;
+  }
+
+
+  @Override
+  public void setMaximumSize(Dimension maximumSize)
+  {
+    aptxFrame.setMaximumSize(maximumSize);
+
+  }
+
+  @Override
+  public void setPreferredSize(Dimension preferredSize)
+  {
+    aptxFrame.setPreferredSize(preferredSize);
+
+  }
+
 }
\ No newline at end of file