:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/Theme.xml. .. _class_Theme: Theme ===== **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Theme for controls. 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. Tutorials --------- - :doc:`../tutorials/ui/gui_skinning` Properties ---------- +-------------------------+--------------------------------------------------------+ | :ref:`Font` | :ref:`default_font` | +-------------------------+--------------------------------------------------------+ Methods ------- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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 **)** | +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Enumerations ------------ .. _enum_Theme_DataType: .. _class_Theme_constant_DATA_TYPE_COLOR: .. _class_Theme_constant_DATA_TYPE_CONSTANT: .. _class_Theme_constant_DATA_TYPE_FONT: .. _class_Theme_constant_DATA_TYPE_ICON: .. _class_Theme_constant_DATA_TYPE_STYLEBOX: .. _class_Theme_constant_DATA_TYPE_MAX: enum **DataType**: - **DATA_TYPE_COLOR** = **0** --- Theme's :ref:`Color` item type. - **DATA_TYPE_CONSTANT** = **1** --- Theme's constant item type. - **DATA_TYPE_FONT** = **2** --- Theme's :ref:`Font` item type. - **DATA_TYPE_ICON** = **3** --- Theme's icon :ref:`Texture` item type. - **DATA_TYPE_STYLEBOX** = **4** --- Theme's :ref:`StyleBox` item type. - **DATA_TYPE_MAX** = **5** --- Maximum value for the DataType enum. Property Descriptions --------------------- .. _class_Theme_property_default_font: - :ref:`Font` **default_font** +----------+-------------------------+ | *Setter* | set_default_font(value) | +----------+-------------------------+ | *Getter* | 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. Method Descriptions ------------------- .. _class_Theme_method_add_type: - 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. ---- .. _class_Theme_method_clear: - void **clear** **(** **)** Clears all values on the theme. ---- .. _class_Theme_method_clear_color: - void **clear_color** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the :ref:`Color` at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_clear_constant: - void **clear_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the constant at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_clear_font: - void **clear_font** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the :ref:`Font` at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_clear_icon: - void **clear_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears the icon at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_clear_stylebox: - void **clear_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** Clears :ref:`StyleBox` at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_clear_theme_item: - 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 ``node_type``. ---- .. _class_Theme_method_clear_type_variation: - void **clear_type_variation** **(** :ref:`String` theme_type **)** Unmarks ``theme_type`` as being a variation of another theme type. See :ref:`set_type_variation`. ---- .. _class_Theme_method_copy_default_theme: - void **copy_default_theme** **(** **)** Sets the theme's values to a copy of the default theme values. ---- .. _class_Theme_method_copy_theme: - void **copy_theme** **(** :ref:`Theme` other **)** Sets the theme's values to a copy of a given theme. ---- .. _class_Theme_method_get_color: - :ref:`Color` **get_color** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`Color` at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_get_color_list: - :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 ``node_type``. ---- .. _class_Theme_method_get_color_types: - :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`. ---- .. _class_Theme_method_get_constant: - :ref:`int` **get_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the constant at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_get_constant_list: - :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 ``node_type``. ---- .. _class_Theme_method_get_constant_types: - :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`. ---- .. _class_Theme_method_get_font: - :ref:`Font` **get_font** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`Font` at ``name`` if the theme has ``node_type``. If such item does not exist and :ref:`default_font` is set on the theme, the default font will be returned. ---- .. _class_Theme_method_get_font_list: - :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 ``node_type``. ---- .. _class_Theme_method_get_font_types: - :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`. ---- .. _class_Theme_method_get_icon: - :ref:`Texture` **get_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the icon :ref:`Texture` at ``name`` if the theme has ``node_type``. ---- .. _class_Theme_method_get_icon_list: - :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 ``node_type``. ---- .. _class_Theme_method_get_icon_types: - :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`. ---- .. _class_Theme_method_get_stylebox: - :ref:`StyleBox` **get_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns the :ref:`StyleBox` at ``name`` if the theme has ``node_type``. Valid ``name``\ s may be found using :ref:`get_stylebox_list`. Valid ``node_type``\ s may be found using :ref:`get_stylebox_types`. ---- .. _class_Theme_method_get_stylebox_list: - :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 ``node_type``. Valid ``node_type``\ s may be found using :ref:`get_stylebox_types`. ---- .. _class_Theme_method_get_stylebox_types: - :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`. ---- .. _class_Theme_method_get_theme_item: - :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 ``node_type``. Valid ``name``\ s may be found using :ref:`get_theme_item_list` or a data type specific method. Valid ``node_type``\ s may be found using :ref:`get_theme_item_types` or a data type specific method. ---- .. _class_Theme_method_get_theme_item_list: - :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 ``node_type``. Valid ``node_type``\ s may be found using :ref:`get_theme_item_types` or a data type specific method. ---- .. _class_Theme_method_get_theme_item_types: - :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. ---- .. _class_Theme_method_get_type_list: - :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:** ``node_type`` has no effect and will be removed in future version. ---- .. _class_Theme_method_get_type_variation_base: - :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. ---- .. _class_Theme_method_get_type_variation_list: - :ref:`PoolStringArray` **get_type_variation_list** **(** :ref:`String` base_type **)** |const| Returns a list of all type variations for the given ``base_type``. ---- .. _class_Theme_method_has_color: - :ref:`bool` **has_color** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`Color` with ``name`` is in ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_has_constant: - :ref:`bool` **has_constant** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if constant with ``name`` is in ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_has_default_font: - :ref:`bool` **has_default_font** **(** **)** |const| Returns ``true`` if this theme has a valid :ref:`default_font` value. ---- .. _class_Theme_method_has_font: - :ref:`bool` **has_font** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`Font` with ``name`` is in ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_has_icon: - :ref:`bool` **has_icon** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if icon :ref:`Texture` with ``name`` is in ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_has_stylebox: - :ref:`bool` **has_stylebox** **(** :ref:`String` name, :ref:`String` theme_type **)** |const| Returns ``true`` if :ref:`StyleBox` with ``name`` is in ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_has_theme_item: - :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 ``node_type``. Returns ``false`` if the theme does not have ``node_type``. ---- .. _class_Theme_method_is_type_variation: - :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``. ---- .. _class_Theme_method_merge_with: - 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. ---- .. _class_Theme_method_remove_type: - 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. ---- .. _class_Theme_method_rename_color: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_rename_constant: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_rename_font: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_rename_icon: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_rename_stylebox: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_rename_theme_item: - 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 ``node_type``. If ``name`` is already taken, this method fails. ---- .. _class_Theme_method_set_color: - void **set_color** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Color` color **)** Sets the theme's :ref:`Color` to ``color`` at ``name`` in ``node_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_constant: - void **set_constant** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`int` constant **)** Sets the theme's constant to ``constant`` at ``name`` in ``node_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_font: - void **set_font** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`Font` font **)** Sets the theme's :ref:`Font` to ``font`` at ``name`` in ``node_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_icon: - 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 ``node_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_stylebox: - void **set_stylebox** **(** :ref:`String` name, :ref:`String` theme_type, :ref:`StyleBox` texture **)** Sets theme's :ref:`StyleBox` to ``stylebox`` at ``name`` in ``node_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_theme_item: - 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 ``node_type``. Does nothing if the ``value`` type does not match ``data_type``. Creates ``node_type`` if the theme does not have it. ---- .. _class_Theme_method_set_type_variation: - 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.)`