diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2022-11-24 18:54:58 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2022-11-24 18:54:58 +0100 |
commit | f953ba4ec481088c97cee4d0aaae52891463211c (patch) | |
tree | 8e178d2399e091299433d48beef34b20d92c6c3c | |
parent | 4a8b725bc9ba3126b8e318dd19d49b2472267fc2 (diff) | |
parent | a5e9878ef89b04d55f997d22d6a426491bdc0db5 (diff) |
Merge pull request #68938 from brunosxs/fix/subresource-documentation
Fix for documentation not appearing in preview in editor inspector
-rw-r--r-- | editor/editor_inspector.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 6e18bde303..4822aab7d4 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -3114,11 +3114,24 @@ void EditorInspector::update_tree() { // Build the doc hint, to use as tooltip. // Get the class name. - StringName classname = doc_name == "" ? object->get_class_name() : doc_name; + StringName classname = doc_name; if (!object_class.is_empty()) { classname = object_class; } else if (Object::cast_to<MultiNodeEdit>(object)) { classname = Object::cast_to<MultiNodeEdit>(object)->get_edited_class_name(); + } else if (classname == "") { + classname = object->get_class_name(); + Resource *res = Object::cast_to<Resource>(object); + if (res && !res->get_script().is_null()) { + // Grab the script of this resource to get the evaluated script class. + Ref<Script> scr = res->get_script(); + if (scr.is_valid()) { + Vector<DocData::ClassDoc> docs = scr->get_documentation(); + if (!docs.is_empty()) { + classname = docs[0].name; + } + } + } } StringName propname = property_prefix + p.name; |