mstover1 2003/10/17 08:14:44
Modified: src/core/org/apache/jmeter/gui/action Copy.java Cut.java
DragNDrop.java
src/core/org/apache/jmeter/gui/tree JMeterTreeListener.java
src/core/org/apache/jmeter/util JMeterVersion.java
src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog
TCLogParser.java
Log:
Drag n Drop works on multiple selections
Revision Changes Path
1.6 +1 -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.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Copy.java 5 Oct 2003 01:05:31 -0000 1.5
+++ Copy.java 17 Oct 2003 15:14:44 -0000 1.6
@@ -39,9 +39,6 @@
public void doAction(ActionEvent e)
{
- //NOTUSED String action = e.getActionCommand();
- JMeterTreeNode draggedNode = //NOTUSED - can it be deleted?
- GuiPackage.getInstance().getTreeListener().getDraggedNode();
JMeterTreeListener treeListener =
GuiPackage.getInstance().getTreeListener();
setCopiedNode((JMeterTreeNode) treeListener.getCurrentNode());
1.4 +3 -3 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Cut.java 5 Oct 2003 01:19:34 -0000 1.3
+++ Cut.java 17 Oct 2003 15:14:44 -0000 1.4
@@ -34,12 +34,12 @@
public void doAction(ActionEvent e)
{
Copy.setCopiedNode(
- GuiPackage.getInstance().getTreeListener().getDraggedNode());
+ GuiPackage.getInstance().getTreeListener().getCurrentNode());
JMeterTreeListener treeListener =
GuiPackage.getInstance().getTreeListener();
JMeterTreeNode currentNode = treeListener.getCurrentNode();//NOTUSED
GuiPackage.getInstance().getTreeModel().removeNodeFromParent(
- GuiPackage.getInstance().getTreeListener().getDraggedNode());
+ GuiPackage.getInstance().getTreeListener().getCurrentNode());
GuiPackage.getInstance().getMainFrame().repaint();
}
}
1.3 +40 -25
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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DragNDrop.java 27 Jun 2003 19:12:54 -0000 1.2
+++ DragNDrop.java 17 Oct 2003 15:14:44 -0000 1.3
@@ -30,41 +30,56 @@
public void doAction(ActionEvent e)
{
String action = e.getActionCommand();
- JMeterTreeNode draggedNode =
- GuiPackage.getInstance().getTreeListener().getDraggedNode();
- JMeterTreeListener treeListener =
- GuiPackage.getInstance().getTreeListener();
+ GuiPackage guiPackage = GuiPackage.getInstance();
+ JMeterTreeNode[] draggedNodes =
guiPackage.getTreeListener().getDraggedNodes();
+ JMeterTreeListener treeListener = guiPackage.getTreeListener();
JMeterTreeNode currentNode = treeListener.getCurrentNode();
- GuiPackage.getInstance().getTreeModel().removeNodeFromParent(
- GuiPackage.getInstance().getTreeListener().getDraggedNode());
+ removeNodesFromParents(draggedNodes);
if (ADD.equals(action))
{
- GuiPackage.getInstance().getTreeModel().insertNodeInto(
- draggedNode,
- currentNode,
- currentNode.getChildCount());
+ for (int i = 0; i < draggedNodes.length; i++)
+ {
+ GuiPackage.getInstance().getTreeModel().insertNodeInto(
+ draggedNodes[i],
+ currentNode,
+ currentNode.getChildCount());
+ }
}
else if (INSERT_BEFORE.equals(action))
{
- JMeterTreeNode parentNode =
- (JMeterTreeNode) currentNode.getParent();
- int index = parentNode.getIndex(currentNode);
- GuiPackage.getInstance().getTreeModel().insertNodeInto(
- draggedNode,
- parentNode,
- index);
+ for (int i = 0; i < draggedNodes.length; i++)
+ {
+ JMeterTreeNode parentNode =
+ (JMeterTreeNode) currentNode.getParent();
+ int index = parentNode.getIndex(currentNode);
+ GuiPackage.getInstance().getTreeModel().insertNodeInto(
+ draggedNodes[i],
+ parentNode,
+ index);
+ }
}
else if (INSERT_AFTER.equals(action))
{
- JMeterTreeNode parentNode =
- (JMeterTreeNode) currentNode.getParent();
- int index = parentNode.getIndex(currentNode) + 1;
- GuiPackage.getInstance().getTreeModel().insertNodeInto(
- draggedNode,
- parentNode,
- index);
+ for (int i = 0; i < draggedNodes.length; i++)
+ {
+ JMeterTreeNode parentNode =
+ (JMeterTreeNode) currentNode.getParent();
+ int index = parentNode.getIndex(currentNode) + 1;
+ GuiPackage.getInstance().getTreeModel().insertNodeInto(
+ draggedNodes[i],
+ parentNode,
+ index);
+ }
}
GuiPackage.getInstance().getMainFrame().repaint();
+ }
+
+ protected void removeNodesFromParents(JMeterTreeNode[] nodes)
+ {
+ for (int i = 0; i < nodes.length; i++)
+ {
+ GuiPackage.getInstance().getTreeModel().removeNodeFromParent(nodes[i]);
+ }
}
/**
1.12 +23 -11
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.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- JMeterTreeListener.java 16 Oct 2003 17:37:41 -0000 1.11
+++ JMeterTreeListener.java 17 Oct 2003 15:14:44 -0000 1.12
@@ -100,7 +100,7 @@
private JMeterTreeModel model;
private JTree tree;
private boolean dragging = false;
- private JMeterTreeNode draggedNode;
+ private JMeterTreeNode[] draggedNodes;
private JLabel dragIcon = new JLabel(JMeterUtils.getImage("leafnode.gif"));
/**
@@ -224,7 +224,7 @@
public void mouseReleased(MouseEvent e)
{
- if (dragging && isValidDragAction(draggedNode, getCurrentNode()))
+ if (dragging && isValidDragAction(draggedNodes, getCurrentNode()))
{
dragging = false;
JPopupMenu dragNdrop = new JPopupMenu();
@@ -253,9 +253,9 @@
dragging = false;
}
- public JMeterTreeNode getDraggedNode()
+ public JMeterTreeNode[] getDraggedNodes()
{
- return draggedNode;
+ return draggedNodes;
}
/**
@@ -263,14 +263,14 @@
* into itself.
*/
private boolean isValidDragAction(
- JMeterTreeNode source,
+ JMeterTreeNode[] source,
JMeterTreeNode dest)
{
boolean isValid = true;
TreeNode[] path = dest.getPath();
for (int i = 0; i < path.length; i++)
{
- if (path[i] == source)
+ if (contains(source,path[i]))
{
isValid = false;
}
@@ -293,13 +293,25 @@
if (tree.getPathForLocation(e.getX(), e.getY()) != null)
{
currentPath = tree.getPathForLocation(e.getX(), e.getY());
- if (getCurrentNode() != draggedNode)
+ if (!contains(draggedNodes,getCurrentNode()))
{
tree.setSelectionPath(currentPath);
}
}
}
}
+
+ private boolean contains(Object[] container,Object item)
+ {
+ for (int i = 0; i < container.length; i++)
+ {
+ if(container[i] == item)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
public void mousePressed(MouseEvent e)
{
@@ -337,9 +349,9 @@
if (!dragging)
{
dragging = true;
- draggedNode = getCurrentNode();
- if (draggedNode.getUserObject() instanceof TestPlanGui
- || draggedNode.getUserObject() instanceof WorkBenchGui)
+ draggedNodes = getSelectedNodes();
+ if (draggedNodes[0].getUserObject() instanceof TestPlanGui
+ || draggedNodes[0].getUserObject() instanceof WorkBenchGui)
{
dragging = false;
}
1.2 +1 -1
jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java
Index: JMeterVersion.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JMeterVersion.java 2 Oct 2003 22:23:06 -0000 1.1
+++ JMeterVersion.java 17 Oct 2003 15:14:44 -0000 1.2
@@ -24,7 +24,7 @@
* pattern: VERSION = <quote>.*<quote>
*
*/
- static final String VERSION = "1.9.20031002";
+ static final String VERSION = "1.9.20031017";
private JMeterVersion() // Not instantiable
{
1.3 +1 -1
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java
Index: TCLogParser.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TCLogParser.java 17 Oct 2003 15:08:31 -0000 1.2
+++ TCLogParser.java 17 Oct 2003 15:14:44 -0000 1.3
@@ -627,4 +627,4 @@
}
}
-}
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]