Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GWT 2.1 Tree or CellTree?

I'm really struggling with a choice between the GWT Tree widget, which has been a part of GWT for ages; or the new CellTree, which is introduced by GWT 2.1.

The tree I want to present to the user is not particularly large, but I am very concerned about responsiveness.

The data at the nodes of the tree will be editable. By clicking on a node, the user will put the node into edit mode. Editing the more simple nodes will require only a single TextBox or TextArea; but others will involve several widgets, over which I want styling control via CSS.

I'm attracted to the CellTree approach because it seems to offer great flexibility and speed; however, the sample code for CellTree editing deals with only very simple data types: string, date, integer, etc. I don't know if CellTree is appropriate when you've got more complex node-editing needs.

What do you think? Is CellTree the best approach? Does CellTree replace Tree in general? What heuristics can I apply in choosing between them?

like image 689
David Avatar asked Oct 28 '10 05:10

David


2 Answers

I'm using a CellTable with several custom input Cells, including one comprised of many widgets. It works great!

It took me a couple of hours to understand how to implement a custom Cell that could do complex operations - since a single instance of the Cell will flit around the CellTree, pretending to be many instances, you need to understand how it's getting its data and when it is refreshed and rendered. I learned a lot from the source of the DatePickerCell.

I can't speak for CellTree, but the CellTable is very flexible, was easy to program, and saves me hundreds of Widget instances.

like image 98
Riley Lark Avatar answered Nov 16 '22 04:11

Riley Lark


Using CellTree is problematic. Because it hasn't good access to view implementation stored in CellTree. It cause problem (ex. for me :D) in making custom handlers for opening nodes with children by clicking on whole parent cell. Of course you can make custom cells by AbstractCell, where you must write own renderer.

I think this widget must be enchanced and more objects must be more visible for users.

Customizing CSS is simple. All what you have to do is extende CellTree.resource and insert own css based on celltree.css class names.

like image 24
TomPax Avatar answered Nov 16 '22 03:11

TomPax