diff --git a/src/ui/tree/JDiagramTree.java b/src/ui/tree/JDiagramTree.java index 401af00ac5e6240d014bee1af786c6450a42ed2a..9c2df1a2721f1b2ebc104767b6e13f73fa355556 100755 --- a/src/ui/tree/JDiagramTree.java +++ b/src/ui/tree/JDiagramTree.java @@ -107,11 +107,13 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr } public void mousePressed(MouseEvent e) { - + if(SwingUtilities.isRightMouseButton(e)){ + if (e.isPopupTrigger()) myPopupEvent(e); + } } public void mouseReleased(MouseEvent e) { - + if (e.isPopupTrigger()) myPopupEvent(e); } public void mouseEntered(MouseEvent e) { @@ -127,6 +129,28 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr } + + private void myPopupEvent(MouseEvent e) { + int x = e.getX(); + int y = e.getY(); + JTree tree = (JTree)e.getSource(); + TreePath path = tree.getPathForLocation(x, y); + if (path == null) + return; + + tree.setSelectionPath(path); + + Object obj = path.getLastPathComponent(); + + //String label = "popup: " + obj.getTreeLabel(); + TraceManager.addDev("Adding popup menu to " + obj.getClass() + "/" + obj); + JPopupMenu popup = new JPopupMenu(); + if (obj instanceof RG) { + popup.add(new JMenuItem("toto")); + popup.show(tree, x, y); + } + } + public synchronized void run(){ checkPaths(); Iterator l_keys = m_expandedTreePaths.iterator(); @@ -281,10 +305,10 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr mgui.selectTab(ce.getTMLTask().getName()); } } else if (nodeInfo instanceof RG) { - RG rg = (RG)nodeInfo; + /*RG rg = (RG)nodeInfo; if (rg.data != null) { mgui.showAUT("Last RG", rg.data); - } + }*/ } }