You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Add RichTextLabel is_finished(), deprecate is_ready()
This commit is contained in:
@@ -70,7 +70,7 @@
|
|||||||
<param index="0" name="character" type="int" />
|
<param index="0" name="character" type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the line number of the character position provided. Line and character numbers are both zero-indexed.
|
Returns the line number of the character position provided. Line and character numbers are both zero-indexed.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_character_paragraph">
|
<method name="get_character_paragraph">
|
||||||
@@ -78,28 +78,28 @@
|
|||||||
<param index="0" name="character" type="int" />
|
<param index="0" name="character" type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the paragraph number of the character position provided. Paragraph and character numbers are both zero-indexed.
|
Returns the paragraph number of the character position provided. Paragraph and character numbers are both zero-indexed.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_content_height" qualifiers="const">
|
<method name="get_content_height" qualifiers="const">
|
||||||
<return type="int" />
|
<return type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the height of the content.
|
Returns the height of the content.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_content_width" qualifiers="const">
|
<method name="get_content_width" qualifiers="const">
|
||||||
<return type="int" />
|
<return type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the width of the content.
|
Returns the width of the content.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_line_count" qualifiers="const">
|
<method name="get_line_count" qualifiers="const">
|
||||||
<return type="int" />
|
<return type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the total number of lines in the text. Wrapped text is counted as multiple lines.
|
Returns the total number of lines in the text. Wrapped text is counted as multiple lines.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_line_offset">
|
<method name="get_line_offset">
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
<param index="0" name="line" type="int" />
|
<param index="0" name="line" type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the vertical offset of the line found at the provided index.
|
Returns the vertical offset of the line found at the provided index.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_menu" qualifiers="const">
|
<method name="get_menu" qualifiers="const">
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
<param index="0" name="paragraph" type="int" />
|
<param index="0" name="paragraph" type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the vertical offset of the paragraph found at the provided index.
|
Returns the vertical offset of the paragraph found at the provided index.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_parsed_text" qualifiers="const">
|
<method name="get_parsed_text" qualifiers="const">
|
||||||
@@ -211,14 +211,14 @@
|
|||||||
<return type="int" />
|
<return type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the number of visible lines.
|
Returns the number of visible lines.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_visible_paragraph_count" qualifiers="const">
|
<method name="get_visible_paragraph_count" qualifiers="const">
|
||||||
<return type="int" />
|
<return type="int" />
|
||||||
<description>
|
<description>
|
||||||
Returns the number of visible paragraphs. A paragraph is considered visible if at least one of its lines is visible.
|
Returns the number of visible paragraphs. A paragraph is considered visible if at least one of its lines is visible.
|
||||||
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_ready] or [signal finished] to determine whether document is fully loaded.
|
[b]Note:[/b] If [member threaded] is enabled, this method returns a value for the loaded part of the document. Use [method is_finished] or [signal finished] to determine whether document is fully loaded.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="install_effect">
|
<method name="install_effect">
|
||||||
@@ -256,13 +256,19 @@
|
|||||||
Invalidates [param paragraph] and all subsequent paragraphs cache.
|
Invalidates [param paragraph] and all subsequent paragraphs cache.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="is_finished" qualifiers="const">
|
||||||
|
<return type="bool" />
|
||||||
|
<description>
|
||||||
|
If [member threaded] is enabled, returns [code]true[/code] if the background thread has finished text processing, otherwise always return [code]true[/code].
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
<method name="is_menu_visible" qualifiers="const">
|
<method name="is_menu_visible" qualifiers="const">
|
||||||
<return type="bool" />
|
<return type="bool" />
|
||||||
<description>
|
<description>
|
||||||
Returns whether the menu is visible. Use this instead of [code]get_menu().visible[/code] to improve performance (so the creation of the menu is avoided).
|
Returns whether the menu is visible. Use this instead of [code]get_menu().visible[/code] to improve performance (so the creation of the menu is avoided).
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="is_ready" qualifiers="const">
|
<method name="is_ready" qualifiers="const" deprecated="Use [method is_finished] instead.">
|
||||||
<return type="bool" />
|
<return type="bool" />
|
||||||
<description>
|
<description>
|
||||||
If [member threaded] is enabled, returns [code]true[/code] if the background thread has finished text processing, otherwise always return [code]true[/code].
|
If [member threaded] is enabled, returns [code]true[/code] if the background thread has finished text processing, otherwise always return [code]true[/code].
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ void EditorHelp::_class_desc_select(const String &p_select) {
|
|||||||
// Case order is important here to correctly handle edge cases like Variant.Type in @GlobalScope.
|
// Case order is important here to correctly handle edge cases like Variant.Type in @GlobalScope.
|
||||||
if (table->has(link)) {
|
if (table->has(link)) {
|
||||||
// Found in the current page.
|
// Found in the current page.
|
||||||
if (class_desc->is_ready()) {
|
if (class_desc->is_finished()) {
|
||||||
emit_signal(SNAME("request_save_history"));
|
emit_signal(SNAME("request_save_history"));
|
||||||
class_desc->scroll_to_paragraph((*table)[link]);
|
class_desc->scroll_to_paragraph((*table)[link]);
|
||||||
} else {
|
} else {
|
||||||
@@ -2338,7 +2338,7 @@ void EditorHelp::_help_callback(const String &p_topic) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (class_desc->is_ready()) {
|
if (class_desc->is_finished()) {
|
||||||
// call_deferred() is not enough.
|
// call_deferred() is not enough.
|
||||||
if (class_desc->is_connected(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph))) {
|
if (class_desc->is_connected(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph))) {
|
||||||
class_desc->disconnect(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph));
|
class_desc->disconnect(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph));
|
||||||
@@ -3039,7 +3039,7 @@ Vector<Pair<String, int>> EditorHelp::get_sections() {
|
|||||||
void EditorHelp::scroll_to_section(int p_section_index) {
|
void EditorHelp::scroll_to_section(int p_section_index) {
|
||||||
_wait_for_thread();
|
_wait_for_thread();
|
||||||
int line = section_line[p_section_index].second;
|
int line = section_line[p_section_index].second;
|
||||||
if (class_desc->is_ready()) {
|
if (class_desc->is_finished()) {
|
||||||
class_desc->scroll_to_paragraph(line);
|
class_desc->scroll_to_paragraph(line);
|
||||||
} else {
|
} else {
|
||||||
scroll_to = line;
|
scroll_to = line;
|
||||||
|
|||||||
@@ -398,7 +398,7 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) {
|
|||||||
if (p_replace_previous) {
|
if (p_replace_previous) {
|
||||||
// Force sync last line update (skip if number of unprocessed log messages is too large to avoid editor lag).
|
// Force sync last line update (skip if number of unprocessed log messages is too large to avoid editor lag).
|
||||||
if (log->get_pending_paragraphs() < 100) {
|
if (log->get_pending_paragraphs() < 100) {
|
||||||
while (!log->is_ready()) {
|
while (!log->is_finished()) {
|
||||||
::OS::get_singleton()->delay_usec(1);
|
::OS::get_singleton()->delay_usec(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1897,7 +1897,7 @@ void RichTextLabel::_notification(int p_what) {
|
|||||||
|
|
||||||
case NOTIFICATION_INTERNAL_PROCESS: {
|
case NOTIFICATION_INTERNAL_PROCESS: {
|
||||||
if (is_visible_in_tree()) {
|
if (is_visible_in_tree()) {
|
||||||
if (!is_ready()) {
|
if (!is_finished()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
double dt = get_process_delta_time();
|
double dt = get_process_delta_time();
|
||||||
@@ -2788,7 +2788,7 @@ int RichTextLabel::get_pending_paragraphs() const {
|
|||||||
return lines - to_line;
|
return lines - to_line;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RichTextLabel::is_ready() const {
|
bool RichTextLabel::is_finished() const {
|
||||||
const_cast<RichTextLabel *>(this)->_validate_line_caches();
|
const_cast<RichTextLabel *>(this)->_validate_line_caches();
|
||||||
|
|
||||||
if (updating.load()) {
|
if (updating.load()) {
|
||||||
@@ -5994,7 +5994,10 @@ void RichTextLabel::_bind_methods() {
|
|||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("get_text"), &RichTextLabel::get_text);
|
ClassDB::bind_method(D_METHOD("get_text"), &RichTextLabel::get_text);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("is_ready"), &RichTextLabel::is_ready);
|
#ifndef DISABLE_DEPRECATED
|
||||||
|
ClassDB::bind_method(D_METHOD("is_ready"), &RichTextLabel::is_finished);
|
||||||
|
#endif // DISABLE_DEPRECATED
|
||||||
|
ClassDB::bind_method(D_METHOD("is_finished"), &RichTextLabel::is_finished);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_threaded", "threaded"), &RichTextLabel::set_threaded);
|
ClassDB::bind_method(D_METHOD("set_threaded", "threaded"), &RichTextLabel::set_threaded);
|
||||||
ClassDB::bind_method(D_METHOD("is_threaded"), &RichTextLabel::is_threaded);
|
ClassDB::bind_method(D_METHOD("is_threaded"), &RichTextLabel::is_threaded);
|
||||||
|
|||||||
@@ -785,7 +785,7 @@ public:
|
|||||||
void deselect();
|
void deselect();
|
||||||
|
|
||||||
int get_pending_paragraphs() const;
|
int get_pending_paragraphs() const;
|
||||||
bool is_ready() const;
|
bool is_finished() const;
|
||||||
bool is_updating() const;
|
bool is_updating() const;
|
||||||
|
|
||||||
void set_threaded(bool p_threaded);
|
void set_threaded(bool p_threaded);
|
||||||
|
|||||||
Reference in New Issue
Block a user