RichTextLabel

    Category: Core

    Label that displays rich text.

    Properties

    Methods

    void ( Texture image )
    void ( String text )
    append_bbcode ( bbcode )
    voidclear ( )
    get_content_height ( )
    get_line_count ( ) const
    get_total_character_count ( ) const
    get_v_scroll ( )
    get_visible_line_count ( ) const
    void ( )
    Error ( String bbcode )
    void ( )
    voidpush_align ( align )
    voidpush_cell ( )
    void ( Color color )
    void ( Font font )
    void ( int level )
    void ( ListType type )
    void ( Variant data )
    void ( )
    voidpush_table ( columns )
    voidpush_underline ( )
    remove_line ( line )
    voidscroll_to_line ( line )
    voidset_table_column_expand ( column, bool expand, ratio )
    Fontbold_font
    bold_italics_font
    Colordefault_color
    focus
    Colorfont_color_selected
    font_color_shadow
    Fontitalics_font
    line_separation
    Fontmono_font
    normal
    Fontnormal_font
    selection_color
    intshadow_as_outline
    shadow_offset_x
    intshadow_offset_y
    table_hseparation
    inttable_vseparation

    Signals

    • meta_clicked ( meta )

    Triggered when the user clicks on content between tags. If the meta is defined in text, e.g. [url={"data"="hi"}]hi[/url], then the parameter for this signal will be a String type. If a particular type or an object is desired, the method must be used to manually insert the data into the tag stack.


    • meta_hover_ended ( Nil meta )

    Triggers when the mouse exits a meta tag.


    • meta_hover_started ( meta )

    Triggers when the mouse enters a meta tag.

    Enumerations

    enum Align:

    • ALIGN_LEFT = 0
    • ALIGN_CENTER = 1
    • ALIGN_RIGHT = 2
    • ALIGN_FILL = 3

    enum ListType:

    • LIST_NUMBERS = 0
    • LIST_LETTERS = 1
    • LIST_DOTS = 2

    enum ItemType:

    • ITEM_FRAME = 0
    • ITEM_TEXT = 1
    • 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

    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 bbcode_text clear the tag stack and reconstruct it from the property’s contents. Any edits made to will erase previous edits made from other manual sources such as append_bbcode and the push_* / methods.

    Tutorials

    Property Descriptions

    • bbcode_enabled
    Setterset_use_bbcode(value)
    Getteris_using_bbcode()

    If true, the label uses BBCode formatting. Default value: false.


    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.


    • meta_underlined
    Setterset_meta_underline(value)
    Getteris_meta_underlined()

    If true, the label underlines meta tags such as [url]{text}[/url]. Default value: true.


    • bool override_selected_font_color
    Setterset_override_selected_font_color(value)
    Getteris_overriding_selected_font_color()

    If true, the label uses the custom font color. Default value: false.


    • percent_visible
    Setterset_percent_visible(value)
    Getterget_percent_visible()

    The text’s visibility, as a float between 0.0 and 1.0.


    • scroll_active

    • bool scroll_following
    Setterset_scroll_follow(value)
    Getteris_scroll_following()

    If , the window scrolls down to display new content automatically. Default value: false.


    • selection_enabled
    Setterset_selection_enabled(value)
    Getteris_selection_enabled()

    If true, the label allows text selection.


    Setterset_tab_size(value)
    Getterget_tab_size()

    The number of spaces associated with a single tab length. Does not affect “\t” in text tags, only indent tags.


    • 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 bbcode_text.


    • visible_characters
    Setterset_visible_characters(value)
    Getterget_visible_characters()

    The restricted number of characters to display in the label.

    Adds an image’s opening and closing tags to the tag stack.


    • void add_text ( String text )

    Adds raw non-bbcode-parsed text to the tag stack.


    • append_bbcode ( String bbcode )

    Parses bbcode and adds tags to the tag stack as needed. Returns the result of the parsing, if successful.


    • void clear ( )

    Clears the tag stack and sets bbcode_text to an empty string.


    • get_content_height ( )

    Returns the height of the content.


    • int get_line_count ( ) const

    Returns the total number of newlines in the tag stack’s text tags. Considers wrapped text as one line.


    • get_total_character_count ( ) const

    Returns the total number of characters from text tags. Does not include bbcodes.


    Returns the vertical scrollbar.


    • get_visible_line_count ( ) const

    Returns the number of visible lines.


    • void newline ( )

    • Error parse_bbcode ( bbcode )

    The assignment version of append_bbcode. Clears the tag stack and inserts the new content. Returns if parses bbcode successfully.


    • void pop ( )

    Terminates the current tag. Use after push_* methods to close bbcodes manually. Does not need to follow add_* methods.


    • void push_align ( Align align )

    Adds an alignment tag based on the given align value. See for possible values.


    • void push_cell ( )

    Adds a [cell] tag to the tag stack. Must be inside a [table] tag. See push_table for details.


    • void push_color ( color )

    Adds a [color] tag to the tag stack.


    • void push_font ( Font font )

    Adds a [font] tag to the tag stack. Overrides default fonts for its duration.


    • void push_indent ( level )

    Adds an tag to the tag stack. Multiplies “level” by current tab_size to determine new margin length.


    Adds a list tag to the tag stack. Similar to the bbcodes [ol] or [ul], but supports more list types. Not fully implemented!


    • void push_meta ( data )

    Adds a meta tag to the tag stack. Similar to the bbcode [url=something]{text}[/url], but supports non-String metadata types.


    • void push_strikethrough ( )

    Adds a [s] tag to the tag stack.


    • void push_table ( columns )

    Adds a [table=columns] tag to the tag stack.


    • void push_underline ( )

    Adds a [u] tag to the tag stack.


    • bool remove_line ( line )

    Removes a line of content from the label. Returns true if the line exists.


    Scrolls the window’s top line to match line.


    • void set_table_column_expand ( int column, expand, 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.

    Columns with a false expand will not contribute to the total ratio.