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.7 2005/08/23 17:17:49 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 32 this.model = model; 33 this.node = node; 34 35 init(); 36 } 37 38 private void init() { 39 StringBuffer buf = new StringBuffer(200); 40 41 for (Node temp = node; temp != null; temp = temp.jjtGetParent()) { 42 buf.insert(0, "/" + temp.toString()); 43 } 44 45 add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ABSOLUTE_PATH"), model, buf.toString())); 46 47 add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ALLDESCENDANTS"), model, 48 "//" + node.toString())); 49 } 50 } 51 52