Commit Graph

169 Commits

Author SHA1 Message Date
Rémi Verschelde 8b1a42cd47
Merge pull request #67888 from KoBeWi/overridead
Remove `override_selected_font_color` property
2022-10-31 10:59:07 +01:00
Rémi Verschelde 273410ba5a
Merge pull request #67139 from PucklaMotzer09/insert_caret_at_carets
Add Caret Insert Below and Above shortcuts to TextEdit
2022-10-31 10:32:07 +01:00
kobewi c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Alfred Reinold Baudisch 7d15ecc3af Add Selection and Caret for Next Occurrence of Selection
Adds the bind `add_selection_for_next_occurrence` to TextEdit, with CTRL+D as the default shortcut.

When the bind is performed, ff a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret and selects the next occurrence.

If no selection is currently active with the last caret in text fields, selects the word currently under the caret.

The action can be performed sequentially for all occurrences of the selection of the last caret and for all existing carets. The viewport is adjusted to the latest newly added caret.

The bind and the behaviour is similar to VS Code's "Add Selection to Next Find Match" and JetBrains' "Add Selection for Next Occurrence". It takes advantage of the multi-caret API.

The default shortcut for `select_word_under_caret` has been changed to ALT+G, in order to give priority to CTRL+D for `add_selection_for_next_occurrence` to better align with popular IDEs and editors.
2022-10-21 08:26:53 +02:00
PucklaMotzer09 e5354cacd0 Add Caret Insert Below and Above shortcuts to TextEdit 2022-10-18 10:38:53 +02:00
microaeris 215fe852b8 Getters for TextEdit scrollbars 2022-10-07 23:16:04 -07:00
Paulb23 5f8f4842bb Update TextEdit docs 2022-10-05 21:44:24 +01:00
Micky 6dbd283ae5 Rename every instance of `caret_blink_speed` to `caret_blink_interval`
It's been changed in EditorSettings, LineEdit, TextEdit.

Affects setters and getters, and passed parameters, too.
2022-09-06 18:37:17 +02:00
Andy Maloney 28e66882e5 [doc] Fix grammar in class docs: amount vs. number
Number is used for things that can be counted (discrete items - think "integer" in this context).

Also fixes a couple of awkward phrases.
2022-08-17 19:51:17 -04:00
Andy Maloney 2d54c36c3c [doc] Use "param" instead of "code" to refer to parameters 2022-08-11 16:13:29 +03:00
Yuri Sizov c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03: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
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
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Paulb23 1cd1df5dc3 Move placeholder color to theme item 2022-01-30 17:56:23 +00:00
Paulb23 09212ba151 Add Placeholder to TextEdit 2022-01-23 20:19:36 +00:00
Rémi Verschelde d661835a18
Merge pull request #54729 from Paulb23/text-edit-callable 2022-01-19 21:36:56 +01:00
Paulb23 f43f68f605 Convert TextEdit callbacks to Callable 2022-01-19 17:26:22 +00:00
Hugo Locurcio 84a69d7429 Improve the default project theme
The new default project theme uses StyleBoxFlat extensively for
a more modern design and better scalability to multiple resolutions.

SVG icons are now used in place of PNG icons. While this does not
allow for true vector-based icon drawing (icons are still rasterized
at load-time), this makes the design work easier for contributors
and opens the door to vector drawing in the future (e.g. with polygons
or SDFs).

Like for editor icons, the SVG header file is now built automatically
when a SVG file is changed. This removing the need for running
`make_header.py` manually (TODO).

The "Use Hidpi" project setting has been removed in favor of a
"Default Theme Scale" project setting, which allows creating the
default theme at a higher/lower scale than the default.
This can be used when designing GUIs with a high base resolution
to ensure crisp visuals.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-01-19 18:46:01 +03: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
kobewi 2cad775461 Fix usage of "Return" in the docs 2022-01-02 21:09:18 +01:00
Hugo Locurcio a1ab50a9f0
Document that transparent StyleBoxes/textures should be used for UI focus 2021-12-15 18:22:39 +01:00
Yuri Sizov b3992f7e6e Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:47:22 +03:00
Rémi Verschelde aaabc0abcc
Merge pull request #55520 from pycbouh/docs-sort-group-newline-theme-and-enums 2021-12-03 15:29:29 +01:00
ConteZero 0699941f07 Add drag and drop to TextEdit 2021-12-02 22:00:07 +01:00
Yuri Sizov 397e56964d Sort and group theme properties in docs, improve formatting for theme and enums 2021-12-01 21:02:20 +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
ConteZero fbee4efa5f Add option to make selection unique 2021-10-27 19:45:52 +02:00
Rémi Verschelde 8748247d6f
Merge pull request #53702 from ConteZero/primary_clipboard_linux 2021-10-20 16:35:04 +02:00
ConteZero 838c9d37b4 Added primary clipboard for Linux 2021-10-18 14:01:06 +02:00
Yuri Sizov 07725b611b Add warnings to methods that give access to internal nodes 2021-10-10 22:57:58 +03: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
Rémi Verschelde 788b3aa27a
doc: Fix style inconsistencies for `[b]Note:[/b]` paragraphs
And fix up formatting not supported by makerst.
2021-10-05 19:13:20 +02:00
Paulb23 6c2fd03959 Added search colors to TextEdit and CodeEdit theme 2021-09-21 20:24:39 +01: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
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 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 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 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