Author: sebb
Date: Fri Sep 16 23:52:37 2011
New Revision: 1171861

URL: http://svn.apache.org/viewvc?rev=1171861&view=rev
Log:
Bug 42246 - Need for a 'auto-scroll' option in "View Results Tree" and 
"Assertion Results"

Modified:
    
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
    
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java?rev=1171861&r1=1171860&r2=1171861&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
 (original)
+++ 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
 Fri Sep 16 23:52:37 2011
@@ -56,6 +56,7 @@ public class AssertionVisualizer extends
         sb.append("\n"); // $NON-NLS-1$
         synchronized (textArea) {
             textArea.append(sb.toString());
+            textArea.setCaretPosition(textArea.getText().length());
         }
     }
 

Modified: 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java?rev=1171861&r1=1171860&r2=1171861&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
 (original)
+++ 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
 Fri Sep 16 23:52:37 2011
@@ -28,6 +28,8 @@ import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
@@ -35,6 +37,7 @@ import java.util.List;
 import javax.swing.ComboBoxModel;
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
@@ -62,7 +65,7 @@ import org.apache.log.Logger;
  *
  */
 public class ViewResultsFullVisualizer extends AbstractVisualizer
-implements ActionListener, TreeSelectionListener, Clearable {
+implements ActionListener, TreeSelectionListener, Clearable, ItemListener {
 
     private static final long serialVersionUID = 7338676747296593842L;
 
@@ -108,6 +111,8 @@ implements ActionListener, TreeSelection
 
     private TreeSelectionEvent lastSelectionEvent;
 
+    private JCheckBox autoScrollCB;
+
     /**
      * Constructor
      */
@@ -144,6 +149,9 @@ implements ActionListener, TreeSelection
         if (root.getChildCount() == 1) {
             jTree.expandPath(new TreePath(root));
         }
+        if (autoScrollCB.isSelected() && root.getChildCount() > 1) {
+            jTree.scrollRowToVisible(root.getChildCount() - 1);
+        }
     }
 
     private void addSubResults(DefaultMutableTreeNode currNode, SampleResult 
res) {
@@ -252,18 +260,36 @@ implements ActionListener, TreeSelection
         jTree.addTreeSelectionListener(this);
         jTree.setRootVisible(false);
         jTree.setShowsRootHandles(true);
-
         JScrollPane treePane = new JScrollPane(jTree);
         treePane.setPreferredSize(new Dimension(200, 300));
 
         VerticalPanel leftPane = new VerticalPanel();
         leftPane.add(treePane, BorderLayout.CENTER);
-        leftPane.add(createComboRender(), BorderLayout.SOUTH);
-
+        VerticalPanel leftDownPane = new VerticalPanel();
+        leftDownPane.add(createComboRender(), BorderLayout.NORTH);
+        autoScrollCB = createASCheckBox("view_results_autoscroll", 
Color.BLACK);
+        leftDownPane.add(autoScrollCB, BorderLayout.SOUTH);
+        leftPane.add(leftDownPane, BorderLayout.SOUTH);
         return leftPane;
     }
 
     /**
+     * Create auto scroll checkbox
+     * 
+     * @param labelResourceName
+     * @param color
+     * @return {@link JCheckBox}
+     */
+    private JCheckBox createASCheckBox(String labelResourceName, Color color) {
+        JCheckBox checkBox = new JCheckBox(
+                JMeterUtils.getResString(labelResourceName));
+        checkBox.setSelected(false);
+        checkBox.addItemListener(this);
+        checkBox.setForeground(color);
+        return checkBox;
+    }
+
+    /**
      * Create the drop-down list to changer render
      * @return List of all render (implement ResultsRender)
      */
@@ -352,7 +378,6 @@ implements ActionListener, TreeSelection
     }
 
     private static class ResultsNodeRenderer extends DefaultTreeCellRenderer {
-
         private static final long serialVersionUID = 4159626601097711565L;
 
         @Override
@@ -379,4 +404,10 @@ implements ActionListener, TreeSelection
         }
     }
 
+    /**
+     * Handler for Checkbox
+     */
+    public void itemStateChanged(ItemEvent e) {
+        // NOOP state is held by component
+    }
 }

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1171861&r1=1171860&r2=1171861&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties 
(original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties 
Fri Sep 16 23:52:37 2011
@@ -971,6 +971,7 @@ view_graph_tree_title=View Graph Tree
 view_results_assertion_error=Assertion error: 
 view_results_assertion_failure=Assertion failure: 
 view_results_assertion_failure_message=Assertion failure message: 
+view_results_autoscroll=Scroll automatically?
 view_results_desc=Shows the text results of sampling in tree form
 view_results_error_count=Error Count: 
 view_results_fields=fields:

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1171861&r1=1171860&r2=1171861&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Sep 16 23:52:37 2011
@@ -138,6 +138,7 @@ This can be overridden by setting the JM
 
 <h3>Listeners</h3>
 <ul>
+<li>Bug 42246 - Need for a 'auto-scroll' option in "View Results Tree" and 
"Assertion Results"</li>
 </ul>
 
 <h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to