View Javadoc
1 package net.sourceforge.pmd.util.viewer.gui; 2 3 import net.sourceforge.pmd.ast.SimpleNode; 4 import net.sourceforge.pmd.util.viewer.model.ViewerModel; 5 import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent; 6 import net.sourceforge.pmd.util.viewer.model.ViewerModelListener; 7 8 import javax.swing.JList; 9 import javax.swing.JPanel; 10 import javax.swing.JScrollPane; 11 import javax.swing.ListSelectionModel; 12 import javax.swing.event.ListSelectionEvent; 13 import javax.swing.event.ListSelectionListener; 14 import java.awt.BorderLayout; 15 import java.util.Vector; 16 17 18 /*** 19 * A panel showing XPath expression evaluation results 20 * 21 * @author Boris Gruschko ( boris at gruschko.org ) 22 * @version $Id: EvaluationResultsPanel.java,v 1.2 2003/09/23 20:51:06 tomcopeland Exp $ 23 */ 24 public class EvaluationResultsPanel 25 extends JPanel 26 implements ViewerModelListener 27 { 28 private ViewerModel model; 29 private JList list; 30 31 /*** 32 * constructs the panel 33 * 34 * @param model model to refer to 35 */ 36 public EvaluationResultsPanel( ViewerModel model ) 37 { 38 super( new BorderLayout( ) ); 39 40 this.model = model; 41 42 init( ); 43 } 44 45 private void init( ) 46 { 47 model.addViewerModelListener( this ); 48 49 list = new JList( ); 50 list.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); 51 52 list.addListSelectionListener( 53 new ListSelectionListener( ) 54 { 55 public void valueChanged( ListSelectionEvent e ) 56 { 57 if ( list.getSelectedValue( ) != null ) 58 { 59 model.selectNode( 60 (SimpleNode)list.getSelectedValue( ), EvaluationResultsPanel.this ); 61 } 62 } 63 } ); 64 65 add( new JScrollPane( list ), BorderLayout.CENTER ); 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_EVALUATED : 76 77 if ( e.getSource( ) != this ) 78 { 79 list.setListData( new Vector( model.getLastEvaluationResults( ) ) ); 80 } 81 82 break; 83 84 case ViewerModelEvent.CODE_RECOMPILED : 85 list.setListData( new Vector( 0 ) ); 86 87 break; 88 } 89 } 90 } 91 92 93 /* 94 * $Log: EvaluationResultsPanel.java,v $ 95 * Revision 1.2 2003/09/23 20:51:06 tomcopeland 96 * Cleaned up imports 97 * 98 * Revision 1.1 2003/09/23 20:32:42 tomcopeland 99 * Added Boris Gruschko's new AST/XPath viewer 100 * 101 * Revision 1.1 2003/09/24 01:33:03 bgr 102 * moved to a new package 103 * 104 * Revision 1.1 2003/09/24 00:40:35 bgr 105 * evaluation results browsing added 106 * 107 */

This page was automatically generated by Maven