.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the RichTextLabel.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_RichTextLabel: RichTextLabel ============= **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Label that displays rich text. Properties ---------- +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`bbcode_enabled` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`bbcode_text` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`meta_underlined` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`override_selected_font_color` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`percent_visible` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_active` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_following` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`selection_enabled` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`tab_size` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`text` | +-----------------------------+------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`visible_characters` | +-----------------------------+------------------------------------------------------------------------------------------------+ Methods ------- +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_image` **(** :ref:`Texture` image **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_text` **(** :ref:`String` text **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`append_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_content_height` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_count` **(** **)** const | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_total_character_count` **(** **)** const | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`VScrollBar` | :ref:`get_v_scroll` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_visible_line_count` **(** **)** const | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`newline` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`parse_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`pop` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_align` **(** :ref:`Align` align **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_cell` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_color` **(** :ref:`Color` color **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_font` **(** :ref:`Font` font **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_indent` **(** :ref:`int` level **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_list` **(** :ref:`ListType` type **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_meta` **(** :ref:`Variant` data **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_strikethrough` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_table` **(** :ref:`int` columns **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_underline` **(** **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`remove_line` **(** :ref:`int` line **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scroll_to_line` **(** :ref:`int` line **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_table_column_expand` **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** | +---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Theme Properties ---------------- +---------------------------------+---------------------+ | :ref:`Font` | bold_font | +---------------------------------+---------------------+ | :ref:`Font` | bold_italics_font | +---------------------------------+---------------------+ | :ref:`Color` | default_color | +---------------------------------+---------------------+ | :ref:`StyleBox` | focus | +---------------------------------+---------------------+ | :ref:`Color` | font_color_selected | +---------------------------------+---------------------+ | :ref:`Color` | font_color_shadow | +---------------------------------+---------------------+ | :ref:`Font` | italics_font | +---------------------------------+---------------------+ | :ref:`int` | line_separation | +---------------------------------+---------------------+ | :ref:`Font` | mono_font | +---------------------------------+---------------------+ | :ref:`StyleBox` | normal | +---------------------------------+---------------------+ | :ref:`Font` | normal_font | +---------------------------------+---------------------+ | :ref:`Color` | selection_color | +---------------------------------+---------------------+ | :ref:`int` | shadow_as_outline | +---------------------------------+---------------------+ | :ref:`int` | shadow_offset_x | +---------------------------------+---------------------+ | :ref:`int` | shadow_offset_y | +---------------------------------+---------------------+ | :ref:`int` | table_hseparation | +---------------------------------+---------------------+ | :ref:`int` | table_vseparation | +---------------------------------+---------------------+ Signals ------- .. _class_RichTextLabel_signal_meta_clicked: - **meta_clicked** **(** :ref:`Nil` meta **)** Triggered when the user clicks on content between ``[url]`` tags. If the meta is defined in text, e.g. ``[url={"data"="hi"}]hi[/url]``, then the parameter for this signal will be a :ref:`String` type. If a particular type or an object is desired, the :ref:`push_meta` method must be used to manually insert the data into the tag stack. .. _class_RichTextLabel_signal_meta_hover_ended: - **meta_hover_ended** **(** :ref:`Nil` meta **)** Triggers when the mouse exits a meta tag. .. _class_RichTextLabel_signal_meta_hover_started: - **meta_hover_started** **(** :ref:`Nil` meta **)** Triggers when the mouse enters a meta tag. Enumerations ------------ .. _enum_RichTextLabel_Align: .. _class_RichTextLabel_constant_ALIGN_LEFT: .. _class_RichTextLabel_constant_ALIGN_CENTER: .. _class_RichTextLabel_constant_ALIGN_RIGHT: .. _class_RichTextLabel_constant_ALIGN_FILL: enum **Align**: - **ALIGN_LEFT** = **0** - **ALIGN_CENTER** = **1** - **ALIGN_RIGHT** = **2** - **ALIGN_FILL** = **3** .. _enum_RichTextLabel_ListType: .. _class_RichTextLabel_constant_LIST_NUMBERS: .. _class_RichTextLabel_constant_LIST_LETTERS: .. _class_RichTextLabel_constant_LIST_DOTS: enum **ListType**: - **LIST_NUMBERS** = **0** - **LIST_LETTERS** = **1** - **LIST_DOTS** = **2** .. _enum_RichTextLabel_ItemType: .. _class_RichTextLabel_constant_ITEM_FRAME: .. _class_RichTextLabel_constant_ITEM_TEXT: .. _class_RichTextLabel_constant_ITEM_IMAGE: .. _class_RichTextLabel_constant_ITEM_NEWLINE: .. _class_RichTextLabel_constant_ITEM_FONT: .. _class_RichTextLabel_constant_ITEM_COLOR: .. _class_RichTextLabel_constant_ITEM_UNDERLINE: .. _class_RichTextLabel_constant_ITEM_STRIKETHROUGH: .. _class_RichTextLabel_constant_ITEM_ALIGN: .. _class_RichTextLabel_constant_ITEM_INDENT: .. _class_RichTextLabel_constant_ITEM_LIST: .. _class_RichTextLabel_constant_ITEM_TABLE: .. _class_RichTextLabel_constant_ITEM_META: enum **ItemType**: - **ITEM_FRAME** = **0** - **ITEM_TEXT** = **1** - **ITEM_IMAGE** = **2** - **ITEM_NEWLINE** = **3** - **ITEM_FONT** = **4** - **ITEM_COLOR** = **5** - **ITEM_UNDERLINE** = **6** - **ITEM_STRIKETHROUGH** = **7** - **ITEM_ALIGN** = **8** - **ITEM_INDENT** = **9** - **ITEM_LIST** = **10** - **ITEM_TABLE** = **11** - **ITEM_META** = **12** Description ----------- Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights. Note that assignments to :ref:`bbcode_text` clear the tag stack and reconstruct it from the property's contents. Any edits made to :ref:`bbcode_text` will erase previous edits made from other manual sources such as :ref:`append_bbcode` and the ``push_*`` / :ref:`pop` methods. Tutorials --------- - :doc:`../tutorials/gui/bbcode_in_richtextlabel` Property Descriptions --------------------- .. _class_RichTextLabel_property_bbcode_enabled: - :ref:`bool` **bbcode_enabled** +----------+-----------------------+ | *Setter* | set_use_bbcode(value) | +----------+-----------------------+ | *Getter* | is_using_bbcode() | +----------+-----------------------+ If ``true``, the label uses BBCode formatting. Default value: ``false``. .. _class_RichTextLabel_property_bbcode_text: - :ref:`String` **bbcode_text** +----------+-------------------+ | *Setter* | set_bbcode(value) | +----------+-------------------+ | *Getter* | get_bbcode() | +----------+-------------------+ The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited. .. _class_RichTextLabel_property_meta_underlined: - :ref:`bool` **meta_underlined** +----------+---------------------------+ | *Setter* | set_meta_underline(value) | +----------+---------------------------+ | *Getter* | is_meta_underlined() | +----------+---------------------------+ If ``true``, the label underlines meta tags such as ``[url]{text}[/url]``. Default value: ``true``. .. _class_RichTextLabel_property_override_selected_font_color: - :ref:`bool` **override_selected_font_color** +----------+-----------------------------------------+ | *Setter* | set_override_selected_font_color(value) | +----------+-----------------------------------------+ | *Getter* | is_overriding_selected_font_color() | +----------+-----------------------------------------+ If ``true``, the label uses the custom font color. Default value: ``false``. .. _class_RichTextLabel_property_percent_visible: - :ref:`float` **percent_visible** +----------+----------------------------+ | *Setter* | set_percent_visible(value) | +----------+----------------------------+ | *Getter* | get_percent_visible() | +----------+----------------------------+ The text's visibility, as a :ref:`float` between 0.0 and 1.0. .. _class_RichTextLabel_property_scroll_active: - :ref:`bool` **scroll_active** +----------+--------------------------+ | *Setter* | set_scroll_active(value) | +----------+--------------------------+ | *Getter* | is_scroll_active() | +----------+--------------------------+ If ``true``, the scrollbar is visible. Does not block scrolling completely. See :ref:`scroll_to_line`. Default value: ``true``. .. _class_RichTextLabel_property_scroll_following: - :ref:`bool` **scroll_following** +----------+--------------------------+ | *Setter* | set_scroll_follow(value) | +----------+--------------------------+ | *Getter* | is_scroll_following() | +----------+--------------------------+ If ``true``, the window scrolls down to display new content automatically. Default value: ``false``. .. _class_RichTextLabel_property_selection_enabled: - :ref:`bool` **selection_enabled** +----------+------------------------------+ | *Setter* | set_selection_enabled(value) | +----------+------------------------------+ | *Getter* | is_selection_enabled() | +----------+------------------------------+ If ``true``, the label allows text selection. .. _class_RichTextLabel_property_tab_size: - :ref:`int` **tab_size** +----------+---------------------+ | *Setter* | set_tab_size(value) | +----------+---------------------+ | *Getter* | get_tab_size() | +----------+---------------------+ The number of spaces associated with a single tab length. Does not affect "\\t" in text tags, only indent tags. .. _class_RichTextLabel_property_text: - :ref:`String` **text** +----------+-----------------+ | *Setter* | set_text(value) | +----------+-----------------+ | *Getter* | get_text() | +----------+-----------------+ The raw text of the label. When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse bbcodes. Does not modify :ref:`bbcode_text`. .. _class_RichTextLabel_property_visible_characters: - :ref:`int` **visible_characters** +----------+-------------------------------+ | *Setter* | set_visible_characters(value) | +----------+-------------------------------+ | *Getter* | get_visible_characters() | +----------+-------------------------------+ The restricted number of characters to display in the label. Method Descriptions ------------------- .. _class_RichTextLabel_method_add_image: - void **add_image** **(** :ref:`Texture` image **)** Adds an image's opening and closing tags to the tag stack. .. _class_RichTextLabel_method_add_text: - void **add_text** **(** :ref:`String` text **)** Adds raw non-bbcode-parsed text to the tag stack. .. _class_RichTextLabel_method_append_bbcode: - :ref:`Error` **append_bbcode** **(** :ref:`String` bbcode **)** Parses ``bbcode`` and adds tags to the tag stack as needed. Returns the result of the parsing, ``OK`` if successful. .. _class_RichTextLabel_method_clear: - void **clear** **(** **)** Clears the tag stack and sets :ref:`bbcode_text` to an empty string. .. _class_RichTextLabel_method_get_content_height: - :ref:`int` **get_content_height** **(** **)** Returns the height of the content. .. _class_RichTextLabel_method_get_line_count: - :ref:`int` **get_line_count** **(** **)** const Returns the total number of newlines in the tag stack's text tags. Considers wrapped text as one line. .. _class_RichTextLabel_method_get_total_character_count: - :ref:`int` **get_total_character_count** **(** **)** const Returns the total number of characters from text tags. Does not include bbcodes. .. _class_RichTextLabel_method_get_v_scroll: - :ref:`VScrollBar` **get_v_scroll** **(** **)** Returns the vertical scrollbar. .. _class_RichTextLabel_method_get_visible_line_count: - :ref:`int` **get_visible_line_count** **(** **)** const Returns the number of visible lines. .. _class_RichTextLabel_method_newline: - void **newline** **(** **)** Adds a newline tag to the tag stack. .. _class_RichTextLabel_method_parse_bbcode: - :ref:`Error` **parse_bbcode** **(** :ref:`String` bbcode **)** The assignment version of :ref:`append_bbcode`. Clears the tag stack and inserts the new content. Returns ``OK`` if parses ``bbcode`` successfully. .. _class_RichTextLabel_method_pop: - void **pop** **(** **)** Terminates the current tag. Use after ``push_*`` methods to close bbcodes manually. Does not need to follow ``add_*`` methods. .. _class_RichTextLabel_method_push_align: - void **push_align** **(** :ref:`Align` align **)** Adds an alignment tag based on the given ``align`` value. See :ref:`Align` for possible values. .. _class_RichTextLabel_method_push_cell: - void **push_cell** **(** **)** Adds a ``[cell]`` tag to the tag stack. Must be inside a ``[table]`` tag. See :ref:`push_table` for details. .. _class_RichTextLabel_method_push_color: - void **push_color** **(** :ref:`Color` color **)** Adds a ``[color]`` tag to the tag stack. .. _class_RichTextLabel_method_push_font: - void **push_font** **(** :ref:`Font` font **)** Adds a ``[font]`` tag to the tag stack. Overrides default fonts for its duration. .. _class_RichTextLabel_method_push_indent: - void **push_indent** **(** :ref:`int` level **)** Adds an ``[indent]`` tag to the tag stack. Multiplies "level" by current tab_size to determine new margin length. .. _class_RichTextLabel_method_push_list: - void **push_list** **(** :ref:`ListType` type **)** Adds a list tag to the tag stack. Similar to the bbcodes ``[ol]`` or ``[ul]``, but supports more list types. Not fully implemented! .. _class_RichTextLabel_method_push_meta: - void **push_meta** **(** :ref:`Variant` data **)** Adds a meta tag to the tag stack. Similar to the bbcode ``[url=something]{text}[/url]``, but supports non-:ref:`String` metadata types. .. _class_RichTextLabel_method_push_strikethrough: - void **push_strikethrough** **(** **)** Adds a ``[s]`` tag to the tag stack. .. _class_RichTextLabel_method_push_table: - void **push_table** **(** :ref:`int` columns **)** Adds a ``[table=columns]`` tag to the tag stack. .. _class_RichTextLabel_method_push_underline: - void **push_underline** **(** **)** Adds a ``[u]`` tag to the tag stack. .. _class_RichTextLabel_method_remove_line: - :ref:`bool` **remove_line** **(** :ref:`int` line **)** Removes a line of content from the label. Returns ``true`` if the line exists. .. _class_RichTextLabel_method_scroll_to_line: - void **scroll_to_line** **(** :ref:`int` line **)** Scrolls the window's top line to match ``line``. .. _class_RichTextLabel_method_set_table_column_expand: - void **set_table_column_expand** **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** Edits the selected columns expansion options. If ``expand`` is ``true``, the column expands in proportion to its expansion ratio versus the other columns' ratios. For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively. Columns with a ``false`` expand will not contribute to the total ratio.