You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/12/28 17:17:52 UTC

svn commit: r1776307 - /jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java

Author: pmouawad
Date: Wed Dec 28 17:17:52 2016
New Revision: 1776307

URL: http://svn.apache.org/viewvc?rev=1776307&view=rev
Log:
Bug 60154 - User Parameters GUI: allow rows to be moved up & down in the list
This closes #242 on github 
Contributed by https://github.com/Murdecai777
Bugzilla Id: 60154

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java?rev=1776307&r1=1776306&r2=1776307&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java Wed Dec 28 17:17:52 2016
@@ -20,8 +20,10 @@ package org.apache.jmeter.gui.util;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
 import java.util.List;
 
+import javax.swing.event.TableModelEvent;
 import javax.swing.table.DefaultTableModel;
 
 import org.apache.jorphan.collections.Data;
@@ -113,6 +115,26 @@ public class PowerTableModel extends Def
         }
     }
 
+    @Override
+    public void moveRow(int start, int end, int to) {
+        ArrayList<Object[]> rows = new ArrayList<>();
+        for(int i=0; i < getRowCount(); i++){
+            rows.add(getRowData(i));
+        }
+
+        List<Object[]> subList = new ArrayList<>(rows.subList(start, end));
+        for (int x = end - 1; x >= start; x--) {
+            rows.remove(x);
+        }
+
+        rows.addAll(to, subList);
+        for(int i = 0; i < rows.size(); i++){
+            setRowValues(i, rows.get(i));
+        }
+
+        super.fireTableChanged(new TableModelEvent(this));
+    }
+
     public void addNewRow() {
         addRow(createDefaultRow());
     }