Skip to content

Commit

Permalink
Use META_UNDERLINE_ON_HOVER in built-in class reference
Browse files Browse the repository at this point in the history
  • Loading branch information
Mickeon committed Mar 9, 2024
1 parent f289648 commit 3a0d056
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions editor/editor_help.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ void EditorHelp::_add_type(const String &p_type, const String &p_enum, bool p_is
link_t = link_t.trim_suffix("[]");
display_t = display_t.trim_suffix("[]");

class_desc->push_meta("#Array"); // class
class_desc->push_meta("#Array", RichTextLabel::META_UNDERLINE_ON_HOVER); // class
class_desc->add_text("Array");
class_desc->pop(); // meta
class_desc->add_text("[");
Expand All @@ -374,9 +374,9 @@ void EditorHelp::_add_type(const String &p_type, const String &p_enum, bool p_is
}

if (is_enum_type) {
class_desc->push_meta("$" + link_t); // enum
class_desc->push_meta("$" + link_t, RichTextLabel::META_UNDERLINE_ON_HOVER); // enum
} else {
class_desc->push_meta("#" + link_t); // class
class_desc->push_meta("#" + link_t, RichTextLabel::META_UNDERLINE_ON_HOVER); // class
}
}
class_desc->add_text(display_t);
Expand Down Expand Up @@ -503,7 +503,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
const bool is_documented = p_method.is_deprecated || p_method.is_experimental || !p_method.description.strip_edges().is_empty();

if (p_overview && is_documented) {
class_desc->push_meta("@method " + p_method.name);
class_desc->push_meta("@method " + p_method.name, RichTextLabel::META_UNDERLINE_ON_HOVER);
}

class_desc->push_color(theme_cache.headline_color);
Expand Down Expand Up @@ -1210,7 +1210,7 @@ void EditorHelp::_update_doc() {
class_desc->push_color(theme_cache.headline_color);

if (describe) {
class_desc->push_meta("@member " + prop.name);
class_desc->push_meta("@member " + prop.name, RichTextLabel::META_UNDERLINE_ON_HOVER);
}

class_desc->add_text(prop.name);
Expand Down Expand Up @@ -2452,20 +2452,24 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
const String link_target = tag.substr(tag_end + 1, tag.length()).lstrip(" ");

Color target_color = link_color;
RichTextLabel::MetaUnderline underline_mode = RichTextLabel::META_UNDERLINE_ON_HOVER;
if (link_tag == "method" || link_tag == "constructor" || link_tag == "operator") {
target_color = link_method_color;
} else if (link_tag == "member" || link_tag == "signal" || link_tag == "theme_item") {
target_color = link_property_color;
} else if (link_tag == "annotation") {
target_color = link_annotation_color;
} else {
// Better visibility for constants, enums, etc.
underline_mode = RichTextLabel::META_UNDERLINE_ALWAYS;
}

// Use monospace font to make clickable references
// easier to distinguish from inline code and other text.
p_rt->push_font(doc_code_font);
p_rt->push_font_size(doc_code_font_size);
p_rt->push_color(target_color);
p_rt->push_meta("@" + link_tag + " " + link_target);
p_rt->push_meta("@" + link_tag + " " + link_target, underline_mode);

if (link_tag == "member" &&
((!link_target.contains(".") && (p_class == "ProjectSettings" || p_class == "EditorSettings")) ||
Expand Down Expand Up @@ -2526,7 +2530,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
p_rt->push_font(doc_code_font);
p_rt->push_font_size(doc_code_font_size);
p_rt->push_color(type_color);
p_rt->push_meta("#" + tag);
p_rt->push_meta("#" + tag, RichTextLabel::META_UNDERLINE_ON_HOVER);

p_rt->add_text(tag);

Expand Down

0 comments on commit 3a0d056

Please sign in to comment.