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.4 2004/04/15 18:21:58 tomcopeland Exp $
19 */
20 public class AttributesSubMenu
21 extends JMenu
22 {
23 private ViewerModel model;
24 private SimpleNode node;
25
26 public AttributesSubMenu( ViewerModel model, SimpleNode node )
27 {
28 super(
29 MessageFormat.format(
30 NLS.nls( "AST.MENU.ATTRIBUTES" ), new Object[] { node.toString( ) } ) );
31
32 this.model = model;
33 this.node = node;
34
35 init( );
36 }
37
38 private void init( )
39 {
40 AttributeAxisIterator i = new AttributeAxisIterator( node );
41
42 while (i.hasNext())
43 {
44 Attribute attribute = (Attribute)i.next( );
45
46 add(
47 new XPathFragmentAddingItem(
48 attribute.getName( ) + " = " + attribute.getValue( ), model,
49 AttributeToolkit.constructPredicate( attribute ) ) );
50 }
51 }
52 }
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75