GtkTreeExpander

描述 [src]

final class Gtk.TreeExpander : Gtk.Widget
  implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
  /* No available fields */
}

GtkTreeExpander 是一个为列表提供扩展功能的小部件。

它通常作为 GtkListView 的最底层子项放置,以允许用户在带有 GtkTreeListModel 的列表中展开和折叠子项。 GtkTreeExpander 为此目的提供了常见的UI元素、手势和键绑定。

除此之外,还提供了“listitem.expand”、“listitem.collapse”和“listitem.toggle-expand”操作,以允许添加用于管理已扩展状态的自定义UI

值得一提的是,使用此小部件时,您需要将 GtkListItem:focusable 属性设置为FALSE,因为您希望键盘焦点位于扩展器中,而不是列表中以使用键绑定。

GtkTreeListModel 必须设置为非直通。然后它将提供 GtkTreeListRow 项,这些项可以通过扩展器上的 gtk_tree_expander_set_list_row() 设置。然后,扩展器将自动监视该行项。 gtk_tree_expander_set_child() 设置显示实际行内容的小部件。

GtkTreeExpander 可以使用属性(如 GtkTreeExpander:indent-for-iconGtkTreeExpander:indent-for-depthGtkTreeExpander:hide-expander)进行修改,以实现不同的外观。甚至可以通过此方法影响各个行,例如将 GtkTreeExpander:hide-expander 属性绑定到列表行模型的项目计数,以隐藏没有子项的行扩展器,即使该行是可扩展的。.

快捷方式和手势

GtkTreeExpander 控件支持下列键盘快捷键

  • +* 展开扩展器。
  • -/ 折叠扩展器。
  • ShiftCtrl+Shift 结合使用时,左右箭头键将根据当前区域的文本方向,进行展开或折叠。
  • Ctrl+ 切换扩展器状态。

该行还可以通过拖拽手势扩展。

操作

GtkTreeExpander 定义了一组内建操作

  • listitem.展开如果可扩展,则展开扩展器。
  • listitem.折叠折叠扩展器。
  • listitem.切换扩展如果扩展器已折叠,则尝试展开它,如果已展开,则尝试折叠它。

CSS 节点

treeexpander
├── [indent]*
├── [expander]
╰── <child>

GtkTreeExpander具有零个或一个名为“expander”的CSS 节点,它将显示扩展器图标。扩展后,该节点将变为:checked。如果该节点不可扩展,则会显示一个“ident”节点代替它。

对于每个深度级别,都会前置另一个“ident”节点。

无障碍

GTK 4.10 之前,GtkTreeExpander使用GTK_ACCESSIBLE_ROLE_GROUP角色。

GTK 4.12 开始,GtkTreeExpander改用GTK_ACCESSIBLE_ROLE_BUTTON角色。切换该角色将改变GTK_ACCESSIBLE_STATE_EXPANDED状态。

层次结构

hierarchy this GtkTreeExpander implements_0 GtkAccessible this--implements_0 implements_1 GtkBuildable this--implements_1 implements_2 GtkConstraintTarget this--implements_2 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_tree_expander_new

创建一个新的GtkTreeExpander

实例方法

gtk_tree_expander_get_child

获取self显示的子控件。

gtk_tree_expander_get_hide_expander

获取TreeExpander是否应该在GtkTreeListRow中隐藏。

自:4.10 起

gtk_tree_expander_get_indent_for_depth

TreeExpander用一个额外的缩进缩进每一个深度级别。

自:4.10 起

gtk_tree_expander_get_indent_for_icon

如果TreeExpander不可扩展,它将以扩展器图标宽度缩进子控件。

自:4.6 起

gtk_tree_expander_get_item

转发在self管理的GtkTreeListRow上设置的项目。

gtk_tree_expander_get_list_row

获取self管理的列表行。

gtk_tree_expander_set_child

设置要显示的内容控件。

gtk_tree_expander_set_hide_expander

设置是否在GtkTreeListRow中显示扩展器图标。

自:4.10 起

gtk_tree_expander_set_indent_for_depth

设置TreeExpander是否应该根据其深度缩进子控件。

自:4.10 起

gtk_tree_expander_set_indent_for_icon

设置当TreeExpander不可扩展时,是否应该以扩展器图标宽度缩进子控件。

自:4.6 起

gtk_tree_expander_set_list_row

设置该扩展器应该管理的树形列表行。

GtkWidget(162)继承的方法

有关方法的完整列表,请参阅GtkWidget

GObject(43)继承的方法

有关方法的完整列表,请参阅GObject

GtkAccessible(19)继承的方法
gtk_accessible_announce

让用户屏幕阅读器播报给定消息。

自:4.14 起

gtk_accessible_get_accessible_parent

为某个辅助对象检索辅助父级。

自:4.10 起

gtk_accessible_get_accessible_role

检索某个辅助对象的辅助角色。

gtk_accessible_get_at_context

检索给定辅助对象的实现。

自:4.10 起

gtk_accessible_get_bounds

检索此辅助对象的坐标和维度。

自:4.10 起

gtk_accessible_get_first_accessible_child

检索某个辅助对象的第一个辅助子级。

自:4.10 起

gtk_accessible_get_next_accessible_sibling

检索某个辅助对象的下一个辅助同级。

自:4.10 起

gtk_accessible_get_platform_state

检索平台状态,例如焦点。

自:4.10 起

gtk_accessible_reset_property

将辅助属性重置为其默认值。

gtk_accessible_reset_relation

将辅助关系重置为其默认值。

gtk_accessible_reset_state

