我正在尝试创建一个单元格浏览器,来自GWT Showcase
的gettign帮助我在这里创建CellBrowser
final MultiSelectionModel<MyDTO> selectionModel = new MultiSelectionModel<MyDTO>();
CellBrowser cellBrowser = new CellBrowser(new ContactTreeViewModel(selectionModel), null);
我没有得到的是,什么是ContactTreeViewModel?我已经阅读了GwtShowcase中的类contacttreeviewmodel,但无法理解,究竟是什么
感谢您的帮助
答案 0 :(得分:1)
这是您的视图模型,它是树视图与实际模型之间的接口(以MVC或MVP的说法)。 CellBrowser
(与CellTree
相同)会询问您的TreeViewModel
树的节点(以NodeInfo
个对象的形式),他们的孩子,如何显示它们(关联的Cell
),如何选择它们(关联的SelectionModel
:您可以拥有一棵树,您只能从第二级选择节点,和/或仅每个分支一个节点在第二级,或任何节点,或......),最后如何更新它们(ValueUpdater
)。
基本上(免责声明:这是对流程的简化!),树中的每个级别都是CellList
,NodeInfo
负责。 setDataDisplay
将CellList
与NodeInfo
关联,以便模型中的更改可以反映在树中,然后Cell
,ProvidesKey
,{{1 }和SelectionModel
都具有与ValueUpdater
相同的行为。 CellList
会向您CellBrowser
询问他们,以便设置NodeInfo
。展开节点时,CellList
会向您的CellBrowser
询问与展开的节点相关联的TreeViewModel
,并使用它创建新的NodeInfo
。
Showcase中的CellList
因此是ContactTreeViewModel
的特定实现,以将联系人(模型)显示为树。
答案 1 :(得分:0)
GWT展示是您可以使用代码示例执行的示例。
我认为在尝试从头开始理解这些代码之前,你应该阅读单元小部件的文档。
这是文档,阅读它,然后重试以理解代码。
https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellWidgets#available