:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/Theme.xml. .. _class_Theme: Theme ===== **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Theme for controls. .. rst-class:: classref-introduction-group Description ----------- A theme for skinning controls. Controls can be skinned individually, but for complex applications, it's more practical to just create a global theme that defines everything. This theme can be applied to any :ref:`Control`; the Control and its children will automatically use it. Theme resources can alternatively be loaded by writing them in a ``.theme`` file, see the documentation for more information. .. rst-class:: classref-introduction-group Tutorials --------- - :doc:`../tutorials/ui/gui_skinning` .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-------------------------+--------------------------------------------------------+ | :ref:`Font` | :ref:`default_font` | +-------------------------+--------------------------------------------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_type` **(** :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_color` **(** :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_constant` **(** :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_font` **(** :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_icon` **(** :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_stylebox` **(** :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_theme_item` **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_type_variation` **(** :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`copy_default_theme` **(** **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`copy_theme` **(** :ref:`Theme` other **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_color` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_color_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_color_types` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_constant` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_constant_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_constant_types` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Font` | :ref:`get_font` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_font_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_font_types` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_icon` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_icon_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_icon_types` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StyleBox` | :ref:`get_stylebox` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_stylebox_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_stylebox_types` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_theme_item` **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_theme_item_list` **(** :ref:`DataType` data_type, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_theme_item_types` **(** :ref:`DataType` data_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_type_list` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_type_variation_base` **(** :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_type_variation_list` **(** :ref:`String` base_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_color` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_constant` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_default_font` **(** **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_font` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_icon` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_stylebox` **(** :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_theme_item` **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_type_variation` **(** :ref:`String` theme_type, :ref:`String` base_type **)** |const| | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`merge_with` **(** :ref:`Theme` other **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_type` **(** :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_color` **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_constant` **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_font` **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_icon` **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_stylebox` **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`rename_theme_item` **(** :ref:`DataType` data_type, :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_color` **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Color` color **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_constant` **(** :ref:`String` name, :ref:`String` theme_type, :ref:`int` constant **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_font` **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Font` font **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_icon` **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Texture` texture **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_stylebox` **(** :ref:`String` name, :ref:`String` theme_type, :ref:`StyleBox` texture **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_theme_item` **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type, :ref:`Variant` value **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_type_variation` **(** :ref:`String` theme_type, :ref:`String` base_type **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerations ------------ .. _enum_Theme_DataType: .. rst-class:: classref-enumeration enum **DataType**: .. _class_Theme_constant_DATA_TYPE_COLOR: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_COLOR** = ``0`` Theme's :ref:`Color` item type. .. _class_Theme_constant_DATA_TYPE_CONSTANT: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_CONSTANT** = ``1`` Theme's constant item type. .. _class_Theme_constant_DATA_TYPE_FONT: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_FONT** = ``2`` Theme's :ref:`Font` item type. .. _class_Theme_constant_DATA_TYPE_ICON: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_ICON** = ``3`` Theme's icon :ref:`Texture` item type. .. _class_Theme_constant_DATA_TYPE_STYLEBOX: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_STYLEBOX** = ``4`` Theme's :ref:`StyleBox` item type. .. _class_Theme_constant_DATA_TYPE_MAX: .. rst-class:: classref-enumeration-constant :ref:`DataType` **DATA_TYPE_MAX** = ``5`` Maximum value for the DataType enum. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_Theme_property_default_font: .. rst-class:: classref-property :ref:`Font` **default_font** .. rst-class:: classref-property-setget - void **set_default_font** **(** :ref:`Font` value **)** - :ref:`Font` **get_default_font** **(** **)** The default font of this **Theme** resource. Used as a fallback value for font items defined in this theme, but having invalid values. If this value is also invalid, the global default value is used. Use :ref:`has_default_font` to check if this value is valid. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_Theme_method_add_type: .. rst-class:: classref-method void **add_type** **(** :ref:`String` theme_type **)** Adds an empty theme type for every valid data type. \ **Note:** Empty types are not saved with the theme. This method only exists to perform in-memory changes to the resource. Use available ``set_*`` methods to add theme items. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear: .. rst-class:: classref-method void **clear** **(** **)** Clears all values on the theme. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_color: .. rst-class:: classref-method void **clear_color** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the :ref:`Color` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_constant: .. rst-class:: classref-method void **clear_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the constant at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_font: .. rst-class:: classref-method void **clear_font** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the :ref:`Font` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_icon: .. rst-class:: classref-method void **clear_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the icon at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_stylebox: .. rst-class:: classref-method void **clear_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears :ref:`StyleBox` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_theme_item: .. rst-class:: classref-method void **clear_theme_item** **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** Clears the theme item of ``data_type`` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_clear_type_variation: .. rst-class:: classref-method void **clear_type_variation** **(** :ref:`String` theme_type **)** Unmarks ``theme_type`` as being a variation of another theme type. See :ref:`set_type_variation`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_copy_default_theme: .. rst-class:: classref-method void **copy_default_theme** **(** **)** Sets the theme's values to a copy of the default theme values. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_copy_theme: .. rst-class:: classref-method void **copy_theme** **(** :ref:`Theme` other **)** Sets the theme's values to a copy of a given theme. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_color: .. rst-class:: classref-method :ref:`Color` **get_color** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`Color` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_color_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_color_list** **(** :ref:`String` theme_type **)** |const| Returns all the :ref:`Color`\ s as a :ref:`PoolStringArray` filled with each :ref:`Color`'s name, for use in :ref:`get_color`, if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_color_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_color_types** **(** **)** |const| Returns all the :ref:`Color` types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_color` and/or :ref:`get_color_list`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_constant: .. rst-class:: classref-method :ref:`int` **get_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the constant at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_constant_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_constant_list** **(** :ref:`String` theme_type **)** |const| Returns all the constants as a :ref:`PoolStringArray` filled with each constant's name, for use in :ref:`get_constant`, if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_constant_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_constant_types** **(** **)** |const| Returns all the constant types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_constant` and/or :ref:`get_constant_list`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_font: .. rst-class:: classref-method :ref:`Font` **get_font** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`Font` at ``name`` if the theme has ``theme_type``. If such item does not exist and :ref:`default_font` is set on the theme, the default font will be returned. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_font_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_font_list** **(** :ref:`String` theme_type **)** |const| Returns all the :ref:`Font`\ s as a :ref:`PoolStringArray` filled with each :ref:`Font`'s name, for use in :ref:`get_font`, if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_font_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_font_types** **(** **)** |const| Returns all the :ref:`Font` types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_font` and/or :ref:`get_font_list`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_icon: .. rst-class:: classref-method :ref:`Texture` **get_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the icon :ref:`Texture` at ``name`` if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_icon_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_icon_list** **(** :ref:`String` theme_type **)** |const| Returns all the icons as a :ref:`PoolStringArray` filled with each :ref:`Texture`'s name, for use in :ref:`get_icon`, if the theme has ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_icon_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_icon_types** **(** **)** |const| Returns all the icon types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_icon` and/or :ref:`get_icon_list`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_stylebox: .. rst-class:: classref-method :ref:`StyleBox` **get_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`StyleBox` at ``name`` if the theme has ``theme_type``. Valid ``name``\ s may be found using :ref:`get_stylebox_list`. Valid ``theme_type``\ s may be found using :ref:`get_stylebox_types`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_stylebox_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_stylebox_list** **(** :ref:`String` theme_type **)** |const| Returns all the :ref:`StyleBox`\ s as a :ref:`PoolStringArray` filled with each :ref:`StyleBox`'s name, for use in :ref:`get_stylebox`, if the theme has ``theme_type``. Valid ``theme_type``\ s may be found using :ref:`get_stylebox_types`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_stylebox_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_stylebox_types** **(** **)** |const| Returns all the :ref:`StyleBox` types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_stylebox` and/or :ref:`get_stylebox_list`. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_theme_item: .. rst-class:: classref-method :ref:`Variant` **get_theme_item** **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the theme item of ``data_type`` at ``name`` if the theme has ``theme_type``. Valid ``name``\ s may be found using :ref:`get_theme_item_list` or a data type specific method. Valid ``theme_type``\ s may be found using :ref:`get_theme_item_types` or a data type specific method. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_theme_item_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_theme_item_list** **(** :ref:`DataType` data_type, :ref:`String` theme_type **)** |const| Returns all the theme items of ``data_type`` as a :ref:`PoolStringArray` filled with each theme items's name, for use in :ref:`get_theme_item` or a data type specific method, if the theme has ``theme_type``. Valid ``theme_type``\ s may be found using :ref:`get_theme_item_types` or a data type specific method. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_theme_item_types: .. rst-class:: classref-method :ref:`PoolStringArray` **get_theme_item_types** **(** :ref:`DataType` data_type **)** |const| Returns all the theme items of ``data_type`` types as a :ref:`PoolStringArray` filled with unique type names, for use in :ref:`get_theme_item`, :ref:`get_theme_item_list` or data type specific methods. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_type_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_type_list** **(** :ref:`String` theme_type **)** |const| Returns all the theme types as a :ref:`PoolStringArray` filled with unique type names, for use in other ``get_*`` functions of this theme. \ **Note:** ``theme_type`` has no effect and will be removed in future version. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_type_variation_base: .. rst-class:: classref-method :ref:`String` **get_type_variation_base** **(** :ref:`String` theme_type **)** |const| Returns the name of the base theme type if ``theme_type`` is a valid variation type. Returns an empty string otherwise. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_get_type_variation_list: .. rst-class:: classref-method :ref:`PoolStringArray` **get_type_variation_list** **(** :ref:`String` base_type **)** |const| Returns a list of all type variations for the given ``base_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_color: .. rst-class:: classref-method :ref:`bool` **has_color** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`Color` with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_constant: .. rst-class:: classref-method :ref:`bool` **has_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if constant with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_default_font: .. rst-class:: classref-method :ref:`bool` **has_default_font** **(** **)** |const| Returns ``true`` if this theme has a valid :ref:`default_font` value. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_font: .. rst-class:: classref-method :ref:`bool` **has_font** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`Font` with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_icon: .. rst-class:: classref-method :ref:`bool` **has_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if icon :ref:`Texture` with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_stylebox: .. rst-class:: classref-method :ref:`bool` **has_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`StyleBox` with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_has_theme_item: .. rst-class:: classref-method :ref:`bool` **has_theme_item** **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if a theme item of ``data_type`` with ``name`` is in ``theme_type``. Returns ``false`` if the theme does not have ``theme_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_is_type_variation: .. rst-class:: classref-method :ref:`bool` **is_type_variation** **(** :ref:`String` theme_type, :ref:`String` base_type **)** |const| Returns ``true`` if ``theme_type`` is marked as a variation of ``base_type``. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_merge_with: .. rst-class:: classref-method void **merge_with** **(** :ref:`Theme` other **)** Adds missing and overrides existing definitions with values from the ``other`` **Theme**. \ **Note:** This modifies the current theme. If you want to merge two themes together without modifying either one, create a new empty theme and merge the other two into it one after another. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_remove_type: .. rst-class:: classref-method void **remove_type** **(** :ref:`String` theme_type **)** Removes the theme type, gracefully discarding defined theme items. If the type is a variation, this information is also erased. If the type is a base for type variations, those variations lose their base. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_color: .. rst-class:: classref-method void **rename_color** **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames the :ref:`Color` at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_constant: .. rst-class:: classref-method void **rename_constant** **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames the constant at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_font: .. rst-class:: classref-method void **rename_font** **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames the :ref:`Font` at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_icon: .. rst-class:: classref-method void **rename_icon** **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames the icon at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_stylebox: .. rst-class:: classref-method void **rename_stylebox** **(** :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames :ref:`StyleBox` at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_rename_theme_item: .. rst-class:: classref-method void **rename_theme_item** **(** :ref:`DataType` data_type, :ref:`String` old_name, :ref:`String` name, :ref:`String` theme_type **)** Renames the theme item of ``data_type`` at ``old_name`` to ``name`` if the theme has ``theme_type``. If ``name`` is already taken, this method fails. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_color: .. rst-class:: classref-method void **set_color** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Color` color **)** Sets the theme's :ref:`Color` to ``color`` at ``name`` in ``theme_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_constant: .. rst-class:: classref-method void **set_constant** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`int` constant **)** Sets the theme's constant to ``constant`` at ``name`` in ``theme_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_font: .. rst-class:: classref-method void **set_font** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Font` font **)** Sets the theme's :ref:`Font` to ``font`` at ``name`` in ``theme_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_icon: .. rst-class:: classref-method void **set_icon** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Texture` texture **)** Sets the theme's icon :ref:`Texture` to ``texture`` at ``name`` in ``theme_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_stylebox: .. rst-class:: classref-method void **set_stylebox** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`StyleBox` texture **)** Sets theme's :ref:`StyleBox` to ``stylebox`` at ``name`` in ``theme_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_theme_item: .. rst-class:: classref-method void **set_theme_item** **(** :ref:`DataType` data_type, :ref:`String` name, :ref:`String` theme_type, :ref:`Variant` value **)** Sets the theme item of ``data_type`` to ``value`` at ``name`` in ``theme_type``. Does nothing if the ``value`` type does not match ``data_type``. Creates ``theme_type`` if the theme does not have it. .. rst-class:: classref-item-separator ---- .. _class_Theme_method_set_type_variation: .. rst-class:: classref-method void **set_type_variation** **(** :ref:`String` theme_type, :ref:`String` base_type **)** Marks ``theme_type`` as a variation of ``base_type``. This adds ``theme_type`` as a suggested option for :ref:`Control.theme_type_variation` on a :ref:`Control` that is of the ``base_type`` class. Variations can also be nested, i.e. ``base_type`` can be another variation. If a chain of variations ends with a ``base_type`` matching the class of the :ref:`Control`, the whole chain is going to be suggested as options. \ **Note:** Suggestions only show up if this theme resource is set as the project default theme. See :ref:`ProjectSettings.gui/theme/custom`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`