You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2004/09/26 17:36:26 UTC
cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/gui/action DragNDrop.java Paste.java Copy.java Cut.java
sebb 2004/09/26 08:36:26
Modified: src/core/org/apache/jmeter/gui/action Tag: rel-2_0
DragNDrop.java Paste.java Copy.java Cut.java
Log:
Bug30042 -Cut/Copy/Paste multiple test elements
Revision Changes Path
No revision
No revision
1.4.2.2 +4 -4 jakarta-jmeter/src/core/org/apache/jmeter/gui/action/DragNDrop.java
Index: DragNDrop.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/DragNDrop.java,v
retrieving revision 1.4.2.1
retrieving revision 1.4.2.2
diff -u -r1.4.2.1 -r1.4.2.2
--- DragNDrop.java 26 Sep 2004 14:30:20 -0000 1.4.2.1
+++ DragNDrop.java 26 Sep 2004 15:36:26 -0000 1.4.2.2
@@ -106,13 +106,13 @@
/**
* Determine whether or not dragged nodes can be added to this parent.
- *
+ * Also used by Paste
* TODO tighten rules
* TODO move to MenuFactory?
* @param parentNode
* @return whether it is OK to add the dragged nodes to this parent
*/
- private boolean canAddTo(JMeterTreeNode parentNode) {
+ static boolean canAddTo(JMeterTreeNode parentNode) {
if (null==parentNode) return false;
TestElement te = parentNode.getTestElement();
//System.out.println("Add to: "+te.getClass().getName());
1.3.2.1 +17 -12 jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Paste.java
Index: Paste.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Paste.java,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -r1.3 -r1.3.2.1
--- Paste.java 14 Feb 2004 03:34:28 -0000 1.3
+++ Paste.java 26 Sep 2004 15:36:26 -0000 1.3.2.1
@@ -54,17 +54,22 @@
*/
public void doAction(ActionEvent e)
{
- JMeterTreeNode draggedNode = Copy.getCopiedNode();
- if (draggedNode != null)
+ JMeterTreeNode draggedNodes[] = Copy.getCopiedNodes();
+ JMeterTreeListener treeListener =
+ GuiPackage.getInstance().getTreeListener();
+ JMeterTreeNode currentNode = treeListener.getCurrentNode();
+ if (DragNDrop.canAddTo(currentNode))
{
- JMeterTreeListener treeListener =
- GuiPackage.getInstance().getTreeListener();
- JMeterTreeNode currentNode = treeListener.getCurrentNode();
- GuiPackage.getInstance().getTreeModel().insertNodeInto(
- draggedNode,
- currentNode,
- currentNode.getChildCount());
+ for(int i=0;i<draggedNodes.length;i++) {
+ if (draggedNodes[i] != null)
+ {
+ GuiPackage.getInstance().getTreeModel().insertNodeInto(
+ draggedNodes[i],
+ currentNode,
+ currentNode.getChildCount());
+ }
+ }
}
GuiPackage.getInstance().getMainFrame().repaint();
}
-}
+}
\ No newline at end of file
1.7.2.1 +34 -4 jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Copy.java
Index: Copy.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Copy.java,v
retrieving revision 1.7
retrieving revision 1.7.2.1
diff -u -r1.7 -r1.7.2.1
--- Copy.java 14 Feb 2004 03:34:28 -0000 1.7
+++ Copy.java 26 Sep 2004 15:36:26 -0000 1.7.2.1
@@ -40,6 +40,7 @@
public class Copy extends AbstractAction
{
private static JMeterTreeNode copiedNode = null;
+ private static JMeterTreeNode copiedNodes[] = null;
private static String COPY = "Copy";
private static HashSet commands = new HashSet();
@@ -59,7 +60,19 @@
{
JMeterTreeListener treeListener =
GuiPackage.getInstance().getTreeListener();
- setCopiedNode((JMeterTreeNode) treeListener.getCurrentNode());
+ JMeterTreeNode[] nodes = treeListener.getSelectedNodes();
+ setCopiedNodes(nodes);
+ }
+
+ public static JMeterTreeNode[] getCopiedNodes()
+ {
+ for(int i=0;i<copiedNodes.length;i++) {
+ if (copiedNodes[i] == null)
+ {
+ return null;
+ }
+ }
+ return cloneTreeNodes(copiedNodes);
}
public static JMeterTreeNode getCopiedNode()
@@ -83,6 +96,23 @@
cloneChildren(treeNode, node);
return treeNode;
}
+ public static void setCopiedNodes(JMeterTreeNode nodes[])
+ {
+ copiedNodes = new JMeterTreeNode[nodes.length];
+ for(int i=0;i<nodes.length;i++)
+ {
+ copiedNodes[i] = cloneTreeNode(nodes[i]);
+ }
+ }
+
+ public static JMeterTreeNode[] cloneTreeNodes(JMeterTreeNode nodes[])
+ {
+ JMeterTreeNode treeNodes[] = new JMeterTreeNode[nodes.length];
+ for(int i=0;i<nodes.length;i++) {
+ treeNodes[i] = cloneTreeNode(nodes[i]);
+ }
+ return treeNodes;
+ }
private static void cloneChildren(JMeterTreeNode to, JMeterTreeNode from)
{
@@ -97,4 +127,4 @@
cloneChildren((JMeterTreeNode) to.getLastChild(), child);
}
}
-}
+}
\ No newline at end of file
1.6.2.1 +8 -6 jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Cut.java
Index: Cut.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Cut.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
--- Cut.java 27 Feb 2004 00:45:05 -0000 1.6
+++ Cut.java 26 Sep 2004 15:36:26 -0000 1.6.2.1
@@ -51,10 +51,12 @@
public void doAction(ActionEvent e)
{
GuiPackage guiPack = GuiPackage.getInstance();
- JMeterTreeNode currentNode = guiPack.getTreeListener().getCurrentNode();
+ JMeterTreeNode[] currentNodes = guiPack.getTreeListener().getSelectedNodes();
- Copy.setCopiedNode(currentNode);
- guiPack.getTreeModel().removeNodeFromParent(currentNode);
+ Copy.setCopiedNodes(currentNodes);
+ for(int i=0;i<currentNodes.length;i++) {
+ guiPack.getTreeModel().removeNodeFromParent(currentNodes[i]);
+ }
guiPack.getMainFrame().repaint();
}
-}
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org