godot/doc/classes/RichTextLabel.xml
Rémi Verschelde 852b9691a6
Merge pull request #12940 from willnationsdev/richtextlabel-docs
[DOCS] Adding internal tag stack information and fleshing out descriptions
2017-11-17 00:32:10 +01:00

476 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="RichTextLabel" inherits="Control" category="Core" version="3.0-alpha">
<brief_description>
Label that displays rich text.
</brief_description>
<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 [member bbcode_text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member bbcode_text] will erase previous edits made from other manual sources such as [method append_bbcode] and the [code]push_*[/code] / [method pop] methods.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<method name="add_image">
<return type="void">
</return>
<argument index="0" name="image" type="Texture">
</argument>
<description>
Adds an image's opening and closing tags to the tag stack.
</description>
</method>
<method name="add_text">
<return type="void">
</return>
<argument index="0" name="text" type="String">
</argument>
<description>
Adds raw non-bbcode-parsed text to the tag stack.
</description>
</method>
<method name="append_bbcode">
<return type="int" enum="Error">
</return>
<argument index="0" name="bbcode" type="String">
</argument>
<description>
Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [code]OK[/code] if successful.
</description>
</method>
<method name="clear">
<return type="void">
</return>
<description>
Clears the tag stack and sets [member bbcode_text] to an empty string.
</description>
</method>
<method name="get_bbcode" qualifiers="const">
<return type="String">
</return>
<description>
Returns the bbcode-parsed [member bbcode_text].
</description>
</method>
<method name="get_line_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the total number of newlines in the tag stack's text tags. Considers wrapped text as one line.
</description>
</method>
<method name="get_percent_visible" qualifiers="const">
<return type="float">
</return>
<description>
Returns the text's visibility as a floating point value between 0.0 and 1.0.
</description>
</method>
<method name="get_tab_size" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of spaces associated with a single tab length. Does not affect "\t" in text tags, only indent tags.
</description>
</method>
<method name="get_text">
<return type="String">
</return>
<description>
Returns the raw content of [member bbcode_text].
</description>
</method>
<method name="get_total_character_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the total number of characters from text tags. Does not include bbcodes.
</description>
</method>
<method name="get_v_scroll">
<return type="VScrollBar">
</return>
<description>
Returns the vertical scrollbar.
</description>
</method>
<method name="get_visible_characters" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_visible_line_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of visible lines.
</description>
</method>
<method name="is_meta_underlined" qualifiers="const">
<return type="bool">
</return>
<description>
Returns [code]true[/code] if the label underlines meta tags such as [url]{text}[/url].
</description>
</method>
<method name="is_overriding_selected_font_color" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_scroll_active" qualifiers="const">
<return type="bool">
</return>
<description>
Returns [code]true[/code] if the scrollbar is visible. Does not block scrolling completely. See [method scroll_to_line].
</description>
</method>
<method name="is_scroll_following" qualifiers="const">
<return type="bool">
</return>
<description>
Returns [code]true[/code] if the window scrolls down to display new content automatically.
</description>
</method>
<method name="is_selection_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Returns [code]true[/code] if the label allows text selection.
</description>
</method>
<method name="is_using_bbcode" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="newline">
<return type="void">
</return>
<description>
Adds a newline tag to the tag stack.
</description>
</method>
<method name="parse_bbcode">
<return type="int" enum="Error">
</return>
<argument index="0" name="bbcode" type="String">
</argument>
<description>
The assignment version of [method append_bbcode]. Clears the tag stack and inserts the new content. Returns [code]OK[/code] if parses [code]bbcode[/code] successfully.
</description>
</method>
<method name="pop">
<return type="void">
</return>
<description>
Terminates the current tag. Use after [code]push_*[/code] methods to close bbcodes manually. Does not need to follow [code]add_*[/code] methods.
</description>
</method>
<method name="push_align">
<return type="void">
</return>
<argument index="0" name="align" type="int" enum="RichTextLabel.Align">
</argument>
<description>
Adds a [code][right][/code] tag to the tag stack.
</description>
</method>
<method name="push_cell">
<return type="void">
</return>
<description>
Adds a [code][cell][/code] tag to the tag stack. Must be inside a [table] tag. See [method push_table] for details.
</description>
</method>
<method name="push_color">
<return type="void">
</return>
<argument index="0" name="color" type="Color">
</argument>
<description>
Adds a [code][color][/code] tag to the tag stack.
</description>
</method>
<method name="push_font">
<return type="void">
</return>
<argument index="0" name="font" type="Font">
</argument>
<description>
Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for its duration.
</description>
</method>
<method name="push_indent">
<return type="void">
</return>
<argument index="0" name="level" type="int">
</argument>
<description>
Adds an [code][indent][/code] tag to the tag stack. Multiplies "level" by current tab_size to determine new margin length.
</description>
</method>
<method name="push_list">
<return type="void">
</return>
<argument index="0" name="type" type="int" enum="RichTextLabel.ListType">
</argument>
<description>
Adds a list tag to the tag stack. Similar to the bbcodes [code][ol][/code] or [code][ul][/code], but supports more list types. Not fully implemented!
</description>
</method>
<method name="push_meta">
<return type="void">
</return>
<argument index="0" name="data" type="Variant">
</argument>
<description>
Adds a meta tag to the tag stack. Similar to the bbcode [code][url=something]{text}[/url][/code], but supports non-[String] metadata types.
</description>
</method>
<method name="push_table">
<return type="void">
</return>
<argument index="0" name="columns" type="int">
</argument>
<description>
Adds a [code][table=columns][/code] tag to the tag stack.
</description>
</method>
<method name="push_underline">
<return type="void">
</return>
<description>
Adds a [code][u][/code] tag to the tag stack.
</description>
</method>
<method name="remove_line">
<return type="bool">
</return>
<argument index="0" name="line" type="int">
</argument>
<description>
Removes a line of content from the label. Returns [code]true[/code] if the line exists.
</description>
</method>
<method name="scroll_to_line">
<return type="void">
</return>
<argument index="0" name="line" type="int">
</argument>
<description>
Scrolls the window's top line to match [code]line[/code].
</description>
</method>
<method name="set_bbcode">
<return type="void">
</return>
<argument index="0" name="text" type="String">
</argument>
<description>
Sets the BBCode text to the label.
</description>
</method>
<method name="set_meta_underline">
<return type="void">
</return>
<argument index="0" name="enable" type="bool">
</argument>
<description>
If [code]true[/code] will underline meta tags such as the [url] bbcode. Default value: [code]true[/code].
</description>
</method>
<method name="set_override_selected_font_color">
<return type="void">
</return>
<argument index="0" name="override" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_percent_visible">
<return type="void">
</return>
<argument index="0" name="percent_visible" type="float">
</argument>
<description>
Sets the text's visibility. Takes a floating point value between 0.0 and 1.0.
</description>
</method>
<method name="set_scroll_active">
<return type="void">
</return>
<argument index="0" name="active" type="bool">
</argument>
<description>
If [code]false[/code] the vertical scrollbar is hidden. Default value: [code]true[/code].
</description>
</method>
<method name="set_scroll_follow">
<return type="void">
</return>
<argument index="0" name="follow" type="bool">
</argument>
<description>
If [code]true[/code] the window scrolls to reveal new content. Default value: [code]false[/code].
</description>
</method>
<method name="set_selection_enabled">
<return type="void">
</return>
<argument index="0" name="enabled" type="bool">
</argument>
<description>
If [code]true[/code] text can be selected.
</description>
</method>
<method name="set_tab_size">
<return type="void">
</return>
<argument index="0" name="spaces" type="int">
</argument>
<description>
Sets the current tab length in spaces. Use with [method push_indent] to redefine indent length.
</description>
</method>
<method name="set_table_column_expand">
<return type="void">
</return>
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="expand" type="bool">
</argument>
<argument index="2" name="ratio" type="int">
</argument>
<description>
Edits the selected columns expansion options. If [code]expand[/code] is [code]true[/code], 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 [code]false[/code] expand will not contribute to the total ratio.
</description>
</method>
<method name="set_text">
<return type="void">
</return>
<argument index="0" name="text" type="String">
</argument>
<description>
Clears the tag stack and adds a raw text tag to the top of it. Does not parse bbcodes. Does not modify [member bbcode_text].
</description>
</method>
<method name="set_use_bbcode">
<return type="void">
</return>
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_visible_characters">
<return type="void">
</return>
<argument index="0" name="amount" type="int">
</argument>
<description>
</description>
</method>
</methods>
<members>
<member name="bbcode_enabled" type="bool" setter="set_use_bbcode" getter="is_using_bbcode">
If [code]true[/code] the label uses BBCode formatting. Default value: [code]false[/code].
</member>
<member name="bbcode_text" type="String" setter="set_bbcode" 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.
</member>
<member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color">
If [code]true[/code] the label uses the custom font color. Default value: [code]false[/code].
</member>
<member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible">
The text's visibility, as a [float] between 0.0 and 1.0.
</member>
<member name="visible_characters" type="int" setter="set_visible_characters" getter="get_visible_characters">
The restricted number of characters to display in the label.
</member>
</members>
<signals>
<signal name="meta_clicked">
<argument index="0" name="meta" type="Nil">
</argument>
<description>
Triggered when the user clicks on content between [url] tags. If the meta is defined in text, e.g. [code][url={"data"="hi"}]hi[/url][/code], then the parameter for this signal will be a [String] type. If a particular type or an object is desired, the [method push_meta] method must be used to manually insert the data into the tag stack.
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0">
</constant>
<constant name="ALIGN_CENTER" value="1">
</constant>
<constant name="ALIGN_RIGHT" value="2">
</constant>
<constant name="ALIGN_FILL" value="3">
</constant>
<constant name="LIST_NUMBERS" value="0">
</constant>
<constant name="LIST_LETTERS" value="1">
</constant>
<constant name="LIST_DOTS" value="2">
</constant>
<constant name="ITEM_FRAME" value="0">
</constant>
<constant name="ITEM_TEXT" value="1">
</constant>
<constant name="ITEM_IMAGE" value="2">
</constant>
<constant name="ITEM_NEWLINE" value="3">
</constant>
<constant name="ITEM_FONT" value="4">
</constant>
<constant name="ITEM_COLOR" value="5">
</constant>
<constant name="ITEM_UNDERLINE" value="6">
</constant>
<constant name="ITEM_ALIGN" value="7">
</constant>
<constant name="ITEM_INDENT" value="8">
</constant>
<constant name="ITEM_LIST" value="9">
</constant>
<constant name="ITEM_TABLE" value="10">
</constant>
<constant name="ITEM_META" value="11">
</constant>
</constants>
<theme_items>
<theme_item name="bold_font" type="Font">
</theme_item>
<theme_item name="bold_italics_font" type="Font">
</theme_item>
<theme_item name="default_color" type="Color">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="italics_font" type="Font">
</theme_item>
<theme_item name="line_separation" type="int">
</theme_item>
<theme_item name="mono_font" type="Font">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="normal_font" type="Font">
</theme_item>
<theme_item name="selection_color" type="Color">
</theme_item>
<theme_item name="table_hseparation" type="int">
</theme_item>
<theme_item name="table_vseparation" type="int">
</theme_item>
</theme_items>
</class>