diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-09-19 10:15:47 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-09-19 10:15:47 +0000 |
commit | 9f727b20b9d2f89592f87e95274c35f0715dbb18 (patch) | |
tree | b3e070886dca5a26ddfa99d925a24c79e15a807b /src | |
parent | d9a140fb37f9c23893c28b38f71c265ef4b0c695 (diff) | |
download | vaadin-framework-9f727b20b9d2f89592f87e95274c35f0715dbb18.tar.gz vaadin-framework-9f727b20b9d2f89592f87e95274c35f0715dbb18.zip |
various tree fixes
svn changeset:2329/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java index 2e682b05cf..2428ba34e9 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java @@ -40,6 +40,8 @@ public class ITree extends Tree implements Paintable { */ private HashMap actionMap = new HashMap(); + private boolean immediate; + public ITree() { super(); @@ -84,6 +86,8 @@ public class ITree extends Tree implements Paintable { this.paintableId = uidl.getId(); + this.immediate = uidl.hasAttribute("immediate"); + clear(); for (Iterator i = uidl.getChildIterator(); i.hasNext();) { UIDL childUidl = (UIDL)i.next(); @@ -124,12 +128,13 @@ public class ITree extends Tree implements Paintable { selectedIds.remove(key); n.setISelected(false); } else { - if (!multiselect) + if (!multiselect) { selectedIds.clear(); + } selectedIds.add(key); n.setISelected(true); } - ITree.this.client.updateVariable(ITree.this.paintableId, "selected", selectedIds.toArray(), true); + ITree.this.client.updateVariable(ITree.this.paintableId, "selected", selectedIds.toArray(), immediate); } } @@ -161,8 +166,14 @@ public class ITree extends Tree implements Paintable { super(); attachContextMenuEvent(getElement()); } - + public void setSelected(boolean selected) { + if(!selected && !ITree.this.multiselect) { + this.setISelected(false); + } + super.setSelected(selected); + } + public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.setText(uidl.getStringAttribute("caption")); key = uidl.getStringAttribute("key"); |