khammond 01/09/29 08:20:13
Modified: src/org/apache/jmeter/gui/tree JMeterTreeListener.java
Log:
Cleaned up the GUI. Modified logic that determines when to display a particular
menu item.
Revision Changes Path
1.10 +38 -5
jakarta-jmeter/src/org/apache/jmeter/gui/tree/JMeterTreeListener.java
Index: JMeterTreeListener.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/org/apache/jmeter/gui/tree/JMeterTreeListener.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- JMeterTreeListener.java 2001/09/24 13:35:33 1.9
+++ JMeterTreeListener.java 2001/09/29 15:20:13 1.10
@@ -62,9 +62,11 @@
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
+
import org.apache.jmeter.gui.*;
+import org.apache.jmeter.control.WorkBench;
+import org.apache.jmeter.control.TestPlan;
import org.apache.jmeter.save.Saveable;
-import java.util.*;
/**
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
@@ -236,7 +238,17 @@
private void rightClick(TreePath selPath, int x, int y) {
Object node = ((JMeterTreeNode)
selPath.getLastPathComponent()).getUserObject();
if (node instanceof JMeterComponentModel) {
- generatePopupMenu((JMeterComponentModel) node, x, y);
+ boolean showPopup = true;
+
+ // Do not show the popup if the user right-clicks on the root
node
+ if (node instanceof WorkBench) {
+ boolean isRootNode = ((WorkBench)node).isRootNode();
+ showPopup = !isRootNode;
+ }
+
+ if (showPopup) {
+ generatePopupMenu((JMeterComponentModel) node, x, y);
+ }
}
}
@@ -281,13 +293,29 @@
private void generatePopupMenu(JMeterComponentModel comp, int x, int y) {
pop = new JPopupMenu();
pop.setInvoker(tree);
+
+ // Display ADD menu item
getAddMenu(comp);
- pop.addSeparator();
+
+ // Display LOAD menu item.
+ addLoadItem(pop);
+
+ // Display SAVE menu item only if the component implemented the
+ // Saveable interface.
if (comp instanceof Saveable) {
addSaveMenu(pop);
}
- addLoadItem(pop);
- addRemoveMenu(pop);
+
+ // Display REMOVE menu item for all components except WorkBench
+ // and TestPlan.
+ if ((!(comp instanceof WorkBench)) && (!(comp instanceof TestPlan))) {
+ // Display a menu separator
+ pop.addSeparator();
+
+ // Display REMOVE menu item
+ addRemoveMenu(pop);
+ }
+
pop.validate();
pop.setPopupSize(pop.getPreferredSize());
pop.show(tree, x, y);
@@ -337,7 +365,12 @@
menu.add((JMenu) compToAdd);
}
}
+
+ // Display ADD menu item
pop.add(menu);
+
+ // Display a menu separator
+ pop.addSeparator();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]