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]