/** * Create and popup a command menu for when the user has clicked on the given xml node. * * @param theTree The XmlTree object displaying the current xml document. * @param node The xml node the user clicked on. * @param popup The popup menu to put the menu items in. * @return Did we add any items into the menu */ private boolean makePopupMenu(final XmlTree theTree, final Element node, JPopupMenu popup) { theTree.selectElement(node); String tagName = node.getTagName(); final Element parent = (Element) node.getParentNode(); boolean didone = false; JMenuItem mi; if (tagName.equals("default")) { lastClicked = node; JMenu moveMenu = new JMenu("Move to"); List folders = getFolders(); for (int i = 0; i < folders.size(); i++) { final Element newFolder = (Element) folders.get(i); if (!newFolder.isSameNode(parent)) { String name = newFolder.getAttribute(ATTR_NAME); mi = new JMenuItem(name); mi.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { moveParameterSet(parent, newFolder); } }); moveMenu.add(mi); } } popup.add(moveMenu); popup.addSeparator(); didone = true; } mi = new JMenuItem("Rename..."); mi.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { doRename(node); } }); popup.add(mi); didone = true; mi = new JMenuItem("Delete"); mi.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { doDeleteRequest(node); } }); popup.add(mi); didone = true; return didone; }