Theme
Inherits: Resource < Reference < Object
控件的主题。
描述
控件的外观主题。控件可以单独定制外观,单对于复杂应用程序而言,直接创建一个全局的主题对整体进行定义更易于操作。主题可以应用于任何 Control;该控件极其子节点都会自动使用。
还可以通过编写 .theme
文件加载主题资源,更多信息见文档。
教程
属性
方法
void | clear ( ) |
void | clear_color ( String name, String node_type ) |
void | clear_constant ( String name, String node_type ) |
void | clear_font ( String name, String node_type ) |
void | clear_icon ( String name, String node_type ) |
void | clear_stylebox ( String name, String node_type ) |
void | clear_theme_item ( DataType data_type, String name, String node_type ) |
void | |
void | copy_theme ( Theme other ) |
get_color_list ( String node_type ) const | |
get_color_types ( ) const | |
get_constant ( String name, String node_type ) const | |
get_constant_list ( String node_type ) const | |
get_constant_types ( ) const | |
get_font_list ( String node_type ) const | |
get_font_types ( ) const | |
get_icon_list ( String node_type ) const | |
get_icon_types ( ) const | |
get_stylebox ( String name, String node_type ) const | |
get_stylebox_list ( String node_type ) const | |
get_stylebox_types ( ) const | |
get_theme_item ( DataType data_type, String name, String node_type ) const | |
get_theme_item_list ( DataType data_type, String node_type ) const | |
get_theme_item_types ( DataType data_type ) const | |
get_type_list ( String node_type ) const | |
has_constant ( String name, String node_type ) const | |
has_default_font ( ) const | |
has_stylebox ( String name, String node_type ) const | |
has_theme_item ( DataType data_type, String name, String node_type ) const | |
void | merge_with ( Theme other ) |
void | rename_color ( String old_name, String name, String node_type ) |
void | rename_constant ( String old_name, String name, String node_type ) |
void | rename_font ( String old_name, String name, String node_type ) |
void | rename_icon ( String old_name, String name, String node_type ) |
void | rename_stylebox ( String old_name, String name, String node_type ) |
void | rename_theme_item ( DataType data_type, String old_name, String name, String node_type ) |
void | |
void | set_constant ( String name, String node_type, int constant ) |
void | |
void | |
void | set_stylebox ( String name, String node_type, StyleBox texture ) |
void | set_theme_item ( DataType data_type, String name, String node_type, Variant value ) |
枚举
enum DataType:
DATA_TYPE_COLOR = 0 —- 主题的 Color 颜色项类型。
DATA_TYPE_CONSTANT = 1 —- 主题的常量项类型。
DATA_TYPE_FONT = 2 —- 主题的 Font 字体项类型。
DATA_TYPE_ICON = 3 —- 主题的图标Texture项类型。
DATA_TYPE_STYLEBOX = 4 —- 主题的StyleBox项目类型。
DATA_TYPE_MAX = 5 —- 数据类型枚举的最大值。
属性说明
- Font default_font
Setter | set_default_font(value) |
Getter | get_default_font() |
此 Theme
资源的默认字体。用作此主题中定义的字体项的后备值,但具有无效值。如果此值也无效,则使用全局默认值。
使用 has_default_font 来检查这个值是否有效。
方法说明
- void clear ( )
清除主题上的所有值。
如果主题包含 node_type
,则清除名为 name
的 Color颜色。
如果主题包含 node_type
,则清除名为 name
的常量。
如果主题包含 node_type
,则清除名为 name
的 Font字体。
如果主题包含 node_type
,则清除名为 name
的图标。
如果主题包含 node_type
,则清除名为 name
的 StyleBox样式盒。
如果主题具有 node_type
,则清除 name
处的 data_type
主题项。
- void copy_default_theme ( )
将主题的取值设置为默认主题的副本。
- void copy_theme ( Theme other )
将主题的取值设置为指定主题的副本。
如果主题有node_type
,返回name
处的Color。
- PoolStringArray get_color_list ( String node_type ) const
如果主题有node_type
,将所有的Color作为PoolStringArray返回,并填充每个Color的名称,用于get_color使用。
- PoolStringArray get_color_types ( ) const
返回所有的Color类型为PoolStringArray,其中填充了唯一类型名称,供get_color和/或get_color_list使用。
如果主题有node_type
,返回name
处的常量。
- PoolStringArray get_constant_list ( String node_type ) const
如果主题有node_type
,将所有常量作为PoolStringArray返回,并填充每个常量的名称,以供get_constant使用。
- PoolStringArray get_constant_types ( ) const
返回所有的常量类型为PoolStringArray,其中填充唯一的类型名称,以供get_constant和/或get_constant_list使用。
如果主题有node_type
,返回name
处的Font。
- PoolStringArray get_font_list ( String node_type ) const
如果主题有node_type
,将所有的Font作为PoolStringArray返回,并填入每个Font的名称,以供get_font使用。
- PoolStringArray get_font_types ( ) const
返回所有的Font类型为PoolStringArray,其中填充唯一的类型名称,以供get_font和/或get_font_list使用。
如果主题有node_type
,返回name
处的图标Texture。
- PoolStringArray get_icon_list ( String node_type ) const
如果主题有node_type
,则返回所有的图标为一个PoolStringArray,并填入每个Texture的名称,以供get_icon使用。
- PoolStringArray get_icon_types ( ) const
返回所有的图标类型为PoolStringArray,其中填充唯一的类型名称,以供get_icon和/或get_icon_list使用。
如果主题有node_type
,返回name
处的StyleBox。
可以使用get_stylebox_list找到有效的name
。可以通过get_stylebox_types来找到有效的node_type
。
- PoolStringArray get_stylebox_list ( String node_type ) const
如果主题有node_type
,则返回所有StyleBox的PoolStringArray,并填入每个StyleBox的名称,以供get_stylebox使用。
可以使用get_stylebox_types找到有效的node_type
。
- PoolStringArray get_stylebox_types ( ) const
返回所有StyleBox类型为PoolStringArray,其中填充了唯一的类型名称,以供get_stylebox和/或get_stylebox_list使用。
如果主题有 node_type
,则以 name
返回 data_type
的主题项目。
使用 get_theme_item_list 或数据类型特定方法,可能会找到有效的 name
。可以使用 get_theme_item_types 或数据类型特定方法,找到有效的 node_type
。
- PoolStringArray get_theme_item_list ( DataType data_type, String node_type ) const
返回所有data_type
的主题项目,以PoolStringArray的形式填入每个主题项目的名称,如果主题有node_type
,可以在get_theme_item或特定数据类型方法中使用。
可以通过get_theme_item_types或特定数据类型的方法找到有效的node_type
。
- PoolStringArray get_theme_item_types ( DataType data_type ) const
返回所有data_type
类型的主题项,作为填入唯一类型名称的PoolStringArray,以供get_theme_item、get_theme_item_list或数据类型特定方法使用。
- PoolStringArray get_type_list ( String node_type ) const
将所有的主题类型作为一个PoolStringArray返回,其中填入了唯一的类型名称,以供这个主题的其他get_*
函数使用。
注意:node_type
没有生效,在未来的版本中会被删除。
如果带有name
的Color在node_type
中,则返回true
。
如果主题没有node_type
,则返回false
。
如果带有name
的常量在node_type
中,则返回true
。
如果主题没有node_type
,则返回false
。
- bool has_default_font ( ) const
如果这个主题有一个有效的default_font值,返回true
。
如果带有name
的Font在node_type
中,则返回true
。
如果主题没有node_type
,则返回false
。
如果带有name
的图标Texture在node_type
中,则返回true
。
如果主题没有node_type
,则返回false
。
如果带有name
的StyleBox在node_type
中,返回true
。
如果主题没有node_type
,则返回false
。
如果一个data_type
的主题项目与name
在node_type
中,则返回true
。
如果该主题没有node_type
,则返回false
。
- void merge_with ( Theme other )
用other``Theme
的值添加缺失的,和覆盖现有的定义。
注意: 这将修改当前的主题。如果你想在不修改任何一个主题的情况下将两个主题合并在一起,请创建一个新的空主题,然后将另外两个主题逐个合并到其中。
如果主题有node_type
,则将old_name
的Color重命名为name
。如果name
已经被占用,则此方法将失败。
如果主题有node_type
,则将old_name
的常量重命名为name
。如果name
已经被占用,则此方法失败。
如果主题有node_type
,则将old_name
的Font重命名为name
。如果name
已经被占用,则此方法失败。
如果主题有node_type
,将old_name
的图标重命名为name
。如果name
已经被占用,则此方法失败。
如果主题有node_type
,则将StyleBox在old_name
重命名为name
。如果name
已经被占用,此方法会失败。
如果主题具有 node_type
,则将 old_name
处的 data_type
的主题项重命名为 name
。如果 name
已经被占用,则此方法失败。
在node_type
中的name
处,设置主题的Color为color
。
如果主题没有node_type
,则创建该节点。
在node_type
中的name
处,将主题的常量设置为constant
。
如果主题没有,则创建node_type
。
在node_type
中的name
处将主题的 Font 设置为font
。
如果主题没有node_type
,则创建该节点。
在node_type
中的name
处设置主题的图标Texture为texture
。
如果主题没有node_type
,则创建该节点。
将主题的StyleBox设置为stylebox
,在node_type
的name
处。
如果主题没有node_type
,则创建该节点。
将data_type
的主题项目设置为value
,在node_type
中的name
。
如果value
类型与data_type
不匹配,则不做任何处理。
如果主题没有node_type
,则创建该类型。