JAL-2852 EPS saving code ported from TreePanel to Aptx.
[jalview.git] / src / jalview / ext / archaeopteryx / AptxTreePanel.java
1 package jalview.ext.archaeopteryx;
2
3 import jalview.ext.treeviewer.ExternalTreeI;
4 import jalview.ext.treeviewer.ExternalTreeNodeI;
5 import jalview.ext.treeviewer.ExternalTreePanel;
6 import jalview.gui.PaintRefresher;
7
8 import java.awt.Event;
9 import java.awt.Font;
10 import java.awt.Graphics2D;
11 import java.awt.MenuComponent;
12 import java.awt.event.MouseListener;
13 import java.io.File;
14 import java.util.Set;
15
16 import javax.accessibility.AccessibleContext;
17
18 public class AptxTreePanel implements ExternalTreePanel
19 {
20   private final org.forester.archaeopteryx.TreePanel treeView;
21
22   private final Tree tree;
23
24   private String sequenceSetId;
25
26   protected AptxTreePanel(
27           org.forester.archaeopteryx.TreePanel aptxTreePanel)
28   {
29     treeView = aptxTreePanel;
30     tree = new Tree(treeView.getPhylogeny());
31   }
32
33   @Override
34   public void setTreeFile(File file)
35   {
36     treeView.setTreeFile(file);
37   }
38
39   @Override
40   public ExternalTreeI getTree()
41   {
42     return tree;
43   }
44
45   @Override
46   public File getTreeFile()
47   {
48     return treeView.getTreeFile();
49   }
50
51   @Override
52   public ExternalTreeNodeI findNode(int x, int y)
53   {
54     return TreeNode.getUniqueWrapper(treeView.findNode(x, y));
55   }
56
57   @Override
58   public void setMatchingNodes(Set<Long> hashSet)
59   {
60     treeView.setFoundNodes0(hashSet);
61
62   }
63
64   @Override
65   public Set<Long> getMatchingNodes()
66   {
67     return treeView.getFoundNodes0();
68   }
69
70   @Override
71   public AccessibleContext getAccessibleContext()
72   {
73     return treeView.getAccessibleContext();
74   }
75
76   @Override
77   public Font getFont()
78   {
79     return treeView.getFont();
80   }
81
82   @Override
83   public void remove(MenuComponent comp)
84   {
85     treeView.remove(comp);
86
87   }
88
89   @Deprecated
90   @Override
91   public boolean postEvent(Event evt)
92   {
93     return treeView.postEvent(evt);
94   }
95
96   @Override
97   public void addMouseListener(MouseListener listener)
98   {
99     treeView.addMouseListener(listener);
100   }
101
102   @Override
103   public void removeMouseListener(MouseListener listener)
104   {
105     treeView.removeMouseListener(listener);
106
107   }
108
109   @Override
110   public MouseListener[] getMouseListeners()
111   {
112     return treeView.getMouseListeners();
113   }
114
115   @Override
116   public void repaint()
117   {
118     treeView.repaint();
119
120   }
121
122   @Override
123   public void registerWithPaintRefresher(String sequenceSetIdentifier)
124   {
125     sequenceSetId = sequenceSetIdentifier;
126     PaintRefresher.Register(treeView, sequenceSetIdentifier);
127
128   }
129
130   @Override
131   public void notifyPaintRefresher(String sequenceSetIdentifier,
132           boolean alignmentChanged, boolean validateSequences)
133   {
134     PaintRefresher.Refresh(treeView, sequenceSetIdentifier,
135             alignmentChanged, validateSequences);
136
137   }
138
139   @Override
140   public void notifyPaintRefresher(boolean alignmentChanged,
141           boolean validateSequences)
142   {
143     if (sequenceSetId != null)
144     {
145     PaintRefresher.Refresh(treeView, sequenceSetId, alignmentChanged,
146               validateSequences);
147     }
148     else
149     {
150       // throw some kind of exception
151     }
152
153   }
154
155   @Override
156   public int getWidth()
157   {
158     return treeView.getWidth();
159   }
160
161   @Override
162   public int getHeight()
163   {
164     return treeView.getHeight();
165   }
166
167   @Override
168   public void paintToFile(Graphics2D pg, int width, int height)
169   {
170     treeView.paintFile(pg, false, width, height, 0, 0);
171
172   }
173 }