RichTextLabel¶
Inherits: Control < CanvasItem < Node < Object
Category: Core
Brief Description¶
Label that displays rich text.
Member Functions¶
void | add_image ( Texture image ) |
void | add_text ( String text ) |
int | append_bbcode ( String bbcode ) |
void | clear ( ) |
int | get_line_count ( ) const |
int | get_total_character_count ( ) const |
VScrollBar | get_v_scroll ( ) |
int | get_visible_line_count ( ) const |
void | newline ( ) |
int | parse_bbcode ( String bbcode ) |
void | pop ( ) |
void | push_align ( int align ) |
void | push_cell ( ) |
void | push_color ( Color color ) |
void | push_font ( Font font ) |
void | push_indent ( int level ) |
void | push_list ( int type ) |
void | push_meta ( Variant data ) |
void | push_table ( int columns ) |
void | push_underline ( ) |
bool | remove_line ( int line ) |
void | scroll_to_line ( int line ) |
void | set_table_column_expand ( int column, bool expand, int ratio ) |
Signals¶
- meta_clicked ( 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 String type. If a particular type or an object is desired, the push_meta 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 ( Nil meta )
Triggers when the mouse enters a meta tag.
Member Variables¶
- bool bbcode_enabled - If
true
the label uses BBCode formatting. Default value:false
. - String bbcode_text - 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.
- bool meta_underlined - If
true
, the label underlines meta tags such as url{text}. Default value:true
. - bool override_selected_font_color - If
true
the label uses the custom font color. Default value:false
. - float percent_visible - The text’s visibility, as a float between 0.0 and 1.0.
- bool scroll_active - If
true
, the scrollbar is visible. Does not block scrolling completely. See scroll_to_line. Default value:true
. - bool scroll_following - If
true
, the window scrolls down to display new content automatically. Default value:false
. - bool selection_enabled - If
true
, the label allows text selection. - int tab_size - The number of spaces associated with a single tab length. Does not affect “t” in text tags, only indent tags.
- String 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.
- int visible_characters - The restricted number of characters to display in the label.
Enums¶
enum ListType
- LIST_NUMBERS = 0
- LIST_LETTERS = 1
- LIST_DOTS = 2
enum Align
- ALIGN_LEFT = 0
- ALIGN_CENTER = 1
- ALIGN_RIGHT = 2
- ALIGN_FILL = 3
enum ItemType
- ITEM_FRAME = 0
- ITEM_TEXT = 1
- ITEM_IMAGE = 2
- ITEM_NEWLINE = 3
- ITEM_FONT = 4
- ITEM_COLOR = 5
- ITEM_UNDERLINE = 6
- ITEM_ALIGN = 7
- ITEM_INDENT = 8
- ITEM_LIST = 9
- ITEM_TABLE = 10
- ITEM_META = 11
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 bbcode_text clear the tag stack and reconstruct it from the property’s contents. Any edits made to bbcode_text will erase previous edits made from other manual sources such as append_bbcode and the push_*
/ pop methods.
Member Function Description¶
- void add_image ( Texture image )
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.
Parses bbcode
and adds tags to the tag stack as needed. Returns the result of the parsing, OK
if successful.
- void clear ( )
Clears the tag stack and sets bbcode_text to an empty string.
- int get_line_count ( ) const
Returns the total number of newlines in the tag stack’s text tags. Considers wrapped text as one line.
- int get_total_character_count ( ) const
Returns the total number of characters from text tags. Does not include bbcodes.
- VScrollBar get_v_scroll ( )
Returns the vertical scrollbar.
- int get_visible_line_count ( ) const
Returns the number of visible lines.
- void newline ( )
Adds a newline tag to the tag stack.
The assignment version of append_bbcode. Clears the tag stack and inserts the new content. Returns OK
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 ( int align )
Adds a [right]
tag to the tag stack.
- 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 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 ( int level )
Adds an [indent]
tag to the tag stack. Multiplies “level” by current tab_size to determine new margin length.
- void push_list ( int type )
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 ( Variant 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_table ( int columns )
Adds a [table=columns]
tag to the tag stack.
- void push_underline ( )
Adds a [u]
tag to the tag stack.
Removes a line of content from the label. Returns true
if the line exists.
- void scroll_to_line ( int line )
Scrolls the window’s top line to match line
.
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.