Files
godot-docs/classes/class_linkbutton.rst
2023-07-24 10:19:30 +00:00

400 lines
19 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/4.1/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.1/doc/classes/LinkButton.xml.
.. _class_LinkButton:
LinkButton
==========
**Inherits:** :ref:`BaseButton<class_BaseButton>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
A button that represents a link.
.. rst-class:: classref-introduction-group
Description
-----------
A button that represents a link. This type of button is primarily used for interactions that cause a context change (like linking to a web page).
See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
.. rst-class:: classref-reftable-group
Properties
----------
.. table::
:widths: auto
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``0`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`language<class_LinkButton_property_language>` | ``""`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``2`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_LinkButton_property_structured_text_bidi_override>` | ``0`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_LinkButton_property_structured_text_bidi_override_options>` | ``[]`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`text<class_LinkButton_property_text>` | ``""`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_LinkButton_property_text_direction>` | ``0`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` | :ref:`underline<class_LinkButton_property_underline>` | ``0`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`uri<class_LinkButton_property_uri>` | ``""`` |
+-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Theme Properties
----------------
.. table::
:widths: auto
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_color<class_LinkButton_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_focus_color<class_LinkButton_theme_color_font_focus_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_hover_color<class_LinkButton_theme_color_font_hover_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_outline_color<class_LinkButton_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_pressed_color<class_LinkButton_theme_color_font_pressed_color>` | ``Color(1, 1, 1, 1)`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`outline_size<class_LinkButton_theme_constant_outline_size>` | ``0`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`underline_spacing<class_LinkButton_theme_constant_underline_spacing>` | ``2`` |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`Font<class_Font>` | :ref:`font<class_LinkButton_theme_font_font>` | |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`font_size<class_LinkButton_theme_font_size_font_size>` | |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_LinkButton_theme_style_focus>` | |
+---------------------------------+-----------------------------------------------------------------------------+-----------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumerations
------------
.. _enum_LinkButton_UnderlineMode:
.. rst-class:: classref-enumeration
enum **UnderlineMode**:
.. _class_LinkButton_constant_UNDERLINE_MODE_ALWAYS:
.. rst-class:: classref-enumeration-constant
:ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` **UNDERLINE_MODE_ALWAYS** = ``0``
The LinkButton will always show an underline at the bottom of its text.
.. _class_LinkButton_constant_UNDERLINE_MODE_ON_HOVER:
.. rst-class:: classref-enumeration-constant
:ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` **UNDERLINE_MODE_ON_HOVER** = ``1``
The LinkButton will show an underline at the bottom of its text when the mouse cursor is over it.
.. _class_LinkButton_constant_UNDERLINE_MODE_NEVER:
.. rst-class:: classref-enumeration-constant
:ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` **UNDERLINE_MODE_NEVER** = ``2``
The LinkButton will never show an underline at the bottom of its text.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_LinkButton_property_language:
.. rst-class:: classref-property
:ref:`String<class_String>` **language** = ``""``
.. rst-class:: classref-property-setget
- void **set_language** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_language** **(** **)**
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_structured_text_bidi_override:
.. rst-class:: classref-property
:ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0``
.. rst-class:: classref-property-setget
- void **set_structured_text_bidi_override** **(** :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` value **)**
- :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override** **(** **)**
Set BiDi algorithm override for the structured text.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_structured_text_bidi_override_options:
.. rst-class:: classref-property
:ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]``
.. rst-class:: classref-property-setget
- void **set_structured_text_bidi_override_options** **(** :ref:`Array<class_Array>` value **)**
- :ref:`Array<class_Array>` **get_structured_text_bidi_override_options** **(** **)**
Set additional options for BiDi override.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_text:
.. rst-class:: classref-property
:ref:`String<class_String>` **text** = ``""``
.. rst-class:: classref-property-setget
- void **set_text** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_text** **(** **)**
The button's text that will be displayed inside the button's area.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_text_direction:
.. rst-class:: classref-property
:ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0``
.. rst-class:: classref-property-setget
- void **set_text_direction** **(** :ref:`TextDirection<enum_Control_TextDirection>` value **)**
- :ref:`TextDirection<enum_Control_TextDirection>` **get_text_direction** **(** **)**
Base text writing direction.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_underline:
.. rst-class:: classref-property
:ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` **underline** = ``0``
.. rst-class:: classref-property-setget
- void **set_underline_mode** **(** :ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` value **)**
- :ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` **get_underline_mode** **(** **)**
The underline mode to use for the text. See :ref:`UnderlineMode<enum_LinkButton_UnderlineMode>` for the available modes.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_property_uri:
.. rst-class:: classref-property
:ref:`String<class_String>` **uri** = ``""``
.. rst-class:: classref-property-setget
- void **set_uri** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_uri** **(** **)**
The `URI <https://en.wikipedia.org/wiki/Uniform_Resource_Identifier>`__ for this **LinkButton**. If set to a valid URI, pressing the button opens the URI using the operating system's default program for the protocol (via :ref:`OS.shell_open<class_OS_method_shell_open>`). HTTP and HTTPS URLs open the default web browser.
\ **Examples:**\
.. tabs::
.. code-tab:: gdscript
uri = "https://godotengine.org" # Opens the URL in the default web browser.
uri = "C:\SomeFolder" # Opens the file explorer at the given path.
uri = "C:\SomeImage.png" # Opens the given image in the default viewing app.
.. code-tab:: csharp
Uri = "https://godotengine.org"; // Opens the URL in the default web browser.
Uri = "C:\SomeFolder"; // Opens the file explorer at the given path.
Uri = "C:\SomeImage.png"; // Opens the given image in the default viewing app.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Theme Property Descriptions
---------------------------
.. _class_LinkButton_theme_color_font_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)``
Default text :ref:`Color<class_Color>` of the **LinkButton**.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_color_font_focus_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_focus_color** = ``Color(0.95, 0.95, 0.95, 1)``
Text :ref:`Color<class_Color>` used when the **LinkButton** is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_color_font_hover_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_hover_color** = ``Color(0.95, 0.95, 0.95, 1)``
Text :ref:`Color<class_Color>` used when the **LinkButton** is being hovered.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_color_font_outline_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_outline_color** = ``Color(1, 1, 1, 1)``
The tint of text outline of the **LinkButton**.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_color_font_pressed_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_pressed_color** = ``Color(1, 1, 1, 1)``
Text :ref:`Color<class_Color>` used when the **LinkButton** is being pressed.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_constant_outline_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **outline_size** = ``0``
The size of the text outline.
\ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_LinkButton_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_constant_underline_spacing:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **underline_spacing** = ``2``
The vertical space between the baseline of text and the underline.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_font_font:
.. rst-class:: classref-themeproperty
:ref:`Font<class_Font>` **font**
:ref:`Font<class_Font>` of the **LinkButton**'s text.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_font_size_font_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **font_size**
Font size of the **LinkButton**'s text.
.. rst-class:: classref-item-separator
----
.. _class_LinkButton_theme_style_focus:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **focus**
:ref:`StyleBox<class_StyleBox>` used when the **LinkButton** is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
.. |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.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`