Adding support to get the raw text without formatting information from a RichTextLabel.
This commit is contained in:
parent
ea108bed79
commit
aeb5365e84
3 changed files with 39 additions and 0 deletions
|
@ -21631,6 +21631,12 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
|
|||
Return [i]true[/i] if the "node" argument is a direct or indirect child of the current node, otherwise return [i]false[/i].
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_displayed_folded" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_fixed_processing" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
|
@ -21750,6 +21756,12 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
|
|||
Replace a node in a scene by a given one. Subscriptions that pass through this node will be lost.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_display_folded">
|
||||
<argument index="0" name="fold" type="bool">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_filename">
|
||||
<argument index="0" name="filename" type="String">
|
||||
</argument>
|
||||
|
@ -31508,6 +31520,13 @@ A similar effect may be achieved moving this node's descendants.
|
|||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_text">
|
||||
<return type="String">
|
||||
</return>
|
||||
<description>
|
||||
Returns the raw text, stripping out the formatting information.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_total_character_count" qualifiers="const">
|
||||
<return type="int">
|
||||
</return>
|
||||
|
|
|
@ -1941,11 +1941,30 @@ bool RichTextLabel::is_using_bbcode() const {
|
|||
|
||||
return use_bbcode;
|
||||
}
|
||||
|
||||
String RichTextLabel::get_text() {
|
||||
String text = "";
|
||||
Item *it = main;
|
||||
while (it) {
|
||||
if (it->type == ITEM_TEXT) {
|
||||
ItemText *t = static_cast<ItemText*>(it);
|
||||
text += t->text;
|
||||
} else if (it->type == ITEM_NEWLINE) {
|
||||
text += "\n";
|
||||
} else if (it->type == ITEM_INDENT) {
|
||||
text += "\t";
|
||||
}
|
||||
it=_get_next_item(it,true);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
void RichTextLabel::_bind_methods() {
|
||||
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("_input_event"),&RichTextLabel::_input_event);
|
||||
ObjectTypeDB::bind_method(_MD("_scroll_changed"),&RichTextLabel::_scroll_changed);
|
||||
ObjectTypeDB::bind_method(_MD("get_text"),&RichTextLabel::get_text);
|
||||
ObjectTypeDB::bind_method(_MD("add_text","text"),&RichTextLabel::add_text);
|
||||
ObjectTypeDB::bind_method(_MD("add_image","image:Texture"),&RichTextLabel::add_image);
|
||||
ObjectTypeDB::bind_method(_MD("newline"),&RichTextLabel::add_newline);
|
||||
|
|
|
@ -280,6 +280,7 @@ protected:
|
|||
|
||||
public:
|
||||
|
||||
String get_text();
|
||||
void add_text(const String& p_text);
|
||||
void add_image(const Ref<Texture>& p_image);
|
||||
void add_newline();
|
||||
|
|
Loading…
Reference in a new issue