As an attachment the project. Uses a regular Table but TreeTable should work similarly. I had to made changes to the client-side implementation of Table (VMyScrollTable). See line 4126:
private Event event; private Timer timer = new Timer() { @Override public void run() { handleBrowserEvent(event); } }; /* * React on click that occur on content cells only */ public void onBrowserEvent(Event event) { if (enabled) { int type = event.getTypeInt(); if (Event.ONMOUSEUP == type) { this.event = event; timer.schedule(200); } else if (Event.ONDBLCLICK == type) { this.event = null; timer.cancel(); } else { handleBrowserEvent(event); } } super.onBrowserEvent(event); } public void handleBrowserEvent(Event event) {
In the above, click events are delayed to avoid normal click events when user does a double click actually.