1 package net.sourceforge.pmd.util.viewer.gui;
2
3 import net.sourceforge.pmd.util.viewer.model.ViewerModel;
4 import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
5 import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
6 import net.sourceforge.pmd.util.viewer.util.NLS;
7
8 import javax.swing.BorderFactory;
9 import javax.swing.JScrollPane;
10 import javax.swing.JTabbedPane;
11 import javax.swing.JTextArea;
12 import java.awt.Dimension;
13
14
15 /***
16 * Panel for the XPath entry and editing
17 *
18 * @author Boris Gruschko ( boris at gruschko.org )
19 * @version $Id: XPathPanel.java,v 1.2 2003/09/23 20:51:06 tomcopeland Exp $
20 */
21 public class XPathPanel
22 extends JTabbedPane
23 implements ViewerModelListener
24 {
25 private ViewerModel model;
26 private JTextArea xPathArea;
27
28 /***
29 * Constructs the panel
30 *
31 * @param model model to refer to
32 */
33 public XPathPanel( ViewerModel model )
34 {
35 super( JTabbedPane.BOTTOM );
36
37 this.model = model;
38
39 init( );
40 }
41
42 private void init( )
43 {
44 model.addViewerModelListener( this );
45
46 xPathArea = new JTextArea( );
47
48 setBorder(
49 BorderFactory.createTitledBorder(
50 BorderFactory.createEtchedBorder( ), NLS.nls( "XPATH.PANEL.TITLE" ) ) );
51
52 add( new JScrollPane( xPathArea ), NLS.nls( "XPATH.PANEL.EXPRESSION" ) );
53 add( new EvaluationResultsPanel( model ), NLS.nls( "XPATH.PANEL.RESULTS" ) );
54
55 setPreferredSize( new Dimension( -1, 200 ) );
56 }
57
58 /***
59 * retrieves the XPath expression typed into the text area
60 *
61 * @return XPath expression
62 */
63 public String getXPathExpression( )
64 {
65 return xPathArea.getText( );
66 }
67
68 /***
69 * @see org.gruschko.pmd.viewer.model.ViewerModelListener#viewerModelChanged(org.gruschko.pmd.viewer.model.ViewerModelEvent)
70 */
71 public void viewerModelChanged( ViewerModelEvent e )
72 {
73 switch ( e.getReason( ) )
74 {
75 case ViewerModelEvent.PATH_EXPRESSION_APPENDED :
76
77 if ( e.getSource( ) != this )
78 {
79 xPathArea.append( (String)e.getParameter( ) );
80 }
81
82 setSelectedIndex( 0 );
83
84 break;
85
86 case ViewerModelEvent.CODE_RECOMPILED :
87 setSelectedIndex( 0 );
88
89 break;
90 }
91 }
92 }
93
94
95 /*
96 * $Log: XPathPanel.java,v $
97 * Revision 1.2 2003/09/23 20:51:06 tomcopeland
98 * Cleaned up imports
99 *
100 * Revision 1.1 2003/09/23 20:32:42 tomcopeland
101 * Added Boris Gruschko's new AST/XPath viewer
102 *
103 * Revision 1.1 2003/09/24 01:33:03 bgr
104 * moved to a new package
105 *
106 * Revision 1.3 2003/09/24 00:40:35 bgr
107 * evaluation results browsing added
108 *
109 * Revision 1.2 2003/09/23 07:52:16 bgr
110 * menus added
111 *
112 * Revision 1.1 2003/09/22 05:21:54 bgr
113 * initial commit
114 *
115 */
This page was automatically generated by Maven