Cleanup and complete TextEdit inspector and docs
This commit is contained in:
parent
ae4dcb8918
commit
a4606c2806
4 changed files with 381 additions and 221 deletions
|
@ -645,7 +645,7 @@
|
|||
The tint of text outline of the [CodeEdit].
|
||||
</theme_item>
|
||||
<theme_item name="font_readonly_color" data_type="color" type="Color" default="Color(0.88, 0.88, 0.88, 0.5)">
|
||||
Sets the font [Color] when [member TextEdit.readonly] is enabled.
|
||||
Sets the font [Color] when [member TextEdit.editable] is disabled.
|
||||
</theme_item>
|
||||
<theme_item name="font_selected_color" data_type="color" type="Color" default="Color(0, 0, 0, 1)">
|
||||
Sets the [Color] of the selected text. [member TextEdit.override_selected_font_color] has to be enabled.
|
||||
|
@ -669,7 +669,7 @@
|
|||
The size of the text outline.
|
||||
</theme_item>
|
||||
<theme_item name="read_only" data_type="style" type="StyleBox">
|
||||
Sets the [StyleBox] when [member TextEdit.readonly] is enabled.
|
||||
Sets the [StyleBox] when [member TextEdit.editable] is disabled.
|
||||
</theme_item>
|
||||
<theme_item name="selection_color" data_type="color" type="Color" default="Color(0.49, 0.49, 0.49, 1)">
|
||||
Sets the highlight [Color] of text selections.
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -564,7 +564,7 @@ void CodeEdit::_handle_unicode_input(const uint32_t p_unicode) {
|
|||
delete_selection();
|
||||
}
|
||||
|
||||
/* Remove the old character if in insert mode and no selection. */
|
||||
// Remove the old character if in overtype mode and no selection.
|
||||
if (is_overtype_mode_enabled() && !had_selection) {
|
||||
begin_complex_operation();
|
||||
|
||||
|
@ -651,8 +651,8 @@ void CodeEdit::_backspace() {
|
|||
}
|
||||
}
|
||||
|
||||
/* For space indentation we need to do a simple unindent if there are no chars to the left, acting in the */
|
||||
/* same way as tabs. */
|
||||
// For space indentation we need to do a simple unindent if there are no chars to the left, acting in the
|
||||
// same way as tabs.
|
||||
if (indent_using_spaces && cc != 0) {
|
||||
if (get_first_non_whitespace_column(cl) > cc) {
|
||||
prev_column = cc - _calculate_spaces_till_next_left_indent(cc);
|
||||
|
|
|
@ -4318,6 +4318,7 @@ bool TextEdit::is_drawing_spaces() const {
|
|||
}
|
||||
|
||||
void TextEdit::_bind_methods() {
|
||||
/*Internal. */
|
||||
ClassDB::bind_method(D_METHOD("_gui_input"), &TextEdit::_gui_input);
|
||||
ClassDB::bind_method(D_METHOD("_text_changed_emit"), &TextEdit::_text_changed_emit);
|
||||
|
||||
|
@ -4384,7 +4385,7 @@ void TextEdit::_bind_methods() {
|
|||
|
||||
ClassDB::bind_method(D_METHOD("get_last_unhidden_line"), &TextEdit::get_last_unhidden_line);
|
||||
ClassDB::bind_method(D_METHOD("get_next_visible_line_offset_from", "line", "visible_amount"), &TextEdit::get_next_visible_line_offset_from);
|
||||
ClassDB::bind_method(D_METHOD("num_lines_from_rows", "line", "wrap_index", "visible_amount"), &TextEdit::get_next_visible_line_index_offset_from);
|
||||
ClassDB::bind_method(D_METHOD("get_next_visible_line_index_offset_from", "line", "wrap_index", "visible_amount"), &TextEdit::get_next_visible_line_index_offset_from);
|
||||
|
||||
// Overridable actions
|
||||
ClassDB::bind_method(D_METHOD("backspace"), &TextEdit::backspace);
|
||||
|
@ -4662,29 +4663,35 @@ void TextEdit::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("is_menu_visible"), &TextEdit::is_menu_visible);
|
||||
ClassDB::bind_method(D_METHOD("menu_option", "option"), &TextEdit::menu_option);
|
||||
|
||||
/* Inspector */
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "text", PROPERTY_HINT_MULTILINE_TEXT), "set_text", "get_text");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "text_direction", PROPERTY_HINT_ENUM, "Auto,Left-to-Right,Right-to-Left,Inherited"), "set_text_direction", "get_text_direction");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "language"), "set_language", "get_language");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_control_chars"), "set_draw_control_chars", "get_draw_control_chars");
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editable"), "set_editable", "is_editable");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_current_line"), "set_highlight_current_line", "is_highlight_current_line_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_tabs"), "set_draw_tabs", "is_drawing_tabs");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_spaces"), "set_draw_spaces", "is_drawing_spaces");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_all_occurrences"), "set_highlight_all_occurrences", "is_highlight_all_occurrences_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "override_selected_font_color"), "set_override_selected_font_color", "is_overriding_selected_font_color");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "context_menu_enabled"), "set_context_menu_enabled", "is_context_menu_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shortcut_keys_enabled"), "set_shortcut_keys_enabled", "is_shortcut_keys_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "virtual_keyboard_enabled"), "set_virtual_keyboard_enabled", "is_virtual_keyboard_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "selecting_enabled"), "set_selecting_enabled", "is_selecting_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "smooth_scrolling"), "set_smooth_scroll_enable", "is_smooth_scroll_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_past_end_of_file"), "set_scroll_past_end_of_file_enabled", "is_scroll_past_end_of_file_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "v_scroll_speed"), "set_v_scroll_speed", "get_v_scroll_speed");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "virtual_keyboard_enabled"), "set_virtual_keyboard_enabled", "is_virtual_keyboard_enabled");
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "wrap_mode", PROPERTY_HINT_ENUM, "None,Boundary"), "set_line_wrapping_mode", "get_line_wrapping_mode");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_vertical"), "set_v_scroll", "get_v_scroll");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal"), "set_h_scroll", "get_h_scroll");
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "override_selected_font_color"), "set_override_selected_font_color", "is_overriding_selected_font_color");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_all_occurrences"), "set_highlight_all_occurrences", "is_highlight_all_occurrences_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_current_line"), "set_highlight_current_line", "is_highlight_current_line_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_control_chars"), "set_draw_control_chars", "get_draw_control_chars");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_tabs"), "set_draw_tabs", "is_drawing_tabs");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_spaces"), "set_draw_spaces", "is_drawing_spaces");
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "syntax_highlighter", PROPERTY_HINT_RESOURCE_TYPE, "SyntaxHighlighter", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE), "set_syntax_highlighter", "get_syntax_highlighter");
|
||||
|
||||
ADD_GROUP("Scroll", "scroll_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_smooth"), "set_smooth_scroll_enable", "is_smooth_scroll_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_v_scroll_speed"), "set_v_scroll_speed", "get_v_scroll_speed");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_past_end_of_file"), "set_scroll_past_end_of_file_enabled", "is_scroll_past_end_of_file_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_vertical"), "set_v_scroll", "get_v_scroll");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal"), "set_h_scroll", "get_h_scroll");
|
||||
|
||||
ADD_GROUP("Minimap", "minimap_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "minimap_draw"), "draw_minimap", "is_drawing_minimap");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "minimap_width"), "set_minimap_width", "get_minimap_width");
|
||||
|
@ -4701,15 +4708,19 @@ void TextEdit::_bind_methods() {
|
|||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "structured_text_bidi_override_options"), "set_structured_text_bidi_override_options", "get_structured_text_bidi_override_options");
|
||||
|
||||
/* Signals */
|
||||
/* Core. */
|
||||
ADD_SIGNAL(MethodInfo("text_changed"));
|
||||
ADD_SIGNAL(MethodInfo("lines_edited_from", PropertyInfo(Variant::INT, "from_line"), PropertyInfo(Variant::INT, "to_line")));
|
||||
|
||||
/* Caret. */
|
||||
ADD_SIGNAL(MethodInfo("caret_changed"));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("text_changed"));
|
||||
ADD_SIGNAL(MethodInfo("lines_edited_from", PropertyInfo(Variant::INT, "from_line"), PropertyInfo(Variant::INT, "to_line")));
|
||||
/* Gutters. */
|
||||
ADD_SIGNAL(MethodInfo("gutter_clicked", PropertyInfo(Variant::INT, "line"), PropertyInfo(Variant::INT, "gutter")));
|
||||
ADD_SIGNAL(MethodInfo("gutter_added"));
|
||||
ADD_SIGNAL(MethodInfo("gutter_removed"));
|
||||
|
||||
/* Settings. */
|
||||
GLOBAL_DEF("gui/timers/text_edit_idle_detect_sec", 3);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info("gui/timers/text_edit_idle_detect_sec", PropertyInfo(Variant::FLOAT, "gui/timers/text_edit_idle_detect_sec", PROPERTY_HINT_RANGE, "0,10,0.01,or_greater")); // No negative numbers.
|
||||
GLOBAL_DEF("gui/common/text_edit_undo_stack_max_size", 1024);
|
||||
|
|
Loading…
Reference in a new issue