Files
godot-docs/classes/class_theme.rst
2021-04-07 11:34:00 +02:00

383 lines
25 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Theme.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Theme:
Theme
=====
**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_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<class_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/gui/gui_skinning`
Properties
----------
+-------------------------+--------------------------------------------------------+
| :ref:`Font<class_Font>` | :ref:`default_font<class_Theme_property_default_font>` |
+-------------------------+--------------------------------------------------------+
Methods
-------
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear<class_Theme_method_clear>` **(** **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_color<class_Theme_method_clear_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_constant<class_Theme_method_clear_constant>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_font<class_Theme_method_clear_font>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_icon<class_Theme_method_clear_icon>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_stylebox<class_Theme_method_clear_stylebox>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`copy_default_theme<class_Theme_method_copy_default_theme>` **(** **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`copy_theme<class_Theme_method_copy_theme>` **(** :ref:`Theme<class_Theme>` other **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_color<class_Theme_method_get_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_color_list<class_Theme_method_get_color_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_constant<class_Theme_method_get_constant>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_constant_list<class_Theme_method_get_constant_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Font<class_Font>` | :ref:`get_font<class_Theme_method_get_font>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_font_list<class_Theme_method_get_font_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`get_icon<class_Theme_method_get_icon>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_icon_list<class_Theme_method_get_icon_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`get_stylebox<class_Theme_method_get_stylebox>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_stylebox_list<class_Theme_method_get_stylebox_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_stylebox_types<class_Theme_method_get_stylebox_types>` **(** **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_type_list<class_Theme_method_get_type_list>` **(** :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_color<class_Theme_method_has_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_constant<class_Theme_method_has_constant>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_font<class_Theme_method_has_font>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_icon<class_Theme_method_has_icon>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_stylebox<class_Theme_method_has_stylebox>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_color<class_Theme_method_set_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Color<class_Color>` color **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_constant<class_Theme_method_set_constant>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`int<class_int>` constant **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_font<class_Theme_method_set_font>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Font<class_Font>` font **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_icon<class_Theme_method_set_icon>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Texture<class_Texture>` texture **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_stylebox<class_Theme_method_set_stylebox>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`StyleBox<class_StyleBox>` texture **)** |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Property Descriptions
---------------------
.. _class_Theme_property_default_font:
- :ref:`Font<class_Font>` **default_font**
+----------+-------------------------+
| *Setter* | set_default_font(value) |
+----------+-------------------------+
| *Getter* | get_default_font() |
+----------+-------------------------+
The theme's default font.
Method Descriptions
-------------------
.. _class_Theme_method_clear:
- void **clear** **(** **)**
Clears all values on the theme.
----
.. _class_Theme_method_clear_color:
- void **clear_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)**
Clears the :ref:`Color<class_Color>` at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_clear_constant:
- void **clear_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)**
Clears the constant at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_clear_font:
- void **clear_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)**
Clears the :ref:`Font<class_Font>` at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_clear_icon:
- void **clear_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)**
Clears the icon at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_clear_stylebox:
- void **clear_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)**
Clears :ref:`StyleBox<class_StyleBox>` at ``name`` if the theme has ``node_type``.
----
.. _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<class_Theme>` other **)**
Sets the theme's values to a copy of a given theme.
----
.. _class_Theme_method_get_color:
- :ref:`Color<class_Color>` **get_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns the :ref:`Color<class_Color>` at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_get_color_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_color_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the :ref:`Color<class_Color>`\ s as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each :ref:`Color<class_Color>`'s name, for use in :ref:`get_color<class_Theme_method_get_color>`, if the theme has ``node_type``.
----
.. _class_Theme_method_get_constant:
- :ref:`int<class_int>` **get_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns the constant at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_get_constant_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_constant_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the constants as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each constant's name, for use in :ref:`get_constant<class_Theme_method_get_constant>`, if the theme has ``node_type``.
----
.. _class_Theme_method_get_font:
- :ref:`Font<class_Font>` **get_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns the :ref:`Font<class_Font>` at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_get_font_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_font_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the :ref:`Font<class_Font>`\ s as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each :ref:`Font<class_Font>`'s name, for use in :ref:`get_font<class_Theme_method_get_font>`, if the theme has ``node_type``.
----
.. _class_Theme_method_get_icon:
- :ref:`Texture<class_Texture>` **get_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns the icon :ref:`Texture<class_Texture>` at ``name`` if the theme has ``node_type``.
----
.. _class_Theme_method_get_icon_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_icon_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the icons as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each :ref:`Texture<class_Texture>`'s name, for use in :ref:`get_icon<class_Theme_method_get_icon>`, if the theme has ``node_type``.
----
.. _class_Theme_method_get_stylebox:
- :ref:`StyleBox<class_StyleBox>` **get_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns the :ref:`StyleBox<class_StyleBox>` at ``name`` if the theme has ``node_type``.
Valid ``name``\ s may be found using :ref:`get_stylebox_list<class_Theme_method_get_stylebox_list>`. Valid ``node_type``\ s may be found using :ref:`get_stylebox_types<class_Theme_method_get_stylebox_types>`.
----
.. _class_Theme_method_get_stylebox_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_stylebox_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the :ref:`StyleBox<class_StyleBox>`\ s as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each :ref:`StyleBox<class_StyleBox>`'s name, for use in :ref:`get_stylebox<class_Theme_method_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>`.
----
.. _class_Theme_method_get_stylebox_types:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_stylebox_types** **(** **)** |const|
Returns all the :ref:`StyleBox<class_StyleBox>` types as a :ref:`PoolStringArray<class_PoolStringArray>` filled with each :ref:`StyleBox<class_StyleBox>`'s type, for use in :ref:`get_stylebox<class_Theme_method_get_stylebox>` and/or :ref:`get_stylebox_list<class_Theme_method_get_stylebox_list>`, if the theme has ``node_type``.
----
.. _class_Theme_method_get_type_list:
- :ref:`PoolStringArray<class_PoolStringArray>` **get_type_list** **(** :ref:`String<class_String>` node_type **)** |const|
Returns all the types in ``node_type`` as a :ref:`PoolStringArray<class_PoolStringArray>` for use in any of the ``get_*`` functions, if the theme has ``node_type``.
----
.. _class_Theme_method_has_color:
- :ref:`bool<class_bool>` **has_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns ``true`` if :ref:`Color<class_Color>` with ``name`` is in ``node_type``.
Returns ``false`` if the theme does not have ``node_type``.
----
.. _class_Theme_method_has_constant:
- :ref:`bool<class_bool>` **has_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_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_font:
- :ref:`bool<class_bool>` **has_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns ``true`` if :ref:`Font<class_Font>` with ``name`` is in ``node_type``.
Returns ``false`` if the theme does not have ``node_type``.
----
.. _class_Theme_method_has_icon:
- :ref:`bool<class_bool>` **has_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns ``true`` if icon :ref:`Texture<class_Texture>` with ``name`` is in ``node_type``.
Returns ``false`` if the theme does not have ``node_type``.
----
.. _class_Theme_method_has_stylebox:
- :ref:`bool<class_bool>` **has_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type **)** |const|
Returns ``true`` if :ref:`StyleBox<class_StyleBox>` with ``name`` is in ``node_type``.
Returns ``false`` if the theme does not have ``node_type``.
----
.. _class_Theme_method_set_color:
- void **set_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Color<class_Color>` color **)**
Sets the theme's :ref:`Color<class_Color>` to ``color`` at ``name`` in ``node_type``.
Does nothing if the theme does not have ``node_type``.
----
.. _class_Theme_method_set_constant:
- void **set_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`int<class_int>` constant **)**
Sets the theme's constant to ``constant`` at ``name`` in ``node_type``.
Does nothing if the theme does not have ``node_type``.
----
.. _class_Theme_method_set_font:
- void **set_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Font<class_Font>` font **)**
Sets the theme's :ref:`Font<class_Font>` to ``font`` at ``name`` in ``node_type``.
Does nothing if the theme does not have ``node_type``.
----
.. _class_Theme_method_set_icon:
- void **set_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`Texture<class_Texture>` texture **)**
Sets the theme's icon :ref:`Texture<class_Texture>` to ``texture`` at ``name`` in ``node_type``.
Does nothing if the theme does not have ``node_type``.
----
.. _class_Theme_method_set_stylebox:
- void **set_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` node_type, :ref:`StyleBox<class_StyleBox>` texture **)**
Sets theme's :ref:`StyleBox<class_StyleBox>` to ``stylebox`` at ``name`` in ``node_type``.
Does nothing if the theme does not have ``node_type``.
.. |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.)`