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/03/20 02:13:22 UTC

svn commit: r756288 - in /incubator/pivot/trunk/wtk/src/pivot/wtk: TreeView.java TreeViewListener.java

Author: tvolkert
Date: Fri Mar 20 01:13:21 2009
New Revision: 756288

URL: http://svn.apache.org/viewvc?rev=756288&view=rev
Log:
Added TreeView.NodeEditor

Modified:
    incubator/pivot/trunk/wtk/src/pivot/wtk/TreeView.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/TreeViewListener.java

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/TreeView.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/TreeView.java?rev=756288&r1=756287&r2=756288&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/TreeView.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/TreeView.java Fri Mar 20 01:13:21 2009
@@ -101,6 +101,24 @@
     }
 
     /**
+     * Tree view node editor interface.
+     *
+     * @author tvolkert
+     */
+    public interface NodeEditor {
+        /**
+         * Notifies the editor that editing should begin.
+         *
+         * @param treeView
+         * The tree view containing the node to be edited.
+         *
+         * @param path
+         * The path to the node to edit.
+         */
+        public void edit(TreeView treeView, Sequence<Integer> path);
+    }
+
+    /**
      * Tree view skin interface. Tree view skins must implement this.
      *
      * @author tvolkert
@@ -169,6 +187,12 @@
             }
         }
 
+        public void nodeEditorChanged(TreeView treeView,
+            TreeView.NodeEditor previousNodeEditor) {
+            for (TreeViewListener listener : this) {
+                listener.nodeEditorChanged(treeView, previousNodeEditor);
+            }
+        }
         public void selectModeChanged(TreeView treeView, SelectMode previousSelectMode) {
             for (TreeViewListener listener : this) {
                 listener.selectModeChanged(treeView, previousSelectMode);
@@ -684,8 +708,9 @@
     // Handlers
     private BranchHandler rootBranchHandler;
 
-    // Renderer
+    // Renderer & editor
     private NodeRenderer nodeRenderer = DEFAULT_NODE_RENDERER;
+    private NodeEditor nodeEditor = null;
 
     // Listener lists
     private TreeViewListenerList treeViewListeners = new TreeViewListenerList();
@@ -842,6 +867,31 @@
     }
 
     /**
+     * Returns the editor used to edit nodes in this tree.
+     *
+     * @return
+     * The node editor, or <tt>null</tt> if no editor is installed.
+     */
+    public NodeEditor getNodeEditor() {
+        return nodeEditor;
+    }
+
+    /**
+     * Sets the editor used to edit nodes in this tree.
+     *
+     * @param nodeEditor
+     * The node editor for the tree.
+     */
+    public void setNodeEditor(NodeEditor nodeEditor) {
+        NodeEditor previousNodeEditor = this.nodeEditor;
+
+        if (previousNodeEditor != nodeEditor) {
+            this.nodeEditor = nodeEditor;
+            treeViewListeners.nodeEditorChanged(this, previousNodeEditor);
+        }
+    }
+
+    /**
      * Returns the current selection mode.
      *
      * @return

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/TreeViewListener.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/TreeViewListener.java?rev=756288&r1=756287&r2=756288&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/TreeViewListener.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/TreeViewListener.java Fri Mar 20 01:13:21 2009
@@ -41,6 +41,14 @@
     public void nodeRendererChanged(TreeView treeView, TreeView.NodeRenderer previousNodeRenderer);
 
     /**
+     * Called when a tree view's node editor has changed.
+     *
+     * @param treeView
+     * @param previousNodeEditor
+     */
+    public void nodeEditorChanged(TreeView treeView, TreeView.NodeEditor previousNodeEditor);
+
+    /**
      * Called when a tree view's select mode has changed.
      *
      * @param treeView