From e69c9021b50aa38f306e4edc9cabb17ba1c1e667 Mon Sep 17 00:00:00 2001 From: Franklin Sobrinho Date: Sat, 5 Mar 2016 12:28:25 -0300 Subject: [PATCH] The help page now show the entire object hierarchy (cherry picked from commit fdd1209276433565af089fe4142a991b9e8d3b78) --- tools/editor/editor_help.cpp | 56 ++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index efe4a65903c..b05f6075868 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -725,14 +725,64 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { class_desc->add_text("Inherits: "); class_desc->pop(); class_desc->pop(); + + String inherits = cd.inherits; + class_desc->push_font(doc_font); - _add_type(cd.inherits); + + while (inherits != "") { + _add_type(inherits); + + inherits = doc->class_list[inherits].inherits; + + if (inherits != "") { + class_desc->add_text(" , "); + } + } + class_desc->pop(); class_desc->add_newline(); - class_desc->add_newline(); - } + if (ObjectTypeDB::type_exists(cd.name)) { + + bool found = false; + bool prev = false; + + for (Map::Element *E=doc->class_list.front();E;E=E->next()) { + + if (E->get().inherits == cd.name) { + + if (!found) { + class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color")); + class_desc->push_font(doc_title_font); + class_desc->add_text("Inherited by: "); + class_desc->pop(); + class_desc->pop(); + + found = true; + class_desc->push_font(doc_font); + } + + if (prev) { + + class_desc->add_text(" , "); + prev = false; + } + + _add_type(E->get().name); + prev = true; + } + } + + if (found) + class_desc->pop(); + + class_desc->add_newline(); + } + + class_desc->add_newline(); + if (cd.brief_description!="") { class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color"));