diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-03-06 09:43:14 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2016-03-06 09:43:14 +0100 |
commit | 4fb729362b750657d3a9a43ba7be31609dc6578b (patch) | |
tree | f33f32320e3b71b6d9815f20bfd3b46941ad0eb2 /tools/editor | |
parent | 218bb112e59b20fd881e799754d7cc634f4a8bca (diff) | |
parent | fdd1209276433565af089fe4142a991b9e8d3b78 (diff) |
Merge pull request #3932 from TheHX/issue-807
The help page now show the entire object hierarchy
Diffstat (limited to 'tools/editor')
-rw-r--r-- | tools/editor/editor_help.cpp | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index 110e06f25b..47389559df 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -650,14 +650,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<String,DocData::ClassDoc>::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")); |