You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by tv...@apache.org on 2009/08/05 13:41:05 UTC

svn commit: r801137 - /incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java

Author: tvolkert
Date: Wed Aug  5 11:41:04 2009
New Revision: 801137

URL: http://svn.apache.org/viewvc?rev=801137&view=rev
Log:
PIVOT-182 :: Add right-click knowledge to TerraTreeViewSkin mouse selection handling

Modified:
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java?rev=801137&r1=801136&r2=801137&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTreeViewSkin.java Wed Aug  5 11:41:04 2009
@@ -1405,25 +1405,32 @@
                     if (!consumed) {
                         TreeView.SelectMode selectMode = treeView.getSelectMode();
 
-                        if (selectMode == TreeView.SelectMode.SINGLE) {
-                            if (nodeInfo.isSelected()
-                                && treeView.isFocused()) {
-                                // Edit the node
-                                editNode = nodeInfo;
-                            } else {
-                                // Select the node
+                        if (button == Mouse.Button.RIGHT) {
+                            if (!treeView.isNodeSelected(path)
+                                && selectMode != TreeView.SelectMode.NONE) {
                                 treeView.setSelectedPath(path);
                             }
-                        } else if (selectMode == TreeView.SelectMode.MULTI) {
-                            if (Keyboard.isPressed(Keyboard.Modifier.CTRL)) {
-                                if (nodeInfo.isSelected()) {
-                                    treeView.removeSelectedPath(path);
+                        } else {
+                            if (selectMode == TreeView.SelectMode.SINGLE) {
+                                if (nodeInfo.isSelected()
+                                    && treeView.isFocused()) {
+                                    // Edit the node
+                                    editNode = nodeInfo;
                                 } else {
-                                    treeView.addSelectedPath(path);
+                                    // Select the node
+                                    treeView.setSelectedPath(path);
+                                }
+                            } else if (selectMode == TreeView.SelectMode.MULTI) {
+                                if (Keyboard.isPressed(Keyboard.Modifier.CTRL)) {
+                                    if (nodeInfo.isSelected()) {
+                                        treeView.removeSelectedPath(path);
+                                    } else {
+                                        treeView.addSelectedPath(path);
+                                    }
+                                } else {
+                                    // Replace the selection
+                                    treeView.setSelectedPath(path);
                                 }
-                            } else {
-                                // Replace the selection
-                                treeView.setSelectedPath(path);
                             }
                         }
                     }