aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java14
1 files changed, 10 insertions, 4 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 08f3930799..87c1a6c292 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITree.java
@@ -196,6 +196,7 @@ public class ITree extends FlowPanel implements Paintable {
sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.ONMOUSEUP);
}
+ @Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
if (disabled) {
@@ -253,20 +254,24 @@ public class ITree extends FlowPanel implements Paintable {
nodeCaptionDiv = DOM.createDiv();
DOM.setElementProperty(nodeCaptionDiv, "className", CLASSNAME
+ "-caption");
+ Element wrapper = DOM.createDiv();
nodeCaptionSpan = DOM.createSpan();
DOM.appendChild(getElement(), nodeCaptionDiv);
- DOM.appendChild(nodeCaptionDiv, nodeCaptionSpan);
+ DOM.appendChild(nodeCaptionDiv, wrapper);
+ DOM.appendChild(wrapper, nodeCaptionSpan);
childNodeContainer = new FlowPanel();
childNodeContainer.setStylePrimaryName(CLASSNAME + "-children");
setWidget(childNodeContainer);
}
+ @Override
public void onDetach() {
Util.removeContextMenuEvent(nodeCaptionSpan);
super.onDetach();
}
+ @Override
public void onAttach() {
attachContextMenuEvent(nodeCaptionSpan);
super.onAttach();
@@ -305,13 +310,14 @@ public class ITree extends FlowPanel implements Paintable {
if (uidl.hasAttribute("icon")) {
if (icon == null) {
icon = new Icon(client);
- DOM.insertBefore(nodeCaptionDiv, icon.getElement(),
- nodeCaptionSpan);
+ DOM.insertBefore(DOM.getFirstChild(nodeCaptionDiv), icon
+ .getElement(), nodeCaptionSpan);
}
icon.setUri(uidl.getStringAttribute("icon"));
} else {
if (icon != null) {
- DOM.removeChild(nodeCaptionDiv, icon.getElement());
+ DOM.removeChild(DOM.getFirstChild(nodeCaptionDiv), icon
+ .getElement());
icon = null;
}
}