Brian Semrau
103c0fa6e6
Add support for multiple virtual keyboard types
2022-08-04 10:41:33 -04:00
bruvzg
3316454379
Fix LineEdit text incorrectly trimmed due to rounding errors.
2022-07-10 23:39:34 +03:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
Nolkaloid
9dc58511c6
Change LineEdit caret blink to use process
...
Now using internal process for blinking instead of a Timer node
2022-07-05 00:02:44 +02:00
iwek
082cf5440e
Fix setting line edit caret after dobule and triple click
2022-06-10 00:18:25 +02:00
Michael Alexsander
71c8fb26e0
Take into account the clear icon's size even when not visible in `LineEdit`s
2022-06-05 15:13:19 -03:00
Haoyu Qiu
e021fc9419
Fix LineEdit clear button for asymmetric stylebox
2022-05-28 19:50:35 +08:00
bruvzg
081b6b8053
Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit.
2022-05-13 09:33:24 +03:00
bruvzg
be611c1c05
Implement Label3D node.
...
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
bruvzg
d1207a0504
[Input] Add extra `shortcut_input` input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts.
2022-04-05 13:46:45 +03:00
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code.
2022-03-17 08:15:29 +02:00
kobewi
2057ea2883
Remove duplicate editor settings definitions
2022-03-06 22:05:49 +01:00
Hugo Locurcio
a06f82ca4d
Add optional constructor arguments to more Control nodes
...
This can be used to make editor code more compact.
However, as of writing, these constructor arguments cannot be used
from the scripting API.
This was already provided for Label and CheckBox, but it was missing
for other Control nodes where it made sense to provide a default value.
2022-03-04 09:48:41 +01:00
Hugo Locurcio
816d332e51
Fix LineEdit and TextEdit carets disappearing at theme scales below 1.0
...
This fixes carets disappearing in the editor when the Editor Scale
setting is set below 100%.
2022-03-03 00:15:48 +01:00
Rémi Verschelde
0f5455230c
Use `switch` consistently in `_notification` (`scene` folder)
2022-02-15 18:44:55 +01:00
bruvzg
29199579f7
Add sub-pixel glyph positioning support.
2022-02-12 19:55:52 +02:00
Paulb23
1cd1df5dc3
Move placeholder color to theme item
2022-01-30 17:56:23 +00:00
bruvzg
40c56ed410
Improve locale detection.
...
Use separate language, script and country lists.
Add locale selection dialog and property hint.
2022-01-18 14:30:00 +02:00
Rémi Verschelde
f6792eacf5
Merge pull request #54956 from Calinou/lineedit-textedit-add-caret-width-theme-item
...
Add a theme constant to change LineEdit and TextEdit's caret width
2022-01-13 09:21:01 +01:00
bruvzg
c89c515ccf
[TextServer] Improve ligature cursor handling.
...
Fix mid-grapheme hit test.
Fix OpenType features property handling, add default features override option.
Enable mid-grapheme cursor by default.
2022-01-09 19:03:48 +02:00
Hugo Locurcio
f6443beade
Add a theme constant to change LineEdit and TextEdit's caret width
...
This can be useful to improve caret visibility, especially at
larger font sizes. This can also be used for accessibility purposes.
2022-01-07 20:51:22 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related
2021-12-09 01:38:46 -06:00
Rémi Verschelde
75ac048e4b
Merge pull request #55662 from KoBeWi/update_minimum_size_changed_to_update_minimum_size
2021-12-06 18:28:46 +01:00
jmb462
81efebb3a1
Fix bad popups offset in editor with single window off
...
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
kobewi
ea7cc1dea9
Rename minimum_size_changed() method
2021-12-06 14:02:34 +01:00
ConteZero
0699941f07
Add drag and drop to TextEdit
2021-12-02 22:00:07 +01:00
Rémi Verschelde
76aa1d0a43
Merge pull request #55151 from Chaosus/control_reset_size
2021-11-22 16:22:57 +01:00
Yuri Roubinsky
eabf8f5edf
Added `reset_size` method to `Control` and `Window` classes
2021-11-22 16:55:21 +03:00
ConteZero
2b1787b446
Fix drag and drop on LineEdit
2021-11-15 17:10:56 +01:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Rémi Verschelde
2beaae4b6f
String: Remove `erase` method, bindings can't mutate String
2021-11-11 11:23:32 +01:00
Rémi Verschelde
d9a74fd07f
Merge pull request #54372 from bruvzg/text_edit_ui
2021-11-09 00:13:25 +01:00
Hugo Locurcio
c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
bruvzg
3f33e1d7d6
Add functions for getting name and font style from dynamic and bitmap fonts.
...
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
Rémi Verschelde
21529c90f8
Merge pull request #54166 from ConteZero/unique_selection
2021-10-27 20:50:54 +02:00
ConteZero
fbee4efa5f
Add option to make selection unique
2021-10-27 19:45:52 +02:00
Rémi Verschelde
b2ab5cb504
Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warning
2021-10-23 19:13:34 +02:00
ConteZero
8c48b4a7e0
Fix primary clipboard warning
2021-10-23 15:50:01 +02:00
Hugo Locurcio
abbc8facc6
Use TitleCase for CTL dialog menu options
...
This is more consistent with other actions exposed in the dialog.
2021-10-21 17:47:39 +02:00
ConteZero
838c9d37b4
Added primary clipboard for Linux
2021-10-18 14:01:06 +02:00
bruvzg
19a0982d60
Fix inline IME input not working in the empty LineEdit with the placeholder.
2021-10-11 08:21:34 +03:00
Yuri Sizov
bdbb7b3999
Remove EDSCALE dependency from /scene/gui
2021-10-04 15:25:08 +03:00
bruvzg
0c0b5c84b0
Implement TextServer GDExtension interface, remove TextServer GDNative interface.
2021-10-01 15:13:29 +03:00
Rémi Verschelde
6c0f44ca7e
Merge pull request #53000 from Chaosus/lineedit_expose_selection_methods
2021-09-29 10:31:37 +02:00
jmb462
3f0fe0b8a3
Fix LineEdit and TextEdit double-click and triple-click selection
2021-09-26 19:56:48 +02:00
Yuri Roubinsky
4e0552a4ff
Add selection getter methods to `LineEdit`
2021-09-24 11:30:58 +03:00
Silc 'Tokage' Renew
facf8f1883
Apply set_read_only() to child classes of EditorProperty elements
2021-09-05 18:22:17 +09:00
kobewi
a913ae8d56
Add support for internal nodes
2021-08-28 02:07:23 +02:00
bruvzg
4c3f7d1290
Makes FontData importable resource.
...
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
reduz
5cecdfa8af
Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
...
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Haoyu Qiu
16c2d4ef22
Improve Undo/Redo menu items
...
* Make Undo/Redo menu items disabled when clicking it does nothing.
* Context menu of `TextEdit`
* Context menu of `LineEdit`
* Editor's Scene menu
* Script editor's Edit menu and context menu (for Script and Text)
* Make editor undo/redo log messages translatable.
* Mark `UndoRedo`'s `has_{un,re}do()` methods as `const`.
* Expose `TextEdit`'s `has_{un,re}do()` to scripts since `{un,re}do()` are already available.
2021-08-17 21:11:10 +08:00
Paulb23
bcfc591f86
Reorganise text editor settings
2021-08-16 17:18:49 +01:00
Michael Alexsander
94a64d557e
Add `auto_translate` toggle for automatic translation
2021-07-29 18:30:34 -03:00
Rémi Verschelde
a0bc2f359d
Merge pull request #50588 from bruvzg/menu_gen
...
Optimize LineEdit and TextEdit menu item generation.
2021-07-19 22:56:53 +02:00
bruvzg
1ac7a126f1
Optimize LineEdit and TextEdit menu item generation.
2021-07-19 08:19:09 +03:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
reduz
a3fb76cd45
Create many types of popups on demand
...
* LineEdit popups created on demand.
* TextEdit popups created on demand.
* SpinSlider popups created on demand.
* ResourcePicker popups created on demand.
Improves editor responsiveness.
2021-07-17 10:57:14 -03:00
Rémi Verschelde
9a1ce8e6c3
LineEdit: Respect `max_length` by truncating text to append
...
When appending text (either via `set_text()` or by pasting from clipboard),
if the input would make the `LineEdit` exceed its configured `max_length`,
the input text is truncated to fit. The discard part is passed as a parameter
in the `text_change_rejected` signal.
Fixes #33321 .
Fixes #41278 .
Also cleaned up unimplemented `max_chars` property in `TextEdit`.
Co-authored-by: Tony-Goat <70238376+Tony-Goat@users.noreply.github.com>
2021-07-06 18:03:03 +02:00
Gregory Basile
8ab13f8ace
Documentation search fixes
...
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
Hugo Locurcio
87f503310b
Tweak dozens of editor property hints for consistency
...
- Update Viewport MSAA property hints to match the currently
exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Rémi Verschelde
6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0
2021-05-17 17:38:02 +02:00
kobewi
c3967c80ab
Display arrow cursor if text is not editable
2021-05-07 23:08:00 +02:00
Lightning_A
97fecd1b69
Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods
2021-05-07 14:00:50 -06:00
Aaron Franke
0de9a7d803
Rename `doubleclick` to `double_click`
2021-05-04 04:38:08 -04:00
EricEzaM
de5387ab82
Fixed issues with LineEdit Delete Word & Backspace Word.
...
Backspace word was deleting all text before the cursor, and delete word was no updating until another action was performed on the LineEdit (in order to update it)
2021-04-28 17:15:28 +10:00
Marcel Admiraal
86822b187e
Rename LineEdit caret_* properties getters and setters to match property
2021-04-17 12:41:23 +01:00
ray90514
7501c7f48a
Fix LineEdit undo behaves strangely
2021-04-08 23:47:54 +08:00
Rafał Mikrut
504bc5cc67
Fix crashes in *_input functions
2021-04-05 08:52:21 +02:00
Aaron Franke
10d7fccb54
Rename ButtonList enum and members to MouseButton
2021-03-23 07:13:23 -04:00
Anshul7sp1
91181c2086
Fixes small typos and grammar correction
2021-03-12 19:05:16 +05:30
Fabio Alessandrelli
eda5ae9d75
Add IME support checks in LineEdit/TextEdit.
...
Avoid spamming "IME is unsupported" when the DisplayServer report it as
such.
2021-03-11 23:04:22 +01:00
Rémi Verschelde
c487f1e854
Merge pull request #46643 from YeldhamDev/hide_all_the_things
...
Hide more options of disabled properties
2021-03-07 15:12:15 +01:00
Michael Alexsander
4be282a269
Hide more options of disabled properties
2021-03-03 20:51:35 -03:00
Mateo Kuruk Miccino
a3db2fd46b
LineEdit: Now double click to select a word, and triple click to select all the content using the new TextServer
...
TextEdit: Update the method to search words with the new TextServer
2021-03-01 08:38:08 -03:00
Eric M
49714b0963
Removed hardcoded shortcuts from /scene and converted to input actions
...
This removes hardcoded actions from things like LineEdit and TextEdit.
Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-18 16:22:51 +01:00
Gilles Roudière
737dd5ee8c
Fix minimum_character_width in LineEdit
2021-02-16 10:51:17 +01:00
bruvzg
d78336c65e
[CTL] Add missing font outline drawing routines and theme constants.
2021-02-14 14:11:44 +02:00
reduz
28537d8c84
Fix LineEdit minimum width
...
-Changed theme setting name to make more sense of what it does
-Reduced amount of minimum characters, so minimum size is smaller.
2021-02-12 17:04:38 +01:00
bruvzg
6c9e608a34
Use get_char_size(' ') to calculate space width.
2021-02-12 15:06:50 +02:00
reduz
1aa2823fa3
Removed _change_notify
...
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rafał Mikrut
7961a1dea3
Initialize class variables with default values in scene/ [2/2]
2021-02-09 18:24:36 +01:00
Rémi Verschelde
eda5f4ea31
Merge pull request #44349 from KoBeWi/drop_the_data!
...
Allow to override drop data in LineEdit
2021-01-26 16:03:07 +01:00
Rémi Verschelde
bdfc7a6b40
Merge pull request #45369 from naithar/fix/line_edit_clear-4.0
...
[4.0] [GUI] Fix LineEdit clearing
2021-01-26 12:30:34 +01:00
Sergey Minakov
ba6aa76992
[GUI] Enforce virtual keyboard redisplay on clear
2021-01-26 13:17:20 +03:00
Marcel Admiraal
8eb39f4e8b
Change themes *_color_* to *_*_color
...
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color
Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
Rémi Verschelde
8b7f582f22
Revert "solved ctrl + alt + special character Issue #6851"
2021-01-05 14:41:35 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Marcel Admiraal
4b8b803931
Rename Control margin to offset
2020-12-23 06:25:56 +00:00
kobewi
a3a31591b5
Allow to override drop data in LineEdit
2020-12-13 20:16:56 +01:00
bruvzg
644f739660
Static analyzer fixes:
...
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
bruvzg
0ef483e9a9
[Complex Text Layouts] Performance optimizations.
2020-12-07 08:53:02 +02:00
bruvzg
c3cc9d82b4
[Complex Text Layouts] Align glyph offsets and advances to the pixel grid.
2020-12-06 20:31:00 +02:00
bruvzg
a458e90179
[Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
...
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
bruvzg
d66eb77c9c
[Complex Text Layouts] Refactor Label and LineEdit controls.
2020-11-26 14:25:49 +02:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
...
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Tomasz Chabora
836b78f329
Update clear button when clicked
2020-11-25 00:42:07 +01:00
Rémi Verschelde
acb7d99fce
Merge pull request #43449 from nekomatata/line_edit_window_pos
...
Expose LineEdit scroll offset to scripts
2020-11-11 13:18:55 +01:00