1 package net.sourceforge.pmd.util.viewer.gui.menu; 2 3 import net.sourceforge.pmd.ast.Node; 4 import net.sourceforge.pmd.ast.SimpleNode; 5 import net.sourceforge.pmd.util.viewer.model.ViewerModel; 6 import net.sourceforge.pmd.util.viewer.util.NLS; 7 8 import javax.swing.*; 9 import java.text.MessageFormat; 10 11 12 /*** 13 * submenu for the simple node itself 14 * 15 * @author Boris Gruschko ( boris at gruschko.org ) 16 * @version $Id: SimpleNodeSubMenu.java,v 1.9 2006/02/10 14:15:31 tomcopeland Exp $ 17 */ 18 public class SimpleNodeSubMenu 19 extends JMenu { 20 private ViewerModel model; 21 private SimpleNode 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, SimpleNode node) { 30 super(MessageFormat.format(NLS.nls("AST.MENU.NODE.TITLE"), new Object[]{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 47