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
requizm
37ad82a7f7
We can delete all text on TextEdit
...
While all text of TextEdit was selected, deletion with backspace did not occur. It can now be deleted.
2021-08-17 02:30:14 +03:00
Vignesh1-art
eb5b0d013f
Fixed crash executing TextEdit.new().set_draw_control_chars(true)
...
Fixes #51613 .
2021-08-16 12:36:14 +02:00
Rémi Verschelde
761eb7e06a
Merge pull request #51585 from Paulb23/theme-update-optimisation
2021-08-13 21:33:36 +02:00
Paulb23
273374957b
Only update TextEdit text cache when dirty
2021-08-13 17:47:53 +01:00
bruvzg
00381db2e7
[TextEdit] Improve block/insert caret drawing.
2021-08-13 19:28:47 +03:00
Paulb23
a736fb8ce9
Fix breakpoint toggle signal not firing when expected
2021-08-12 14:47:10 +01:00
Paulb23
a4606c2806
Cleanup and complete TextEdit inspector and docs
2021-08-12 11:43:35 +01:00
Paulb23
ae4dcb8918
Cleanup and bind remaing methods in TextEdit
2021-08-12 11:43:35 +01:00
Paulb23
0a32a6907b
Cleanup and expose viewport / scrolling methods
2021-08-12 09:29:58 +01:00
Paulb23
7dbb0f3233
Rename readonly to editable
2021-08-12 09:29:58 +01:00
Paulb23
b799e5583a
Rename insert mode to overtype mode
2021-08-12 09:29:58 +01:00
Paulb23
b700011314
Protect internal CodeEdit --> TextEdit API
2021-08-12 09:29:58 +01:00
Paulb23
9ec3e7f3d7
Cleanup TextEdit selection methods
2021-08-12 09:29:56 +01:00
Paulb23
7e70f9e0b9
Expose and cleanup TextEdit line wrap API
2021-08-12 09:29:16 +01:00
Paulb23
d5dcaee4c5
Cleanup and rename caret operations
2021-08-12 09:29:13 +01:00
Paulb23
e60900a353
Make TextEdit cut, copy and paste overridable
2021-08-12 09:27:10 +01:00
Paulb23
abbf14e7f5
Remove dead code from TextEdit
2021-08-12 09:27:10 +01:00
Rémi Verschelde
fba0c8e2e2
Merge pull request #51502 from codecat/fix-caret-selection
...
Move cursor to edge of selection when moving caret left/right
2021-08-12 10:07:12 +02:00
Melissa Geels
408401a642
Triple click in text editor now uses last mouse position for validity
...
Previously, you would be able to double click a word, followed by
single-clicking another word on the same line, which would select the
entire line. Now, it will only select the whole line if the mouse
position has remained the same after the double click. This mimicks the
behavior in most third party text editors.
Fixes #51312 .
2021-08-11 21:49:26 +02:00
Melissa Geels
ed4c3eb7b3
Move cursor to edge of selection when moving caret left/right
...
This is to mimic the behavior of many third party text editors. The
reason it's not doing it when moving by word is due to that behavior
being mostly the same on other editors.
2021-08-11 13:27:12 +02:00
Paulb23
dd5a37f556
Move symbol lookup into CodeEdit
2021-08-01 12:06:33 +01:00
Paulb23
8f900ac178
Move line length guidelines into CodeEdit
2021-08-01 12:06:33 +01:00
Paulb23
d1a1ad127e
Move brace matching into CodeEdit
2021-08-01 12:06:33 +01:00
Paulb23
12f0053555
Move auto brace completion to CodeEdit
2021-08-01 12:06:33 +01: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
Rémi Verschelde
dfc1ec7fb9
Merge pull request #50606 from Chaosus/textedit_fix_guttertype
...
Fixed typos in `TextEdit::GutterType` enum
2021-07-19 16:40:42 +02:00
Yuri Roubinsky
1597045b09
Fixed typos in `TextEdit::GutterType` enum
2021-07-19 11:18:54 +03: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
Paulb23
1a0cfc219b
Move indent management to CodeEdit
2021-06-20 20:00:54 +01:00
Lightning_A
e28fd07b2b
Rename `instance()`->`instantiate()` when it's a verb
2021-06-19 20:49:18 -06:00
Paulb23
ab49ea032c
Remove redundant keywords from TextEdit
2021-06-19 13:56:54 +01:00
Paulb23
5c618dd03d
Move code folding into CodeEdit and hide line hiding API
2021-06-01 17:07:01 +01:00
Rémi Verschelde
c5f237eaf8
Merge pull request #45393 from Paulb23/code_edit_autocomplete
2021-06-01 17:58:19 +02:00
Paulb23
c1b9971ad8
Move and expose Code Hint in CodeEdit
2021-06-01 15:38:45 +01:00
Paulb23
1c16673798
Move and expose AutoComplete in CodeEdit
2021-06-01 15:38:45 +01:00
Paulb23
5f66dfa371
Fix TextEdit selection drawing behing minimap
2021-06-01 13:09:39 +01:00
Rémi Verschelde
9bc2ba3b64
Merge pull request #48955 from Calinou/editor-tweak-property-hints
...
Tweak dozens of editor property hints for consistency
2021-05-25 11:44:43 +02: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
Hugo Locurcio
80f4e407b2
Add a keyboard shortcut to select the word under cursor in TextEdit
...
This also acts as a general-purpose "deselect" shortcut since pressing
it a second time will deselect text.
This is available both in the script editor and in TextEdit fields
in use, both in the editor and projects.
The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D
since it conflicts with the new shortcut (Ctrl + D). The rationale for
doing so is that Duplicate Line is a less commonly used action, and
its behavior can be replicated by copying and pasting the current line
anyway. (With no selection active, the whole line will be copied.)
2021-05-22 23:47:43 +02:00
Paulb23
00e10a842f
Add custom background line colour to TextEdit and remove marked lines
2021-05-22 14:41:55 +01:00
Rémi Verschelde
510030fedc
Merge pull request #48528 from sent44/textedit
...
Expose get_total_visible_rows method to GDScript
2021-05-18 09:06:24 +02:00
Rémi Verschelde
92c04fa727
Fix build after mismatch between #48168 and #48599
2021-05-17 17:50:42 +02:00
Rémi Verschelde
b3e3f0e34c
Merge pull request #48599 from Calinou/textedit-alt-scroll-faster
...
Scroll faster when holding Alt in TextEdit (and script editor)
2021-05-17 17:38:18 +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
Hugo Locurcio
cf1cf6c6eb
Scroll faster when holding Alt in TextEdit (and script editor)
...
This feature is inspired by a similar feature found in
Visual Studio Code.
2021-05-10 01:27:54 +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
sent44
7bb12b0d6d
Expose get_total_visible_rows as get_visible_line_count
2021-05-07 20:54:05 +07:00
Aaron Franke
0de9a7d803
Rename `doubleclick` to `double_click`
2021-05-04 04:38:08 -04:00
Koala
2c64008718
Fix indent left line selection
2021-04-25 22:31:29 +01:00
Eric M
92900bd490
Fixed ui_accept (spacebar + return) accepting auto-completion options.
2021-04-15 00:38:28 +10:00