You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2012/09/20 23:59:07 UTC

svn commit: r1388240 - in /pivot/trunk: ./ wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java

Author: rwhitcomb
Date: Thu Sep 20 21:59:07 2012
New Revision: 1388240

URL: http://svn.apache.org/viewvc?rev=1388240&view=rev
Log:
PIVOT-873: Add a style to TableView to allow editing on first mouse click.

Implemented the "editOnMouseDown" style to TerraTableViewSkin to allow
the first mouse click to initiate row editing instead of waiting for
a double click.

Note: editing is initiated, but the mouse click is not propagated to
a child field (for instance, checkbox or radiobutton) in order to
actually select/toggle the control.

This is a merge of revision 1388236 from branches/2.0.x to trunk.

Modified:
    pivot/trunk/   (props changed)
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java

Propchange: pivot/trunk/
------------------------------------------------------------------------------
    svn:mergeinfo = /pivot/branches/2.0.x:1388236

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java?rev=1388240&r1=1388239&r2=1388240&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Thu Sep 20 21:59:07 2012
@@ -78,6 +78,7 @@ public class TerraTableViewSkin extends 
     private boolean includeTrailingVerticalGridLine;
     private boolean includeTrailingHorizontalGridLine;
     private boolean variableRowHeight;
+    private boolean editOnMouseDown;
 
     private ArrayList<Integer> columnWidths = null;
     private ArrayList<Integer> rowBoundaries = null;
@@ -111,6 +112,8 @@ public class TerraTableViewSkin extends 
         showVerticalGridLines = true;
         includeTrailingVerticalGridLine = false;
         includeTrailingHorizontalGridLine = false;
+
+        editOnMouseDown = false;
     }
 
     @Override
@@ -1137,6 +1140,14 @@ public class TerraTableViewSkin extends 
         invalidateComponent();
     }
 
+    public boolean isEditOnMouseDown() {
+        return editOnMouseDown;
+    }
+
+    public void setEditOnMouseDown(boolean editOnMouseDown) {
+        this.editOnMouseDown = editOnMouseDown;
+    }
+
     @Override
     public boolean mouseMove(Component component, int x, int y) {
         boolean consumed = super.mouseMove(component, x, y);
@@ -1243,6 +1254,21 @@ public class TerraTableViewSkin extends 
 
         tableView.requestFocus();
 
+        if (editOnMouseDown) {
+            if (selectIndex != -1
+                && button == Mouse.Button.LEFT) {
+                TableView.RowEditor rowEditor = tableView.getRowEditor();
+
+                if (rowEditor != null) {
+                    if (rowEditor.isEditing()) {
+                        rowEditor.endEdit(true);
+                    }
+
+                    rowEditor.beginEdit(tableView, selectIndex, getColumnAt(x));
+                }
+            }
+        }
+
         return consumed;
     }
 
@@ -1264,18 +1290,20 @@ public class TerraTableViewSkin extends 
     public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
         boolean consumed = super.mouseClick(component, button, x, y, count);
 
-        TableView tableView = (TableView)getComponent();
-        if (selectIndex != -1
-            && count == 2
-            && button == Mouse.Button.LEFT) {
-            TableView.RowEditor rowEditor = tableView.getRowEditor();
-
-            if (rowEditor != null) {
-                if (rowEditor.isEditing()) {
-                    rowEditor.endEdit(true);
-                }
+        if (!editOnMouseDown) {
+            TableView tableView = (TableView)getComponent();
+            if (selectIndex != -1
+                && count == 2
+                && button == Mouse.Button.LEFT) {
+                TableView.RowEditor rowEditor = tableView.getRowEditor();
+
+                if (rowEditor != null) {
+                    if (rowEditor.isEditing()) {
+                        rowEditor.endEdit(true);
+                    }
 
-                rowEditor.beginEdit(tableView, selectIndex, getColumnAt(x));
+                    rowEditor.beginEdit(tableView, selectIndex, getColumnAt(x));
+                }
             }
         }