aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2007-09-19 10:15:47 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2007-09-19 10:15:47 +0000
commit9f727b20b9d2f89592f87e95274c35f0715dbb18 (patch)
treeb3e070886dca5a26ddfa99d925a24c79e15a807b /src
parentd9a140fb37f9c23893c28b38f71c265ef4b0c695 (diff)
downloadvaadin-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.java17
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");