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