01 package net.sourceforge.pmd.util.viewer.gui.menu;
02
03 import java.text.MessageFormat;
04
05 import javax.swing.JMenu;
06
07 import net.sourceforge.pmd.lang.ast.Node;
08 import net.sourceforge.pmd.util.viewer.model.ViewerModel;
09 import net.sourceforge.pmd.util.viewer.util.NLS;
10
11
12 /**
13 * submenu for the simple node itself
14 *
15 * @author Boris Gruschko ( boris at gruschko.org )
16 * @version $Id: SimpleNodeSubMenu.java 5954 2008-04-04 03:51:12Z rgustav $
17 */
18 public class SimpleNodeSubMenu
19 extends JMenu {
20 private ViewerModel model;
21 private Node node;
22
23 /**
24 * constructs the submenu
25 *
26 * @param model model to which the actions will be forwarded
27 * @param node menu's owner
28 */
29 public SimpleNodeSubMenu(ViewerModel model, Node node) {
30 super(MessageFormat.format(NLS.nls("AST.MENU.NODE.TITLE"), node.toString()));
31 this.model = model;
32 this.node = node;
33 init();
34 }
35
36 private void init() {
37 StringBuffer buf = new StringBuffer(200);
38 for (Node temp = node; temp != null; temp = temp.jjtGetParent()) {
39 buf.insert(0, "/" + temp.toString());
40 }
41 add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ABSOLUTE_PATH"), model, buf.toString()));
42 add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ALLDESCENDANTS"), model,
43 "//" + node.toString()));
44 }
45 }
46
|