重置无障碍状态为默认值。

gtk_accessible_set_accessible_parent

设置无障碍对象的父对象和兄弟对象。

自:4.10 起

gtk_accessible_update_next_accessible_sibling

更新下一个无障碍兄弟对象。

自:4.10 起

gtk_accessible_update_property

更新无障碍属性的列表。

gtk_accessible_update_property_value

更新无障碍属性的数组。

gtk_accessible_update_relation

更新无障碍关系的列表。

gtk_accessible_update_relation_value

更新无障碍关系的数组。

gtk_accessible_update_state

更新无障碍状态的列表。

gtk_accessible_update_state_value

更新无障碍状态的数组。

GtkBuildable(1)继承的方法
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

属性

Gtk.TreeExpander:child

带有实际内容的子组件。

Gtk.TreeExpander:hide-expander

指定是否在 GtkTreeListRow 中隐藏扩展器图标。请注意,此属性仅可隐藏图标。此属性不会影响操作和键盘绑定(即折叠和展开)。

自:4.10 起

Gtk.TreeExpander:indent-for-depth

TreeExpander 会依据深层结构缩进子组件。

自:4.10 起

Gtk.TreeExpander:indent-for-icon

如果TreeExpander不可扩展,它将以扩展器图标宽度缩进子控件。

自:4.6 起

Gtk.TreeExpander:item

此扩展器的行所保留的项。

Gtk.TreeExpander:list-row

用于跟踪扩展器状态的列表行。

GtkWidget(34)继承的属性
Gtk.Widget:can-focus

指定组件或任何子组件是否可以接受输入焦点。

Gtk.Widget:can-target

指定组件是否可以接收指针事件。

Gtk.Widget:css-classes

应用于此组件的一系列 css 类。

Gtk.Widget:css-name

CSS 树中此组件的名称。

Gtk.Widget:cursor

widget 使用的光标。

Gtk.Widget:focus-on-click

指定当用鼠标点击组件时,组件是否应抓取焦点。

Gtk.Widget:focusable

指定此组件自身是否可以接受输入焦点。

Gtk.Widget:halign

指定在组件获得额外空间时,如何分配水平空间。

Gtk.Widget:has-default

指定组件是否是默认组件。

Gtk.Widget:has-focus

指定组件是否具有输入焦点。

Gtk.Widget:has-tooltip

指定是否在 widget 上启用或禁用 GtkWidget::query-tooltip 信号的发射。

Gtk.Widget:height-request

覆盖组件的高度请求。

Gtk.Widget:hexpand

指定是否水平扩展。

Gtk.Widget:hexpand-set

指定是否使用 hexpand 属性。

Gtk.Widget:layout-manager

可用于计算组件的首选大小及其子组件分配的 GtkLayoutManager 实例。

Gtk.Widget:margin-bottom

组件底部的边距。

Gtk.Widget:margin-end

组件水平方向的末尾边距。

Gtk.Widget:margin-start

组件水平方向的起始边距。

Gtk.Widget:margin-top

组件顶部的边距。

Gtk.Widget:name

组件的名称。

Gtk.Widget:opacity

组件请求的不透明度。

Gtk.Widget:overflow

指定如何处理组件内容区域外部的内容。

Gtk.Widget:parent

此组件的父组件。

Gtk.Widget:receives-default

指定组件在获取焦点时是否将接收到默认操作。

Gtk.Widget:root

包含此组件的组件树的 GtkRoot 组件。

Gtk.Widget:scale-factor

组件的缩放比例。

Gtk.Widget:sensitive

指定组件是否响应输入。

Gtk.Widget:tooltip-markup

将工具提示文本设置为给定的字符串,该字符串以 Pango 标记标记。

Gtk.Widget:tooltip-text

将工具提示文本设置为给定字符串。

Gtk.Widget:valign

如果窗口小部件获取额外的空间,如何分配垂直空间。

Gtk.Widget:vexpand

是否垂直展开。

Gtk.Widget:vexpand-set

是否使用 vexpand 属性。

Gtk.Widget:visible

窗口小部件是否可见。

Gtk.Widget:width-request

窗口小部件的宽度请求的覆盖。

GtkAccessible (1) 中继承的属性
GtkAccessible:accessible-role

给定 GtkAccessible 实现的辅助功能角色。

信号

GtkWidget (13) 中继承的信号
GtkWidget::destroy

对窗口小部件的引用持有者应释放它们持有的引用的信号。

GtkWidget::direction-changed

窗口小部件的文本方向发生改变时发出。

GtkWidget::hide

widget 隐藏时发出。

GtkWidget::keynav-failed

如果键盘导航失败则发出。

GtkWidget::map

widget 即将映射时发出。

GtkWidget::mnemonic-activate

通过助记符激活窗口小部件时发出。

GtkWidget::move-focus

焦点移动时发出。

GtkWidget::query-tooltip

窗口小部件的工具提示即将显示时发出。

GtkWidget::realize

widgetGdkSurface 关联时发出。

GtkWidget::show

widget 显示时发出。

GtkWidget::state-flags-changed

窗口小部件状态改变时发出。

GtkWidget::unmap

widget 即将取消映射时发出。

GtkWidget::unrealize

widget 关联的 GdkSurface 被销毁时发出。

GObject (1) 继承的信号
GObject::notify

当对象的属性值通过 g_object_set_property()、g_object_set() 等设置时,notify 信号会发出。

类结构

struct GtkTreeExpanderClass {
  GtkWidgetClass parent_class;
  
}

无可用描述。

类成员
parent_class: GtkWidgetClass

无可用描述。