JAL-3541 selectively merged build.gradle and gradle.properties
[jalview.git] / srcjar / fr / orsay / lri / varna / applications / fragseq / FragSeqTree.java
diff --git a/srcjar/fr/orsay/lri/varna/applications/fragseq/FragSeqTree.java b/srcjar/fr/orsay/lri/varna/applications/fragseq/FragSeqTree.java
new file mode 100644 (file)
index 0000000..d9bed27
--- /dev/null
@@ -0,0 +1,108 @@
+package fr.orsay.lri.varna.applications.fragseq;
+
+import java.awt.Graphics;
+import java.awt.Rectangle;
+import java.awt.dnd.DragGestureEvent;
+import java.awt.dnd.DragGestureListener;
+import java.awt.dnd.DragGestureRecognizer;
+import java.awt.dnd.DragSource;
+import java.awt.dnd.MouseDragGestureRecognizer;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.util.Enumeration;
+
+import javax.swing.JComponent;
+import javax.swing.JTree;
+import javax.swing.plaf.basic.BasicTreeUI;
+import javax.swing.tree.AbstractLayoutCache;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreePath;
+
+public class FragSeqTree extends JTree implements MouseListener {
+       private Watcher _w;
+       
+       
+       public FragSeqTree(FragSeqTreeModel m)
+       {
+               super(m);
+               _w = new Watcher(m ); 
+               _w.start();
+       }
+       
+       public DefaultMutableTreeNode getSelectedNode()
+       {
+               TreePath t = getSelectionPath();
+               if (t!= null)
+               {
+                       return (DefaultMutableTreeNode) t.getLastPathComponent();
+               }
+               return null;
+       }
+
+       public void mouseClicked(MouseEvent e) {
+               int x = e.getX();
+               int y = e.getY();
+               TreePath tp = this.getPathForLocation(x, y);
+               if (tp!=null)
+               {
+                       DefaultMutableTreeNode n = (DefaultMutableTreeNode) tp.getLastPathComponent();
+                       
+               }
+       }
+       
+       public void switchToPath()
+       {
+               FragSeqTreeModel m = (FragSeqTreeModel) getModel();
+               cancelEditing();
+               m.setRoot(m.getPathViewRoot());
+               
+               Enumeration en = m.getRoot().depthFirstEnumeration();
+               while(en.hasMoreElements())
+               {
+                       FragSeqNode n = (FragSeqNode) en.nextElement();
+                       if(m.isExpanded(n))
+                       {
+                               expandPath(new TreePath(n.getPath()));
+                       }
+               }
+       }
+
+       public void switchToID()
+       {
+               FragSeqTreeModel m = (FragSeqTreeModel) getModel();
+               cancelEditing();
+               m.setRoot(m.getIDViewRoot());
+               Enumeration en = m.getRoot().depthFirstEnumeration();
+               while(en.hasMoreElements())
+               {
+                       FragSeqNode n = (FragSeqNode) en.nextElement();
+                       if(m.isExpanded(n))
+                       {
+                               expandPath(new TreePath(n.getPath()));
+                       }
+               }
+       }
+       
+       public void mousePressed(MouseEvent e) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void mouseReleased(MouseEvent e) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void mouseEntered(MouseEvent e) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void mouseExited(MouseEvent e) {
+               // TODO Auto-generated method stub
+               
+       }
+
+
+
+}