aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/editor_help.cpp
diff options
context:
space:
mode:
authorFranklin Sobrinho2016-03-05 12:28:25 -0300
committerRémi Verschelde2016-03-06 09:48:26 +0100
commite69c9021b50aa38f306e4edc9cabb17ba1c1e667 (patch)
tree8f305ed7355d243cf2c6d45d9a10e05a4f18030b /tools/editor/editor_help.cpp
parentedb3716da75be0cb2097ce3fc82668654566faa4 (diff)
downloadgodot-e69c9021b50aa38f306e4edc9cabb17ba1c1e667.tar.gz
godot-e69c9021b50aa38f306e4edc9cabb17ba1c1e667.tar.zst
godot-e69c9021b50aa38f306e4edc9cabb17ba1c1e667.zip
The help page now show the entire object hierarchy
(cherry picked from commit fdd1209276433565af089fe4142a991b9e8d3b78)
Diffstat (limited to 'tools/editor/editor_help.cpp')
-rw-r--r--tools/editor/editor_help.cpp54
1 files changed, 52 insertions, 2 deletions
diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp
index efe4a6590..b05f60758 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<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"));