allows for null Jmol viewer
[jalview.git] / src2 / fr / orsay / lri / varna / applications / fragseq / FragSeqTree.java
1 package fr.orsay.lri.varna.applications.fragseq;
2
3 import java.awt.Graphics;
4 import java.awt.Rectangle;
5 import java.awt.dnd.DragGestureEvent;
6 import java.awt.dnd.DragGestureListener;
7 import java.awt.dnd.DragGestureRecognizer;
8 import java.awt.dnd.DragSource;
9 import java.awt.dnd.MouseDragGestureRecognizer;
10 import java.awt.event.MouseEvent;
11 import java.awt.event.MouseListener;
12 import java.util.Enumeration;
13
14 import javax.swing.JComponent;
15 import javax.swing.JTree;
16 import javax.swing.plaf.basic.BasicTreeUI;
17 import javax.swing.tree.AbstractLayoutCache;
18 import javax.swing.tree.DefaultMutableTreeNode;
19 import javax.swing.tree.TreePath;
20
21 public class FragSeqTree extends JTree implements MouseListener {
22         private Watcher _w;
23         
24         
25         public FragSeqTree(FragSeqTreeModel m)
26         {
27                 super(m);
28                 _w = new Watcher(m ); 
29                 _w.start();
30         }
31         
32         public DefaultMutableTreeNode getSelectedNode()
33         {
34                 TreePath t = getSelectionPath();
35                 if (t!= null)
36                 {
37                         return (DefaultMutableTreeNode) t.getLastPathComponent();
38                 }
39                 return null;
40         }
41
42         public void mouseClicked(MouseEvent e) {
43                 int x = e.getX();
44                 int y = e.getY();
45                 TreePath tp = this.getPathForLocation(x, y);
46                 if (tp!=null)
47                 {
48                         DefaultMutableTreeNode n = (DefaultMutableTreeNode) tp.getLastPathComponent();
49                         
50                 }
51         }
52         
53         public void switchToPath()
54         {
55                 FragSeqTreeModel m = (FragSeqTreeModel) getModel();
56                 cancelEditing();
57                 m.setRoot(m.getPathViewRoot());
58                 
59                 Enumeration en = m.getRoot().depthFirstEnumeration();
60                 while(en.hasMoreElements())
61                 {
62                         FragSeqNode n = (FragSeqNode) en.nextElement();
63                         if(m.isExpanded(n))
64                         {
65                                 expandPath(new TreePath(n.getPath()));
66                         }
67                 }
68         }
69
70         public void switchToID()
71         {
72                 FragSeqTreeModel m = (FragSeqTreeModel) getModel();
73                 cancelEditing();
74                 m.setRoot(m.getIDViewRoot());
75                 Enumeration en = m.getRoot().depthFirstEnumeration();
76                 while(en.hasMoreElements())
77                 {
78                         FragSeqNode n = (FragSeqNode) en.nextElement();
79                         if(m.isExpanded(n))
80                         {
81                                 expandPath(new TreePath(n.getPath()));
82                         }
83                 }
84         }
85         
86         public void mousePressed(MouseEvent e) {
87                 // TODO Auto-generated method stub
88                 
89         }
90
91         public void mouseReleased(MouseEvent e) {
92                 // TODO Auto-generated method stub
93                 
94         }
95
96         public void mouseEntered(MouseEvent e) {
97                 // TODO Auto-generated method stub
98                 
99         }
100
101         public void mouseExited(MouseEvent e) {
102                 // TODO Auto-generated method stub
103                 
104         }
105
106
107
108 }