bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows.
2022-07-26 08:38:05 +03:00
kobewi
f4a7450216
Fix too thin underline in brace match
2022-07-10 18:23:03 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
kobewi
41f6e7c50e
Allow to disable TextEdit vertical scroll
2022-07-04 15:02:15 +02:00
ConteZero
5d56efcaa4
Add an option to drag'n'drop selected text in TextEdit
2022-06-26 15:22:02 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
iwek
848e759d88
Remove redundant min call when setting line
2022-06-02 15:52:09 +02:00
Rémi Verschelde
9923851370
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
Rémi Verschelde
c0d189fbb8
Merge pull request #60955 from pfertyk/issue-60668-fix-get-breakpointed-lines-crash
...
Fix `get_breakpointed_lines` crashing Godot
2022-05-18 22:55:30 +02:00
Paweł Fertyk
3d5dd91f22
Fix get_breakpointed_lines crashing Godot
...
Fixes #60668 .
2022-05-16 18:46:01 +02:00
bruvzg
081b6b8053
Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit.
2022-05-13 09:33:24 +03:00
Paweł Fertyk
d1aed90976
Fix backspace when selection reaches left edge
...
Fixes #60866 .
2022-05-09 14:16:28 +02:00
Rémi Verschelde
8c2b9801fd
Merge pull request #60438 from Paulb23/text-edit-tests
...
Add TextEdit unit tests and multiple fixes.
2022-04-25 23:39:30 +02:00
Paulb23
7f62a74927
Multiple small TextEdit Bug Fixes
...
Fixed line_drawing_cache not containing anything
Fixed is_move_caret_on_right_click_enabled requiring the context menu to be enabled
Fixed when selecting_enabled is false not disabling shift + click
Fixed when selecting_enabled is false not being able to drag the caret
Fixed _delete emitting signals when nothing had changed.
Fixed insert_line_at up causing a visual update
Fixed get_pos_at_line_column returning a valid position when it was invalid
Fixed set_caret_column unnecessary emitting "caret_changed" when the column is greater then the line
Fixed select_word_under_caret not accepting the edges of words
Fixed select_word_under_caret moving the caret to the start of the line when no word was found
Fixed get_selection_line and get_selection_column not checking if the selection was enabled
Fixed set_line_as_center_visible throwing errors if it would show line 0
Fixed set_line_as_center_visible being off by one
Fixed set_line_as_last_visible not being able to show the first line
Fixed pressing UP and the end of a wrapped line sending the caret to col 0 rather then then persevering the position.
2022-04-22 17:53:14 +01: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
ConteZero
a3d82f5afb
Fix shortcut_keys_enabled in TextEdit
2022-04-08 15:13:32 +02: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
Haoyu Qiu
8cefbfcf43
Consider chained operation when selecting text in TextEdit::undo()
2022-04-05 09:12:10 +08:00
Rémi Verschelde
f454cea785
Merge pull request #58452 from marcgpuig/text-edit-backspace-fix
2022-04-04 23:58:33 +02:00
Marc Garcia Puig
f22d257025
Fixed ctrl + backspace on empty lines
...
Fix <word><space><caret> scenario
Fix move left & right for lines without words
2022-04-04 01:21:16 +02:00
jmb462
0d17903bd5
Fix TextEdit v_scroll_speed invalid values breaks wheel scrolling
2022-04-03 21:07:39 +02:00
nova++
4b8fa3716f
Fix "p_from_line > p_to_line" errors in text edit
...
Done via making the function more robust to different inputs
2022-03-11 01:13:45 -05:00
Rémi Verschelde
8845798b44
Merge pull request #58739 from Calinou/control-add-constructors
...
Add optional constructor arguments to more Control nodes
2022-03-04 11:42:53 +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
Haoyu Qiu
933211cb0c
Remove extra separator when TextEdit is read only and unselectable
2022-03-04 16:25:25 +08: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
Paulb23
7f5782047e
Fixed caret change signal emission
2022-02-28 19:01:44 +00: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
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
bruvzg
244db37508
Cleanup and move char functions to the `char_utils.h` header.
2022-02-04 11:35:01 +02:00
bruvzg
215bede6ff
[TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer.
2022-02-02 11:20:44 +02:00
Paulb23
1cd1df5dc3
Move placeholder color to theme item
2022-01-30 17:56:23 +00:00
Paulb23
e911eee21b
Fix TextEdit placeholder not checking line count
2022-01-25 17:41:05 +00:00
Rémi Verschelde
33960b3b87
Merge pull request #55884 from preslavnpetrov/ctrl-enter-deleting-selection-fix-master
2022-01-24 21:33:14 +01:00
Preslavb
6f1089af86
Fix selection being deleted and indentation not being accounted for
2022-01-23 23:14:35 +00:00
Paulb23
09212ba151
Add Placeholder to TextEdit
2022-01-23 20:19:36 +00:00
Paulb23
f43f68f605
Convert TextEdit callbacks to Callable
2022-01-19 17:26:22 +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
8958e1b352
Merge pull request #56720 from volokh0x/to-fix-#56274
2022-01-16 15:54:42 +01:00
volokh0x
034f31aa5c
Save clear action of TextEdit in history when used from context menu
2022-01-16 15:00:57 +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
Rémi Verschelde
b52f90e795
Merge pull request #56637 from KoBeWi/maxxxxxxcroll
...
Set max value of inactive TextEdit scrolls to 0
2022-01-10 22:15:57 +01:00
Rémi Verschelde
7faf02383c
Merge pull request #55225 from bruvzg/fix_ligature_cursor_and_ot_features
2022-01-10 13:32:54 +01:00
bruvzg
8c973f21ee
Fix glyph index for bitmap fonts.
...
Fix TextEdit glyph position rounding.
2022-01-10 08:00:27 +02: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
kobewi
892d93759c
Set max value of inactive TextEdit scrolls to 0
2022-01-09 01:45:07 +01: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
luz paz
a124f1effe
Fix various typos
...
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Rémi Verschelde
e8011be6f5
Merge pull request #55729 from cdemirer/fix-script-editor-unexpected-scroll-upon-resize
2021-12-12 20:54:53 +01:00
cdemirer
a361236526
Fix unexpected scroll on resize + consistent return value
2021-12-11 10:03:24 +08:00
Rémi Verschelde
7e32a27879
Merge pull request #55739 from Paulb23/text-edit-base-performance
2021-12-10 09:46:15 +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
Paulb23
bfe2cd2f03
Optimise TextEdit base operations
2021-12-08 18:23:07 +00: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
Paulb23
f9b66da748
Fixed TextEdit underline draw pos
2021-12-03 16:56:01 +00:00
ConteZero
0699941f07
Add drag and drop to TextEdit
2021-12-02 22:00:07 +01:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07: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
Yuri Sizov
e85e6ec7fc
Add methods to get position from column and line in TextEdit
2021-11-22 15:13:13 +03:00
Paulb23
2a302f7097
Fix TextEdit mouse interactions when the last line is hidden
2021-11-17 18:29:19 +00:00
Hugo Locurcio
8fb7e622a6
Rename built-in `SGN()` macro to `SIGN()`
...
This matches the name of the GDScript function (except it's uppercase
here).
2021-11-16 20:40:49 +01:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Rémi Verschelde
b46a42b689
Merge pull request #54204 from Ev1lbl0w/bugfix-textedit_selection_mode_crash
2021-11-10 19:03:33 +01:00
Ev1lbl0w
1843662510
Fix crash with indexing array with bad values
2021-11-10 12:44:40 +00: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
Rémi Verschelde
8748247d6f
Merge pull request #53702 from ConteZero/primary_clipboard_linux
2021-10-20 16:35:04 +02:00
Murilo Gonçalves
94cba835eb
Fix: typo in TextParagraph class and docs
2021-10-19 16:38:58 -03:00
ConteZero
838c9d37b4
Added primary clipboard for Linux
2021-10-18 14:01:06 +02:00
Ricardo Subtil
88985cbf3a
Fix null crash with TextEdit
2021-10-16 18:24:46 +01:00
Rémi Verschelde
5ae569560d
Fix missing argument names in bindings
...
While at it, tweak some boolean setters to use `p_enabled` for the bool.
Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
Haoyu Qiu
45e943f4fe
Fix crash when tooltip_request_func object is freed
2021-10-06 15:00:31 +08:00
jmb462
fcb102a826
Fix caret position and viewport centering after deleting line (Ctrl-X)
2021-10-04 17:11:20 +02: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
a662ca66aa
Merge pull request #53112 from EricEzaM/better-breakpoint-gutter
2021-09-30 14:57:23 +02:00
Eric M
e0f8410d16
Improved breakpoint gutter for CodeEdit.
...
Added preview of breakpoint placement on hover. Added override of icon for the Editor to use an SVG so it is no longer blurry.
2021-09-30 22:15:47 +10:00
Paulb23
7926d75d02
Fix TextOp setting to none when typing
2021-09-29 17:34:44 +01:00
jmb462
3f0fe0b8a3
Fix LineEdit and TextEdit double-click and triple-click selection
2021-09-26 19:56:48 +02:00
Anilforextra
cc51b045da
Construct values only when necessary.
2021-09-23 22:26:07 +05:45
Rémi Verschelde
d039f4af14
Merge pull request #52185 from Paulb23/nested-complex-ops
...
Allow nested complex ops in TextEdit
2021-09-14 11:57:42 +02:00
Rémi Verschelde
0b60b9f75c
Merge pull request #52443 from Paulb23/code-edit-indext-fixes
...
Fix brace placement with space auto indent
2021-09-13 21:52:38 +02:00
Gilles Roudière
321ee7bda1
Merge pull request #52106 from Paulb23/text-edit-optimisation
...
Optimise TextEdit get line height and width
2021-09-08 14:04:41 +02:00
Paulb23
9785167b39
Fix brace placement with space auto indent
2021-09-06 17:10:39 +01:00
Hugo Locurcio
c8949f21e7
Add visual feedback when hovering or dragging the code minimap grabber
...
This makes it more obvious that the minimap grabber can be dragged
to scroll.
2021-09-04 02:25:22 +02:00
Paulb23
c5d7ae7920
Allow nested complex ops in TextEdit
2021-08-28 12:49:55 +01:00
Paulb23
de009cb5ae
Optimise TextEdit get height and width
2021-08-28 11:27:23 +01: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
Michael Alexsander
88db541705
Merge pull request #51947 from AnilBK/redundant-assignments
...
[cppcheck] Remove some redundant assignments.
2021-08-23 13:23:45 +00: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
reduz
3682978aee
Replace BIND_VMETHOD by new GDVIRTUAL syntax
...
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.
Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.
Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Anilforextra
c86db8b710
Remove redundant assignments.
...
Use used_in_transfer instead of used_in_compute twice.
2021-08-21 19:20:07 +05:45
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