Переглянути джерело

Change in-editor documentation style to be closer to online docs.

(cherry picked from commit 1e3c02d5903210e8408d3a2c0ac397c07de6357f)
bruvzg 5 роки тому
батько
коміт
583c6d303c
1 змінених файлів з 29 додано та 11 видалено
  1. 29 11
      editor/editor_help.cpp

+ 29 - 11
editor/editor_help.cpp

@@ -232,6 +232,9 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
 	if (p_overview) {
 		class_desc->push_cell();
 		class_desc->push_align(RichTextLabel::ALIGN_RIGHT);
+	} else {
+		static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 };
+		class_desc->add_text(String(prefix));
 	}
 
 	_add_type(p_method.return_type, p_method.return_enum);
@@ -367,7 +370,6 @@ void EditorHelp::_update_doc() {
 		class_desc->push_color(title_color);
 		class_desc->push_font(doc_font);
 		class_desc->add_text(TTR("Inherits:") + " ");
-		class_desc->pop();
 
 		String inherits = cd.inherits;
 
@@ -381,6 +383,7 @@ void EditorHelp::_update_doc() {
 			}
 		}
 
+		class_desc->pop();
 		class_desc->pop();
 		class_desc->add_newline();
 	}
@@ -390,13 +393,12 @@ void EditorHelp::_update_doc() {
 		bool found = false;
 		bool prev = false;
 
+		class_desc->push_font(doc_font);
 		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(title_color);
-					class_desc->push_font(doc_font);
 					class_desc->add_text(TTR("Inherited by:") + " ");
-					class_desc->pop();
 					found = true;
 				}
 
@@ -408,6 +410,7 @@ void EditorHelp::_update_doc() {
 				prev = true;
 			}
 		}
+		class_desc->pop();
 
 		if (found) {
 			class_desc->pop();
@@ -747,6 +750,8 @@ void EditorHelp::_update_doc() {
 			signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; //gets overridden if description
 			class_desc->push_font(doc_code_font); // monofont
 			class_desc->push_color(headline_color);
+			static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 };
+			class_desc->add_text(String(prefix));
 			_add_text(cd.signals[i].name);
 			class_desc->pop();
 			class_desc->push_color(symbol_color);
@@ -824,10 +829,10 @@ void EditorHelp::_update_doc() {
 			for (Map<String, Vector<DocData::ConstantDoc>>::Element *E = enums.front(); E; E = E->next()) {
 				enum_line[E->key()] = class_desc->get_line_count() - 2;
 
+				class_desc->push_font(doc_code_font);
 				class_desc->push_color(title_color);
 				class_desc->add_text("enum  ");
 				class_desc->pop();
-				class_desc->push_font(doc_code_font);
 				String e = E->key();
 				if ((e.get_slice_count(".") > 1) && (e.get_slice(".", 0) == edited_class)) {
 					e = e.get_slice(".", 1);
@@ -840,6 +845,8 @@ void EditorHelp::_update_doc() {
 				class_desc->push_color(symbol_color);
 				class_desc->add_text(":");
 				class_desc->pop();
+
+				class_desc->add_newline();
 				class_desc->add_newline();
 
 				class_desc->push_indent(1);
@@ -858,6 +865,8 @@ void EditorHelp::_update_doc() {
 
 					class_desc->push_font(doc_code_font);
 					class_desc->push_color(headline_color);
+					static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 };
+					class_desc->add_text(String(prefix));
 					_add_text(enum_list[i].name);
 					class_desc->pop();
 					class_desc->push_color(symbol_color);
@@ -869,14 +878,15 @@ void EditorHelp::_update_doc() {
 					class_desc->pop();
 					if (enum_list[i].description != "") {
 						class_desc->push_font(doc_font);
-						//class_desc->add_text("  ");
-						class_desc->push_indent(1);
 						class_desc->push_color(comment_color);
+						static const CharType dash[6] = { ' ', ' ', 0x2013 /* en dash */, ' ', ' ', 0 };
+						class_desc->add_text(String(dash));
 						_add_text(DTR(enum_list[i].description));
 						class_desc->pop();
 						class_desc->pop();
-						class_desc->pop(); // indent
-						class_desc->add_newline();
+						if (DTR(enum_list[i].description).find("\n") > 0) {
+							class_desc->add_newline();
+						}
 					}
 
 					class_desc->add_newline();
@@ -920,6 +930,9 @@ void EditorHelp::_update_doc() {
 						class_desc->add_text(String(prefix));
 						class_desc->pop();
 					}
+				} else {
+					static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 };
+					class_desc->add_text(String(prefix));
 				}
 
 				class_desc->push_color(headline_color);
@@ -935,13 +948,15 @@ void EditorHelp::_update_doc() {
 				class_desc->pop();
 				if (constants[i].description != "") {
 					class_desc->push_font(doc_font);
-					class_desc->push_indent(1);
 					class_desc->push_color(comment_color);
+					static const CharType dash[6] = { ' ', ' ', 0x2013 /* en dash */, ' ', ' ', 0 };
+					class_desc->add_text(String(dash));
 					_add_text(DTR(constants[i].description));
 					class_desc->pop();
 					class_desc->pop();
-					class_desc->pop(); // indent
-					class_desc->add_newline();
+					if (DTR(constants[i].description).find("\n") > 0) {
+						class_desc->add_newline();
+					}
 				}
 
 				class_desc->add_newline();
@@ -976,6 +991,9 @@ void EditorHelp::_update_doc() {
 
 			class_desc->push_cell();
 			class_desc->push_font(doc_code_font);
+			static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 };
+			class_desc->add_text(String(prefix));
+
 			_add_type(cd.properties[i].type, cd.properties[i].enumeration);
 			class_desc->add_text(" ");
 			class_desc->pop(); // font