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/24 00:32:38 UTC
svn commit: r757595 -
/incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java
Author: tvolkert
Date: Mon Mar 23 23:32:38 2009
New Revision: 757595
URL: http://svn.apache.org/viewvc?rev=757595&view=rev
Log:
Simplified TreeViewNodeEditor
Modified:
incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java?rev=757595&r1=757594&r2=757595&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/content/TreeViewNodeEditor.java Mon Mar 23 23:32:38 2009
@@ -262,19 +262,19 @@
this.treeView = treeView;
this.editPath = path;
- TreeViewNodeRenderer nodeRenderer = (TreeViewNodeRenderer)treeView.getNodeRenderer();
-
// Get the data being edited
List<?> treeData = treeView.getTreeData();
TreeNode nodeData = (TreeNode)Sequence.Tree.get(treeData, path);
+ // Render the data, enabling us to query the renderer for layout info
+ TreeViewNodeRenderer nodeRenderer = (TreeViewNodeRenderer)treeView.getNodeRenderer();
+ Component textComponent = nodeRenderer.get(1);
+ nodeRenderer.render(nodeData, treeView, false, false,
+ TreeView.NodeCheckState.UNCHECKED, false, false);
+
// Calculate the indent to the node's text
int textIndent = treeView.getNodeIndent(path.getLength());
- textIndent += ((Insets)nodeRenderer.getStyles().get("padding")).left;
- if (nodeRenderer.getShowIcon()) {
- textIndent += nodeRenderer.getIconWidth();
- textIndent += (Integer)nodeRenderer.getStyles().get("spacing");
- }
+ textIndent += textComponent.getX();
// Calculate the bounds of the node's text
Bounds textBounds = treeView.getNodeBounds(path);
@@ -282,11 +282,8 @@
textBounds.width -= textIndent;
// Scroll to make the text as visible as possible
- nodeRenderer.render(nodeData, treeView, false, false,
- TreeView.NodeCheckState.UNCHECKED, false, false);
- Component textComponent = nodeRenderer.get(1);
int textWidth = textComponent.getPreferredWidth(-1);
- treeView.scrollAreaToVisible(textBounds.x, textBounds.y, textWidth + 3, textBounds.height);
+ treeView.scrollAreaToVisible(textBounds.x, textBounds.y, textWidth, textBounds.height);
// Constrain the bounds by what is visible through Viewport ancestors
treeView.constrainToViewportBounds(textBounds);