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());
}
}