====== 树控件 ====== 树控件的标签为Tree,其实现类为XTreeCtrl。树控件是一个将数据项组织为树形节点的控件,每一个节点对应一个Item,它可以包含多个列属性,树控件一般有一个列标题栏,显示每一列的标题,每一列可以指定它的宽度,列标题的设置在Header块中设定(参考【树控件配置示例】)。默认情况下每一个节点只有一列属性,如果超过一列属性,可在每个节点下面增加Column的子项,每一个Column对应一列属性。树控件的内容可以通过ref_url指定的参考配置文件进行配置。 列表控件提供了以下扩展槽: * void checkAll(),用于勾选所有列表项; * void uncheckAll(),用于清除所有勾选项; * void checkInverse(),用于方向勾选列表项; ===== 控件属性关键字 ===== ==== name ==== 控件名,其值类型为字符串,控件名只能以字母开头,可包含数字、下划线、点符号。参考示例:name="test.tbl"。 ==== enable ==== 设置控件的初始状态是否可交互,其值类型为布尔型(true或者false),如设置为false,在该控件会变灰并且不可交互,用户可调用ICommandWindow的setControlEnable接口修改该属性。参考示例:enable="true"。 ==== width ==== 控件的宽度,其值类型整型, 单位为像素。参考示例:width="30"。 ==== height ==== 控件的高度,其值类型整型, 单位为像素。参考示例:height="30"。 ==== connect ==== 动态事件信号的映射处理,树控件支持的触发信号包括itemDoubleClicked(当双击树节点时触发);itemChanged,当当前节点发生变化时触发;itemSelectionChanged,当选择的节点发生变化时触发。参考示例:connect=“itemDoubleClicked,test.stack:setCurrentWidget”。 ==== ref_url ==== 指向参考的配置xml文件路径,可参考下文下拉框选项配置文件示例章节。该路径为相对路径,其参考路径为项目资源目录下的uisetting文件夹,特别的,如果要参考全局资源目录下的文件,该路径应以"~"开头,"~"表示全局资源目录下的uisetting子目录。参考示例:ref_url="material/types.xml"或"~/material/types.xml"。 ==== title ==== 当该控件为选项卡控件的子控件时,通过该属性定义它在选项卡控件中的选项卡的显示文本。 ===== 树型控件标题属性 ===== 树头属性块的标签为Header(或者小写header),通过它的子项依次设定列的标题以及列宽。 ==== text ==== 设定列标题的显示文本。 ==== width ==== 设定列的宽度,其值类型整型, 单位为像素,如果没有设置该属性,XCGS将自动设定一个宽度值。参考示例:width="30"。 ===== 树节点属性 ===== ==== name ==== 节点名,其值类型为字符串,节点名只能以字母开头,可包含数字、下划线、点符号。参考示例:name="node1"。 ==== text ==== 设定节点的显示文本。 ==== check ==== 设定节点是否勾选状态(节点前会有一个勾选框出现),如果没有设置该属性,则该节点不可勾选(没有勾选框)。 ==== value ==== 设定节点的值,对于叶子节点,节点值不可重复。 ===== 配置示例 ===== ===== 相关API ===== * [[class:ui:icommandwindow#settreecolcount|setTreeColCount]] * [[class:ui:icommandwindow#gettreecolcount|getTreeColCount]] * [[class:ui:icommandwindow#inserttreeeditstring|insertTreeEditString]] * [[class:ui:icommandwindow#settreechecked|setTreeChecked]] * [[class:ui:icommandwindow#settreecurrent|setTreeCurrent]] * [[class:ui:icommandwindow#settreeeditint|setTreeEditInt]] * [[class:ui:icommandwindow#settreeeditstring|setTreeEditString]] * [[class:ui:icommandwindow#settreeeditdouble|setTreeEditDouble]] * [[class:ui:icommandwindow#gettreeeditdouble|getTreeEditDouble]] * [[class:ui:icommandwindow#gettreechecked|getTreeChecked]] * [[class:ui:icommandwindow#gettreeeditint|getTreeEditInt]] * [[class:ui:icommandwindow#gettreeeditstring|getTreeEditString]] * [[class:ui:icommandwindow#gettreecurrentindex|getTreeCurrentIndex]] * [[class:ui:icommandwindow#gettreechildcount|getTreeChildCount]] * [[class:ui:icommandwindow#gettreeitemvalue|getTreeItemValue]] * [[class:ui:icommandwindow#removetreeitem|removeTreeItem]] * [[class:ui:icommandwindow#movetreeitem|moveTreeItem]] * [[class:ui:icommandwindow#opentreeeditor|openTreeEditor]]