package jalview.ext.archaeopteryx; import jalview.ext.treeviewer.TreeI; import jalview.ext.treeviewer.TreeNodeI; import jalview.ext.treeviewer.TreePanelI; import jalview.gui.PaintRefresher; 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; 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 hashSet) { treeView.setFoundNodes0(hashSet); } @Override public Set getMatchingNodes() { 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(); } }