1 package net.sourceforge.pmd.util.viewer.gui.menu;
2
3 import net.sourceforge.pmd.ast.SimpleNode;
4 import net.sourceforge.pmd.jaxen.Attribute;
5 import net.sourceforge.pmd.jaxen.AttributeAxisIterator;
6 import net.sourceforge.pmd.util.viewer.model.AttributeToolkit;
7 import net.sourceforge.pmd.util.viewer.model.ViewerModel;
8 import net.sourceforge.pmd.util.viewer.util.NLS;
9
10 import javax.swing.*;
11 import java.text.MessageFormat;
12
13
14 /***
15 * contains menu items for the predicate creation
16 *
17 * @author Boris Gruschko ( boris at gruschko.org )
18 * @version $Id: AttributesSubMenu.java,v 1.8 2005/08/23 17:17:49 tomcopeland Exp $
19 */
20 public class AttributesSubMenu
21 extends JMenu {
22 private ViewerModel model;
23 private SimpleNode node;
24
25 public AttributesSubMenu(ViewerModel model, SimpleNode node) {
26 super(MessageFormat.format(NLS.nls("AST.MENU.ATTRIBUTES"), new Object[]{node.toString()}));
27
28 this.model = model;
29 this.node = node;
30
31 init();
32 }
33
34 private void init() {
35 AttributeAxisIterator i = new AttributeAxisIterator(node);
36
37 while (i.hasNext()) {
38 Attribute attribute = (Attribute) i.next();
39
40 add(new XPathFragmentAddingItem(attribute.getName() + " = " + attribute.getValue(), model,
41 AttributeToolkit.constructPredicate(attribute)));
42 }
43 }
44 }