基于TableViewer的双侧表实现
目录
一、 介绍
Eclipse Jface Viewers 提供了很多领域模型组件,在这些组件的基础上,可以轻松实现列表、树、表格等控件,而 org.eclipse.jface.viewers.TableViewer 组件是被广泛使用的表格组件。通过内容提供者 ContentProvider 、标签提供者 LabelProvider 、 TableViewer 和 Table 事件机制,可以完成一系列组件的封装。这里,通过 TableViewer 实现了一个双侧表的实现。
二、 结构
双侧表中,包括左侧表、控件面板和右侧表,通过提供 ISelectableTableModel 模型,完成初始化,通过增加和删除表行模型,来完成视图的修改。
ISelectableTableModel 包含 ISelectableColModel 和 ISelectableItemModel 信息, ISelectableColModel 是列头信息, ISelectableItemModel 为行信息,每个 ISelectableItemModel 中包含一个或多个 ISelectableCellModel , ISelectableCellModel 为单元格信息。
ISelectableCellModel 的子类包括 SelectableCellModel 、 CheckBoxSelectableCellModel 、 ComboSelectableCellModel 、 TextSelectableCellModel 。 SelectableCellModel 为默认单元格模型,不可编辑, CheckBoxSelectableCellModel 为 Checkbox 单元格模型, ComboSelectableCellModel 为下拉菜单单元格模型, TextSelectableCellModel 为可编辑单元格模型。对应的列结构,由 ISelectableColModel 定义。
三、 功能
双侧表支持显示默认单元格、下拉菜单单元格、 CheckBox 单元格和可编辑单元格,各单元格均可显示图片、文字,其中下拉菜单单元格,可以根据下拉内容不同在列模型或单元格模型中进行配置。如下图一所示。
图一 双侧表
Attachments:
基于TableViewer的双侧表实现.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)