1 package net.sourceforge.pmd.util.viewer.gui; 2 3 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 import net.sourceforge.pmd.util.viewer.util.NLS; 8 9 import javax.swing.*; 10 import java.awt.Dimension ; 11 12 13 19 20 public class XPathPanel extends JTabbedPane implements ViewerModelListener { 21 private ViewerModel model; 22 private JTextArea xPathArea; 23 24 29 public XPathPanel(ViewerModel model) { 30 super(JTabbedPane.BOTTOM); 31 this.model = model; 32 init(); 33 } 34 35 private void init() { 36 model.addViewerModelListener(this); 37 xPathArea = new JTextArea(); 38 setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), NLS.nls("XPATH.PANEL.TITLE"))); 39 add(new JScrollPane(xPathArea), NLS.nls("XPATH.PANEL.EXPRESSION")); 40 add(new EvaluationResultsPanel(model), NLS.nls("XPATH.PANEL.RESULTS")); 41 setPreferredSize(new Dimension (-1, 200)); 42 } 43 44 public String getXPathExpression() { 45 return xPathArea.getText(); 46 } 47 48 51 public void viewerModelChanged(ViewerModelEvent e) { 52 switch (e.getReason()) { 53 case ViewerModelEvent.PATH_EXPRESSION_APPENDED: 54 if (e.getSource() != this) { 55 xPathArea.append((String ) e.getParameter()); 56 } 57 setSelectedIndex(0); 58 break; 59 case ViewerModelEvent.CODE_RECOMPILED: 60 setSelectedIndex(0); 61 break; 62 } 63 } 64 } | Popular Tags |