#include "editor_help.h"
#include "core/config/project_settings.h"
#include "core/core_constants.h"
#include "core/extension/gdextension.h"
#include "core/input/input.h"
#include "core/object/script_language.h"
#include "core/os/keyboard.h"
#include "core/string/string_builder.h"
#include "core/version_generated.gen.h"
#include "editor/doc_data_compressed.gen.h"
#include "editor/editor_main_screen.h"
#include "editor/editor_node.h"
#include "editor/editor_paths.h"
#include "editor/editor_property_name_processor.h"
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/plugins/script_editor_plugin.h"
#include "editor/themes/editor_scale.h"
#include "scene/gui/line_edit.h"
#include "modules/modules_enabled.gen.h"
#ifdef MODULE_GDSCRIPT_ENABLED
#include "modules/gdscript/editor/gdscript_highlighter.h"
#include "modules/gdscript/gdscript.h"
#endif
#ifdef MODULE_MONO_ENABLED
#include "editor/plugins/script_editor_plugin.h"
#include "modules/mono/csharp_script.h"
#endif
#define CONTRIBUTE_URL …
#ifdef MODULE_MONO_ENABLED
const Vector<String> classes_with_csharp_differences = {
"@GlobalScope",
"String",
"NodePath",
"Signal",
"Callable",
"RID",
"Basis",
"Transform2D",
"Transform3D",
"Rect2",
"Rect2i",
"AABB",
"Quaternion",
"Projection",
"Color",
"Array",
"Dictionary",
"PackedByteArray",
"PackedColorArray",
"PackedFloat32Array",
"PackedFloat64Array",
"PackedInt32Array",
"PackedInt64Array",
"PackedStringArray",
"PackedVector2Array",
"PackedVector3Array",
"PackedVector4Array",
"Variant",
};
#endif
const Vector<String> packed_array_types = …;
DocTools *EditorHelp::doc = …;
DocTools *EditorHelp::ext_doc = …;
static bool _attempt_doc_load(const String &p_class) { … }
static String _contextualize_class_specifier(const String &p_class_specifier, const String &p_edited_class) { … }
void EditorHelp::_update_theme_item_cache() { … }
void EditorHelp::_search(bool p_search_previous) { … }
void EditorHelp::_class_desc_finished() { … }
void EditorHelp::_class_list_select(const String &p_select) { … }
void EditorHelp::_class_desc_select(const String &p_select) { … }
void EditorHelp::_class_desc_input(const Ref<InputEvent> &p_input) { … }
void EditorHelp::_class_desc_resized(bool p_force_update_theme) { … }
static void _add_type_to_rt(const String &p_type, const String &p_enum, bool p_is_bitfield, RichTextLabel *p_rt, const Control *p_owner_node, const String &p_class) { … }
void EditorHelp::_add_type(const String &p_type, const String &p_enum, bool p_is_bitfield) { … }
void EditorHelp::_add_type_icon(const String &p_type, int p_size, const String &p_fallback) { … }
String EditorHelp::_fix_constant(const String &p_constant) const { … }
#define DEPRECATED_DOC_TAG …
#define EXPERIMENTAL_DOC_TAG …
#define DEPRECATED_DOC_MSG(m_message, m_default_message) …
#define EXPERIMENTAL_DOC_MSG(m_message, m_default_message) …
void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview, bool p_override) { … }
void EditorHelp::_add_bulletpoint() { … }
void EditorHelp::_push_normal_font() { … }
void EditorHelp::_pop_normal_font() { … }
void EditorHelp::_push_title_font() { … }
void EditorHelp::_pop_title_font() { … }
void EditorHelp::_push_code_font() { … }
void EditorHelp::_pop_code_font() { … }
Error EditorHelp::_goto_desc(const String &p_class) { … }
void EditorHelp::_update_method_list(MethodType p_method_type, const Vector<DocData::MethodDoc> &p_methods) { … }
void EditorHelp::_update_method_descriptions(const DocData::ClassDoc &p_classdoc, MethodType p_method_type, const Vector<DocData::MethodDoc> &p_methods) { … }
void EditorHelp::_update_doc() { … }
void EditorHelp::_request_help(const String &p_string) { … }
void EditorHelp::_help_callback(const String &p_topic) { … }
static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, const Control *p_owner_node, const String &p_class) { … }
void EditorHelp::_add_text(const String &p_bbcode) { … }
int EditorHelp::doc_generation_count = …;
String EditorHelp::doc_version_hash;
Thread EditorHelp::worker_thread;
void EditorHelp::_wait_for_thread() { … }
void EditorHelp::_compute_doc_version_hash() { … }
String EditorHelp::get_cache_full_path() { … }
void EditorHelp::load_xml_buffer(const uint8_t *p_buffer, int p_size) { … }
void EditorHelp::remove_class(const String &p_class) { … }
void EditorHelp::_load_doc_thread(void *p_udata) { … }
void EditorHelp::_gen_doc_thread(void *p_udata) { … }
void EditorHelp::_gen_extensions_docs() { … }
void EditorHelp::generate_doc(bool p_use_cache) { … }
void EditorHelp::_toggle_scripts_pressed() { … }
void EditorHelp::_notification(int p_what) { … }
void EditorHelp::go_to_help(const String &p_help) { … }
void EditorHelp::go_to_class(const String &p_class) { … }
void EditorHelp::update_doc() { … }
void EditorHelp::cleanup_doc() { … }
Vector<Pair<String, int>> EditorHelp::get_sections() { … }
void EditorHelp::scroll_to_section(int p_section_index) { … }
void EditorHelp::popup_search() { … }
String EditorHelp::get_class() { … }
void EditorHelp::search_again(bool p_search_previous) { … }
int EditorHelp::get_scroll() const { … }
void EditorHelp::set_scroll(int p_scroll) { … }
void EditorHelp::update_toggle_scripts_button() { … }
void EditorHelp::_bind_methods() { … }
void EditorHelp::init_gdext_pointers() { … }
EditorHelp::EditorHelp() { … }
EditorHelp::~EditorHelp() { … }
DocTools *EditorHelp::get_doc_data() { … }
#define HANDLE_DOC …
EditorHelpBit::HelpData EditorHelpBit::_get_class_help_data(const StringName &p_class_name) { … }
EditorHelpBit::HelpData EditorHelpBit::_get_property_help_data(const StringName &p_class_name, const StringName &p_property_name) { … }
EditorHelpBit::HelpData EditorHelpBit::_get_method_help_data(const StringName &p_class_name, const StringName &p_method_name) { … }
EditorHelpBit::HelpData EditorHelpBit::_get_signal_help_data(const StringName &p_class_name, const StringName &p_signal_name) { … }
EditorHelpBit::HelpData EditorHelpBit::_get_theme_item_help_data(const StringName &p_class_name, const StringName &p_theme_item_name) { … }
#undef HANDLE_DOC
void EditorHelpBit::_add_type_to_title(const DocType &p_doc_type) { … }
void EditorHelpBit::_update_labels() { … }
void EditorHelpBit::_go_to_help(const String &p_what) { … }
void EditorHelpBit::_meta_clicked(const String &p_select) { … }
void EditorHelpBit::_bind_methods() { … }
void EditorHelpBit::_notification(int p_what) { … }
void EditorHelpBit::parse_symbol(const String &p_symbol) { … }
void EditorHelpBit::set_custom_text(const String &p_type, const String &p_name, const String &p_description) { … }
void EditorHelpBit::set_description(const String &p_text) { … }
void EditorHelpBit::set_content_height_limits(float p_min, float p_max) { … }
void EditorHelpBit::update_content_height() { … }
EditorHelpBit::EditorHelpBit(const String &p_symbol) { … }
void EditorHelpBitTooltip::_start_timer() { … }
void EditorHelpBitTooltip::_safe_queue_free() { … }
void EditorHelpBitTooltip::_target_gui_input(const Ref<InputEvent> &p_event) { … }
void EditorHelpBitTooltip::_notification(int p_what) { … }
void EditorHelpBitTooltip::_input_from_window(const Ref<InputEvent> &p_event) { … }
void EditorHelpBitTooltip::show_tooltip(EditorHelpBit *p_help_bit, Control *p_target) { … }
void EditorHelpBitTooltip::popup_under_cursor() { … }
EditorHelpBitTooltip::EditorHelpBitTooltip(Control *p_target) { … }
#if defined(MODULE_GDSCRIPT_ENABLED) || defined(MODULE_MONO_ENABLED)
EditorHelpHighlighter *EditorHelpHighlighter::singleton = …;
void EditorHelpHighlighter::create_singleton() { … }
void EditorHelpHighlighter::free_singleton() { … }
EditorHelpHighlighter *EditorHelpHighlighter::get_singleton() { … }
EditorHelpHighlighter::HighlightData EditorHelpHighlighter::_get_highlight_data(Language p_language, const String &p_source, bool p_use_cache) { … }
void EditorHelpHighlighter::highlight(RichTextLabel *p_rich_text_label, Language p_language, const String &p_source, bool p_use_cache) { … }
void EditorHelpHighlighter::reset_cache() { … }
EditorHelpHighlighter::EditorHelpHighlighter() { … }
EditorHelpHighlighter::~EditorHelpHighlighter() { … }
#endif
FindBar::FindBar() { … }
void FindBar::popup_search() { … }
void FindBar::_notification(int p_what) { … }
void FindBar::set_rich_text_label(RichTextLabel *p_rich_text_label) { … }
bool FindBar::search_next() { … }
bool FindBar::search_prev() { … }
bool FindBar::_search(bool p_search_previous) { … }
void FindBar::_update_results_count() { … }
void FindBar::_update_matches_label() { … }
void FindBar::_hide_bar() { … }
void FindBar::unhandled_input(const Ref<InputEvent> &p_event) { … }
void FindBar::_search_text_changed(const String &p_text) { … }
void FindBar::_search_text_submitted(const String &p_text) { … }