JAL-1953 2.11.2 with Archeopteryx!
[jalview.git] / src / jalview / ext / archaeopteryx / AptxTreePanel.java
index 631ff15..05c5cab 100644 (file)
 package jalview.ext.archaeopteryx;
 
-import jalview.ext.treeviewer.ExternalTreePanelI;
+import jalview.ext.treeviewer.TreeI;
+import jalview.ext.treeviewer.TreeNodeI;
+import jalview.ext.treeviewer.TreePanelI;
+import jalview.gui.PaintRefresher;
 
-public class AptxTreePanel implements ExternalTreePanelI
+import java.awt.Dimension;
+import java.awt.Event;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.MenuComponent;
+import java.awt.Rectangle;
+import java.awt.event.MouseListener;
+import java.io.File;
+import java.util.Set;
+
+import javax.accessibility.AccessibleContext;
+
+public class AptxTreePanel implements TreePanelI
 {
   private final org.forester.archaeopteryx.TreePanel treeView;
 
-  public AptxTreePanel(org.forester.archaeopteryx.TreePanel aptxTreePanel)
+  private final TreeI tree;
+
+  private String sequenceSetId;
+
+  protected AptxTreePanel(
+          org.forester.archaeopteryx.TreePanel aptxTreePanel)
   {
     treeView = aptxTreePanel;
+    tree = new Tree(treeView.getPhylogeny());
+  }
+
+  protected AptxTreePanel(
+          org.forester.archaeopteryx.TreePanel aptxTreePanel,
+          TreeI aptxTree)
+  {
+    treeView = aptxTreePanel;
+    tree = aptxTree;
+
+  }
+
+  @Override
+  public void setTreeFile(File file)
+  {
+    treeView.setTreeFile(file);
+  }
+
+  @Override
+  public TreeI getTree()
+  {
+    return tree;
+  }
+
+  @Override
+  public File getTreeFile()
+  {
+    return treeView.getTreeFile();
+  }
+
+  @Override
+  public TreeNodeI findNode(int x, int y)
+  {
+    return TreeNode.getUniqueWrapper(treeView.findNode(x, y));
+  }
+
+  @Override
+  public void setMatchingNodes(Set<Long> hashSet)
+  {
+    treeView.setFoundNodes0(hashSet);
+
+  }
+
+  @Override
+  public Set<Long> getMatchingNodesIds()
+  {
+    return treeView.getFoundNodes0();
+  }
+
+  @Override
+  public AccessibleContext getAccessibleContext()
+  {
+    return treeView.getAccessibleContext();
+  }
+
+  @Override
+  public Font getFont()
+  {
+    return treeView.getFont();
+  }
+
+  @Override
+  public void remove(MenuComponent comp)
+  {
+    treeView.remove(comp);
+
+  }
+
+  @Deprecated
+  @Override
+  public boolean postEvent(Event evt)
+  {
+    return treeView.postEvent(evt);
+  }
+
+  @Override
+  public void addMouseListener(MouseListener listener)
+  {
+    treeView.addMouseListener(listener);
+  }
+
+  @Override
+  public void removeMouseListener(MouseListener listener)
+  {
+    treeView.removeMouseListener(listener);
+
+  }
+
+  @Override
+  public MouseListener[] getMouseListeners()
+  {
+    return treeView.getMouseListeners();
+  }
+
+  @Override
+  public void repaint()
+  {
+    treeView.repaint();
+
+  }
+
+  @Override
+  public void registerWithPaintRefresher(String sequenceSetIdentifier)
+  {
+    sequenceSetId = sequenceSetIdentifier;
+    PaintRefresher.Register(treeView, sequenceSetIdentifier);
+
+  }
+
+  @Override
+  public void notifyPaintRefresher(String sequenceSetIdentifier,
+          boolean alignmentChanged, boolean validateSequences)
+  {
+    PaintRefresher.Refresh(treeView, sequenceSetIdentifier,
+            alignmentChanged, validateSequences);
+
+  }
+
+  @Override
+  public void notifyPaintRefresher(boolean alignmentChanged,
+          boolean validateSequences)
+  {
+    if (sequenceSetId != null)
+    {
+    PaintRefresher.Refresh(treeView, sequenceSetId, alignmentChanged,
+              validateSequences);
+    }
+    else
+    {
+      // throw some kind of exception
+    }
+
+  }
+
+  @Override
+  public int getWidth()
+  {
+    return treeView.getWidth();
+  }
+
+  @Override
+  public int getHeight()
+  {
+    return treeView.getHeight();
+  }
+
+  @Override
+  public void paintToFile(Graphics2D pg, int width, int height)
+  {
+    treeView.paintFile(pg, false, width, height, 0, 0);
+
+  }
+
+  @Override
+  public boolean showingSubTree()
+  {
+    return treeView.isCurrentTreeIsSubtree();
+  }
+
+  @Override
+  public Rectangle getVisibleArea()
+  {
+    return treeView.getVisibleRect();
+  }
+
+  @Override
+  public float getPartitionThreshold()
+  {
+    return treeView.getThreshold();
+  }
+
+  @Override
+  public void setMinimumSize(Dimension minimumSize)
+  {
+    treeView.setMinimumSize(minimumSize);
+
+  }
+
+  @Override
+  public void setMaximumSize(Dimension maximumSize)
+  {
+    treeView.setMaximumSize(maximumSize);
+
+  }
+
+  @Override
+  public void setPreferredSize(Dimension preferredSize)
+  {
+    treeView.setPreferredSize(preferredSize);
+
+  }
+
+  @Override
+  public void addToMatchingNodes(TreeNodeI matchedNode)
+  {
+    treeView.getFoundNodes0().add(matchedNode.getId());
 
   }
 }