mstover1    2005/04/08 08:05:11

  Modified:    src/core/org/apache/jmeter/gui/tree JMeterTreeListener.java
               src/core/org/apache/jmeter/gui GuiPackage.java
  Log:
  Fixing issue where switching selected elements in tree solely by 
right-clicking causes overwriting of component data.  Thorny issue, this fix 
needs much testing.
  
  Revision  Changes    Path
  1.16      +4 -3      
jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java
  
  Index: JMeterTreeListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- JMeterTreeListener.java   20 Feb 2004 02:20:47 -0000      1.15
  +++ JMeterTreeListener.java   8 Apr 2005 15:05:11 -0000       1.16
  @@ -177,6 +177,7 @@
   
       public void valueChanged(TreeSelectionEvent e)
       {
  +        log.debug("value changed, updating currentPath");
           currentPath = e.getNewLeadSelectionPath();
           actionHandler.actionPerformed(new ActionEvent(this, 3333, "edit"));
       }
  @@ -280,12 +281,12 @@
       {
           // Get the Main Frame.
           MainFrame mainFrame = GuiPackage.getInstance().getMainFrame();
  -
           // Close any Main Menu that is open
           mainFrame.closeMenu();
           int selRow = tree.getRowForLocation(e.getX(), e.getY());
           if (tree.getPathForLocation(e.getX(), e.getY()) != null)
           {
  +            log.debug("mouse pressed, updating currentPath");
               currentPath = tree.getPathForLocation(e.getX(), e.getY());
           }
           if (selRow != -1)
  
  
  
  1.35      +13 -3     
jakarta-jmeter/src/core/org/apache/jmeter/gui/GuiPackage.java
  
  Index: GuiPackage.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/GuiPackage.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- GuiPackage.java   30 Oct 2004 00:27:44 -0000      1.34
  +++ GuiPackage.java   8 Apr 2005 15:05:11 -0000       1.35
  @@ -90,6 +90,7 @@
   
       /** The currently selected node in the tree. */
       private JMeterTreeNode currentNode = null;
  +    private boolean currentNodeUpdated = false;
       
       /** The model for JMeter's test tree. */
       private JMeterTreeModel treeModel;
  @@ -242,6 +243,7 @@
       {
           try
           {
  +            updateCurrentNode();
               TestElement currentNode =
                   treeListener.getCurrentNode().getTestElement();
               JMeterGUIComponent comp = getGui(currentNode);
  @@ -249,7 +251,9 @@
               {
                   comp.clear();
               }
  +            log.debug("Updating gui to new node");
               comp.configure(currentNode);
  +            currentNodeUpdated = false;
               return comp;
           }
           catch (Exception e)
  @@ -402,10 +406,12 @@
        */
       public void updateCurrentGui()
       {
  +        updateCurrentNode();
           currentNode= treeListener.getCurrentNode();
                TestElement element = currentNode.getTestElement();
                JMeterGUIComponent comp = getGui(element);
                comp.configure(element);
  +        currentNodeUpdated = false;
       }
   
       /**
  @@ -417,7 +423,7 @@
       {
           try
           {
  -            if (currentNode != null)
  +            if (currentNode != null && !currentNodeUpdated)
               {
                   log.debug(
                       "Updating current node " + currentNode.getName());
  @@ -426,6 +432,10 @@
                   TestElement el = currentNode.getTestElement();
                   comp.modifyTestElement(el);
               }
  +            if(currentNode != treeListener.getCurrentNode())
  +            {
  +                currentNodeUpdated = true;
  +            }
               currentNode = treeListener.getCurrentNode();
           }
           catch (Exception e)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to