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]

Reply via email to