]> source.dussan.org Git - vaadin-framework.git/commitdiff
Table can now select whether multiple rows are dragged at all. Practically this conce...
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 24 Mar 2010 14:21:55 +0000 (14:21 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 24 Mar 2010 14:21:55 +0000 (14:21 +0000)
svn changeset:12067/svn branch:6.3

src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
src/com/vaadin/ui/Table.java
tests/src/com/vaadin/tests/dd/DDTest1.java
tests/src/com/vaadin/tests/dd/DDTest2.java
tests/src/com/vaadin/tests/dd/DDTest4.java
tests/src/com/vaadin/tests/dd/DDTest7.java
tests/src/com/vaadin/tests/dd/DDTest8.java

index 73189855a2cdf11ef7e7ca5a864202ae86bac17c..81a99625ab7cf8627c258b30fd09fbfdc4d20f60 100644 (file)
@@ -2259,6 +2259,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
         public class VScrollTableRow extends Panel implements ActionOwner,
                 Container {
 
+            private static final int DRAGMODE_MULTIROW = 2;
             ArrayList<Widget> childWidgets = new ArrayList<Widget>();
             private boolean selected = false;
             private final int rowKey;
@@ -2547,7 +2548,8 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
 
                                 VDragEvent ev = VDragAndDropManager.get()
                                         .startDrag(transferable, event, true);
-                                if (selectMode == SELECT_MODE_MULTI
+                                if (dragmode == DRAGMODE_MULTIROW
+                                        && selectMode == SELECT_MODE_MULTI
                                         && selectedRowKeys
                                                 .contains("" + rowKey)) {
                                     ev.createDragImage(
index dbd778c7aa08e5f534e20168d8468a2bf4da61ef..842c6b206c44d819d8a937c20cc729aba7f1fca2 100644 (file)
@@ -81,9 +81,16 @@ public class Table extends AbstractSelect implements Action.Container,
          */
         NONE,
         /**
-         * Table starts drag from rows.
+         * Table starts drag with a one row only.
          */
-        ROWS
+        ROW,
+        /**
+         * Table drags selected rows, if drag starts on a selected rows. Else it
+         * starts like in ROW mode. Note, that in Transferable there will still
+         * be only the row on which the drag started, other dragged rows need to
+         * be checked from the source Table.
+         */
+        MULTIROW
     }
 
     private static final int CELL_KEY = 0;
index 861367889db53186824753e965aa9d88dc9633f6..26620aff7efc45039cff4bbbabe1e4d5b4861b0e 100644 (file)
@@ -237,7 +237,7 @@ public class DDTest1 extends TestBase {
         ta.addContainerProperty("Bars", String.class, "Bar");
         ta.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
         ta.setSizeFull();
-        ta.setDragMode(TableDragMode.ROWS);
+        ta.setDragMode(TableDragMode.ROW);
 
         main.addComponent(pane1);
         main.addComponent(pane2);
index 2646a05986249bde0f85f24c4a18361685bbf9a7..0c95569ef8f3d6a226cb353d67e24706594db6a4 100644 (file)
@@ -118,7 +118,7 @@ public class DDTest2 extends TestBase {
         /*
          * Make table rows draggable
          */
-        table.setDragMode(Table.TableDragMode.ROWS);
+        table.setDragMode(Table.TableDragMode.ROW);
 
         OverFolderNode onNode = new OverFolderNode();
         DragSourceIs fromTable = new DragSourceIs(table);
index eb71ce37dd58298f59936eb0764dd34541faa980..3e458745fbf3a7c094ec067bfc24f8444a8db56e 100644 (file)
@@ -59,7 +59,7 @@ public class DDTest4 extends TestBase {
         /*
          * Make table rows draggable
          */
-        table.setDragMode(Table.TableDragMode.ROWS);
+        table.setDragMode(Table.TableDragMode.ROW);
 
         table.setDropHandler(new DropHandler() {
             // accept only drags from this table
index 116a94b235ac85c029ad2e11c67e73387ca4c813..f460447b173b0f59122571de88739af9bc3d6183 100644 (file)
@@ -66,7 +66,7 @@ public class DDTest7 extends TestBase {
         /*
          * Make table rows draggable
          */
-        table.setDragMode(Table.TableDragMode.ROWS);
+        table.setDragMode(Table.TableDragMode.ROW);
 
         table.setDropHandler(new DropHandler() {
             // accept only drags from this table
index 9bad36e9056bf1aa74e3af02e8b3dd9e535fd273..b1c550d5276ada84baae3200d141e2900763c052 100644 (file)
@@ -149,7 +149,7 @@ public class DDTest8 extends TestBase {
 
             public AcceptCriterion getAcceptCriterion() {
                 return new Or(new AbstractSelect.OverItem(t, "Foo", "Bar"),
-                        new AbstractSelect.ContainsItem(t, "Foo"));
+                        new AbstractSelect.AcceptItem(t, "Foo"));
             }
 
         };