Commit graph

342 commits

Author SHA1 Message Date
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
PouleyKetchoupp
4775db1600 Expose LineEdit scroll offset to scripts 2020-11-11 10:07:31 +01:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Rémi Verschelde
0a8c5845e3
Merge pull request #41870 from nekomatata/fix-line-edit-enter-regression
Fix LineEdit not consuming enter events
2020-09-08 11:14:33 +02:00
PouleyKetchoupp
5c63dec36e Fix LineEdit not consuming enter events
LineEdit should not return early when processing KEY_ENTER, so it can
consume the event properly.

Regression introduced by mistake while fixing enter events for Android
(PR #40487 - c0b394572f)
2020-09-08 10:22:37 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Rémi Verschelde
7844775a76
Revert "Updated LineEdit to address #41278"
This reverts commit 71febfd6e2.
2020-09-01 14:04:37 +02:00
Tony-Goat
71febfd6e2 Updated LineEdit to address #41278
Updated set_max_length() function to actually pull a substring of the current text so it's not all thrown away when the new max length is shorter than the current length.
2020-08-26 11:19:24 -06:00
Rémi Verschelde
044b3d0ed3
Merge pull request #37769 from HellonLegs/master
solved ctrl + alt + special character Issue #6851
2020-08-14 13:03:07 +02:00
PouleyKetchoupp
8c05dadcff Fix Return key events in LineEdit & TextEdit on Android
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.

Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.

Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.

Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-26 20:06:07 +02:00
Rémi Verschelde
a30bac94cc
Merge pull request #39737 from Cevantime/add_force_caret_displayed_to_line_edit
add force caret display to line edit
2020-07-23 18:02:51 +02:00
PouleyKetchoupp
0aa56e3ab8 Add option to disable virtual keyboard for LineEdit
Co-authored-by: Alexander Holland <alexander.holland@live.de>
2020-07-22 08:19:05 +02:00
Cevantime
dc46bc8857 add force caret display to line edit 2020-07-15 13:00:25 +02:00
Juan Linietsky
f0e320decf Fix some popups menu missing screen transform.
Closes #38591
2020-07-01 14:44:19 -03:00
Juan Linietsky
438c380458 Add a separate application focus/in notification out from Window focus notification. 2020-06-30 10:40:06 -03:00
Andy Maloney
7433c9d40c [macOS] Command-backspace in line edit
Make command-backspace in line edit work like other macOS applications.

If there is a selection, command-backspace deletes the selection.

If there isn't a selection, command-backspace deletes from the cursor to the beginning of the line edit.

This addresses part of godotengine/godot#23548
2020-06-18 17:45:40 -04:00
Thibault Truffert
2bb44ea5bd Make text deletion methods public for LineEdit 2020-06-10 22:16:48 +02:00
SkyJJ
cc473b948f Fix Android LineEdit editing bugs 2020-05-16 17:55:27 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Eduardo Nunes Pereira
d8f8a3c606 Using the common behaviour when use command+shift on text line for osx
* On press left+command+shift or right+command+shift it should behave like shift+home or shift+end and select the text
* Using home and end events as reference
2020-05-11 10:25:07 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
HellonLegs
f412237f38 solved control + alt issue 2020-04-10 19:49:51 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
bruvzg
15a9f94346 Add macOS DisplayServer implementation.
Change global menu to use Callable, add support for check items and submenus.
2020-03-26 16:24:05 +01:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky
f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Rémi Verschelde
4d7ab010db
Merge pull request #37281 from ThakeeNathees/fix-project-manager-don't-consume-Enter
Fix: project manager don't consume Enter key #17620
2020-03-25 08:13:04 +01:00
Thakee Nathees
b98153886f fix project manager don't consume Enter key #17620 2020-03-25 07:09:36 +05:30
Darren Kaste
c7c47410aa Use LineEdit secret character width everywhere 2020-03-19 19:06:14 -04:00
Rémi Verschelde
cf50ee4fa4
Merge pull request #37094 from dkaste/line-edit-secret-select
Calculate LineEdit selection with secret character
2020-03-18 21:50:14 +01:00
simpuid
43b2f75d64 Remove update condition from LineEdit::update_placeholder_width
Placeholder with length greater than `max_length` are allowed, so there is no reason for those update condition.
It fixes the odd alignment of placeholder when it's length is greater than `max_length`
2020-03-18 02:22:45 +05:30
Darren Kaste
395a038c85 Calculate LineEdit selection with secret character 2020-03-16 12:22:13 -04:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Rémi Verschelde
d94155e10b
Merge pull request #36050 from eswartz/line-edit-move-cursor-on-unselect
Use left/right arrow to move cursor when unselecting in LineEdit
2020-02-27 14:04:19 +01:00
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Rémi Verschelde
2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Ed Swartz
ee39093ce3 Use left/right arrow to move cursor when unselecting in LineEdit
-- useful for rename dialog (the filename portion is selected by
default, and usually, want to change the end of the name, not the
beginning)
2020-02-15 09:24:20 -06:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Rémi Verschelde
7f95e027b4
Merge pull request #35814 from timothyqiu/line-edit-shortcut
Adds CTRL-A CTRL-E support to LineEdit on macOS
2020-02-09 12:51:59 +01:00
sumit0190
2e08578985 Update cached_width of the line_edit element when setting it to be secret 2020-02-08 10:49:08 -05:00
Haoyu Qiu
4774043f8e Adds CTRL-A CTRL-E support to LineEdit on macOS 2020-02-01 13:35:16 +08:00
Bruno Lourenço
a3bcdbeb78 Android virtual keyboard respecting LineEdit max length. 2020-01-23 01:52:49 +00:00
Haoyu Qiu
26e3b4a58a Updates LineEdit's min size when necessary
These properties will affect the minimum size of LineEdit:

* The right icon (`set_right_icon`)
* The clear button (`set_editable` and `set_clear_button_enabled`)
* The text, when "expand to text length" is enabled (`set_text`)
2020-01-15 10:15:32 +08:00
Paulb23
22c15083af Fix empty LineEdit crash on ctrl+backspace 2020-01-11 17:57:36 +00:00
Tomasz Chabora
60cd3df337 Add signal for LineEdit overflow event 2020-01-10 21:07:00 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
bruvzg
4937b21ce5
Hide LineEdit placeholder if IME composition string is not empty. 2019-12-08 18:24:30 +02:00
Paulb23
b68703a35c Fixed caret alignment with placeholder text 2019-12-01 14:27:39 +00:00
Paulb23
3df68b4fa6 Fixed LineEdit alignment when removing text or undo / redo 2019-12-01 13:54:09 +00:00
Michael Alexsander Silva Dias
d24513911d Make LineEdit's minimal size adapt to its icons 2019-09-25 00:46:29 -03:00
Rémi Verschelde
2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
Rémi Verschelde
791da4cb83
Merge pull request #32048 from YeldhamDev/lineedit_right_icon_fix
Expose LineEdit's 'right_icon' and fix icon size
2019-09-23 09:51:45 +02:00
Rémi Verschelde
0928e82027
Merge pull request #29895 from ptrojahn/menukey
Support menu key in TextEdit and LineEdit controls
2019-09-22 21:21:13 +02:00
Paul Trojahn
ba24bc1e04 Support menu key in TextEdit and LineEdit controls
Related to #15542
2019-09-22 12:06:24 +02:00
Michael Alexsander Silva Dias
5d03aa12c9 Expose LineEdit's 'right_icon' and fix icon size 2019-09-21 21:14:14 -03:00
Rémi Verschelde
fae14153f7
Merge pull request #31188 from codecustard/LineEdit_disable_shortcuts
Add Ability to Enable/Disable Shortcuts and Selection for LineEdit/TextEdit
2019-09-19 19:56:59 +02:00
Emmanuel Barroga
b678d68224 Add Ability to Enable/Disable Shortcuts for LineEdit/TextEdit
This PR adds the ability to enable/disable shortcut keys and selection for LineEdit/TextEdit. It also updates the context menu when you disable/enable the shortcut keys or selection.
2019-09-07 06:06:36 -07:00
Bojidar Marinov
6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
PouleyKetchoupp
5fdea32622 TextEdit & LineEdit caret blink timers run only when focused (fixes #31936) 2019-09-04 13:06:15 +02:00
Hugo Locurcio
9e1c23a353
Reorganize various menus for consistency and conciseness
- Clean up the recent scripts dialog to match the recent scenes dialog
- Add "..." at the end of shortcuts that cause a modal dialog to appear

This closes #31148.
2019-08-13 11:52:10 +02:00
Tomasz Chabora
af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
Tomasz Chabora
b65f6f7944 Accept also right-click event in LineEdit 2019-08-04 15:35:50 +02:00
Michael Alexsander Silva Dias
d91346f720 Fix incorrect caret position when clicking a 'LineEdit' with a non-left alignment 2019-07-15 19:32:41 -03:00
qarmin
9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde
93a67dba37
Merge pull request #30002 from GlaceGwyneth/master
Give LineEdit/TextEdit a custom color for font while uneditable
2019-06-25 13:05:27 +02:00
Gwyneth Lowe
f07e5ac153 Give LineEdit a custom font color when un-editable
By default the LineEdit's text when editable is unchecked had some transparency hardcoded.
This change adds a custom color to LineEdit for adjusting the font when editable is off.
Addresses issue 29814
2019-06-24 20:00:05 -05:00
Florian Marchal
0f2b25f83e Line edit placeholders now react properly to translation changes. 2019-06-24 23:22:20 +02:00
bruvzg
63d8dc0920
Fix third and fourth level (AltGr / ⌥ modifier) keys input in LineEdit. 2019-06-11 08:10:07 +03:00
Rémi Verschelde
774a9fde84
Merge pull request #26848 from ptrojahn/utf8navigation
Support UTF-8 in TextEdit and LineEdit navigation
2019-06-03 22:28:54 +02:00
Rémi Verschelde
af2c742f53 Fix and expose String::strip_escapes(), use it in LineEdit paste
Supersedes #27736.
2019-05-31 15:49:14 +02:00
Rémi Verschelde
06da7bf6b9
Merge pull request #28726 from megalike/add_mac_os_hotkeys_le
Support Mac OS hotkeys in line_edit
2019-05-28 10:37:04 +02:00
Rémi Verschelde
f279837f3e
Merge pull request #29067 from KoBeWi/spin_edit
Pass mouse events to SpinBox from its LineEdit
2019-05-24 15:51:03 +02:00
Ibrahn Sahir
d8a5fcd3d1 Initialize readonly/editable in LineEdit and TextEdit controls 2019-05-21 21:50:02 +01:00
Tomasz Chabora
2d84ec5468 Pass mouse events to SpinBox from its LineEdit 2019-05-21 14:49:53 +02:00
Michael Alexsander Silva Dias
be8dc97be7 Fix leftover connection to the "Open" signal in FileSystemDock
Fixes #28903.
2019-05-15 11:25:52 -03:00
megalike
ed37912e66 Support Mac OS hotkeys in line_edit 2019-05-06 22:59:34 +03:00
theoniko
505ab3d225 Fix First Ctrl+R and Ctrl+F not showing long name variables correctly 2019-05-01 20:59:17 +02:00
Rémi Verschelde
ea30bcdfef
Merge pull request #28287 from YeldhamDev/text_editable_contextmenu
Make 'Line/TextEdit's context menus hide their editing options when in readonly mode
2019-04-30 10:15:47 +02:00
Michael Alexsander Silva Dias
f7a45eb0de Make 'Line/TextEdit's context menus hide their editing options when in readonly mode
Fixes #28243.
2019-04-29 14:03:31 -03:00
Michael Alexsander Silva Dias
b8e09f98c4 Make buttons that trigger popups have the same scale 2019-04-29 13:07:47 -03:00
Rémi Verschelde
86aa22b2ac
Merge pull request #28266 from coldrye-collaboration/gh-28241
Fix LineEdit not expanded to text length on undo/redo
2019-04-22 10:47:58 +02:00
Carsten Klein
da2a0a3814 Call minimum_size_changed() on redo/undo if expand_to_text_length is true
Fixes #28241
2019-04-21 19:10:01 +02:00
Michael Alexsander Silva Dias
ac1c523989 Fix 'LineEdit' offset limit not accounting for the right/clear icon width
Fully fixes #28242.
2019-04-21 13:55:40 -03:00
Michael Alexsander Silva Dias
d84acb98d0 Fix 'LineEdit' contents not ending before the clear button if no right icon was set
Fixes #28242.
2019-04-20 18:22:37 -03:00
Rémi Verschelde
fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
Paulb23
bfba1e36bc Fixed not deselecting when clearing lineedit. 2019-03-31 16:32:24 +01:00
Paul Trojahn
8851e16f75 Support UTF-8 in TextEdit and LineEdit navigation
This allows jumps over whole non ASCII words with Ctrl+Left/Right in
a LineEdit or TextEdit.
Fixes #25681
2019-03-09 20:08:40 +01:00
Kārlis Seņko
86374c0431 Allow moving LineEdit visible window left by more than one symbol. 2019-02-19 23:59:09 +02:00
Michael Alexsander Silva Dias
9c69d7f339 Appease some CppCheck warns for files in the "scene" directory 2019-01-16 12:59:18 -02:00
bruvzg
55bc004a73
Update IME text only for focused input controls. 2019-01-08 22:52:56 +02:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
bruvzg
4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative. 2018-11-23 14:07:48 +02:00
Juan Linietsky
f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
Ibrahn Sahir
7bf54d2334 Initialise LineEdit clear_button_status.
Avoiding undefined behaviour and cleaning up Valgrind output.
2018-10-20 11:27:31 +01:00
karroffel
a0f206aae8 fix enum cast warnings on clang 2018-10-04 09:17:59 +02:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
MidZik
7aca4c32e2 Disable ability to copy or cut text from LineEdit if secret mode is enabled. 2018-08-24 04:45:05 -05:00
Łukasz Rutkowski
81fb81de9d Do not use theme to set LineEdit right_icon 2018-08-11 12:04:26 +02:00
Łukasz Rutkowski
e8a435c8cd Add clear text button to LineEdit
- Add pressed state to clear button
- Enable clear button on all inputs with search icon
- Remove duplicate clear buttons
- Fix rendering of icon for center and right alignments
- Add clear button to more search fields
- Add clear icon to default theme
- Add method to control enabled state of clear button
- Add property to enable clear button from inspector
2018-08-11 12:04:26 +02:00
Juan Linietsky
b9730a6956 Make line edit always vertically aligned, makes no sense otherwise. Fixes #17188 2018-08-10 13:15:26 -03:00
Hugo Locurcio
8d05f89bc1
Make the caret thicker in TextEdit and scale it with the editor scale
The caret in LineEdit is still 1 pixel thick, but it will become
2 pixels thick at editor scales higher than or equal to 150%.
2018-07-26 23:43:43 +02:00
Paulb23
8f390da422 Center text drawing in LineEdit 2018-07-01 15:46:33 +01:00
Juan Linietsky
0a1c1c660f -Added AnimationGraphPlayer (still missing features)
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18 22:12:08 -03:00
Saracen
9d0bdf69c4 LineEdit IME position will now ignore placeholder text. 2018-06-13 16:42:36 +01:00
Saracen
c5bdb5b1d8 IME context detection. 2018-06-11 17:22:11 +01:00
Anish
5d3108acbb Ensures CMD+left and CMD+right only valid for OSX.
Fix in #18370 is now only valid for OSX and is reverted for other OS.

Fixes #19042
2018-05-24 15:04:22 +05:30
Ibrahn Sahir
2abec59db9 fix for TextEdit::set_text firing signals it shouldn't.
Removing some _changed signals in set_ functions.
Includes revert of commit 384625aa31
2018-05-19 19:38:13 +01:00
Ruslan Mustakov
5cd12f6649 Perfect FreeType-based outlines for DynamicFonts
- Implement outlines based on FreeType Stroker API. This allows
  artifact-free results, similar to what you will see in Web or any text
  editing tools. Outline is a part of DynamicFont rather than Label,
  because outlines have to be baked into the font's atlas. Font has a
  default outline_color and a Label can specify font_outline_modulator
  that will be multiplied with the Font's color to get the final result.

- draw_char now has to be called twice to fully render a text - first
  with p_outline == true for each character and then with
  p_outline == false for each character.

- Number of draw-calls is reduced from 5 to 2 per outlined character.

- Overall cleanup of DynamicFont code, extracted duplicated code pieces
  into separate methods.

- The change is backward-compatible - Labels still have outline
  properties that work exactly as they worked before.

Closes #16279.
2018-05-08 13:45:24 +07:00
Rémi Verschelde
b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
robfram
c17de1f70f Fix placeholders position in LineEdit when editing inside the Editor
Editing the `Text` property through the editor causes a wrong
placement of the placeholder, as it calls `LineEdit::clear_internal`,
which was wrongly reseting the cached placeholder width.

Fix #18184.
2018-05-02 21:15:46 +02:00
Max Hilbrunner
613a8bee41
Merge pull request #18370 from KidRigger/master
Adds support for CMD+Left and CMD+Right on MacOS
2018-04-30 19:02:20 +02:00
Max Hilbrunner
f1bbb59653
Merge pull request #18489 from Calinou/tweak-property-hint-ranges
Tweak the property hint ranges of caret blink and line length guideline
2018-04-30 18:19:09 +02:00
Hugo Locurcio
c118a0ee5e
Make the LineEdit "secret" character customizable 2018-04-30 02:25:17 +02:00
Ignacio Etcheverry
7034d48032 Fix binding some core API methods only in tools builds 2018-04-29 19:49:26 +02:00
Hugo Locurcio
0eb2f6c223
Tweak the property hint ranges of caret blink and line length guideline
This allows for more precise adjustments.
2018-04-28 19:13:30 +02:00
Anish
a126876cc8 Adds support for CMD+Left and CMD+Right on MacOS
CMD+Left and CMD+Right are hotkeys used on MacOS for
moving cursor to start and end of the text, respectively.
They are now supported, alongside ALT+key.

Fixes: #17631
2018-04-23 16:09:20 +05:30
sersoong
a1cfc89108 Fixed context menu TTR bugs 2018-04-19 15:31:38 +08:00
robfram
53b51f68bf LineEdit placeholder alignment, content margins, and overflow bugs
LineEdit doesn't correctly uses style margins nor use placeholders
width correctly, causing multiple rendering bugs.
2018-04-09 23:57:23 +02:00
Fabio Alessandrelli
e15fe296bd Line edit up/down focus pass through
When line edit receive a up/down and the cursor is at beginning/end it
will not set the input as handled
2018-02-23 13:01:28 +01:00
Federico Frenguelli
9cd3ed4ace Fixed #15082: line edit emits two "text_changed" signals when pasting while text is selected 2018-02-05 16:22:34 +01:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Rémi Verschelde
4b6bef6524 Fix signal arguments shadowing member variables
Fixes #10212.
2018-01-09 16:51:19 +01:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
fd5f193da5
Merge pull request #15103 from poke1024/lineedit-key-up-down
Support KEY_UP and KEY_DOWN in LineEdit
2018-01-03 11:32:31 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Bernhard Liebl
414c60aee7 Support KEY_UP and KEY_DOWN in LineEdit 2017-12-27 17:04:07 +01:00
Michael Alexsander Silva Dias
95f93e038a Exposed LineEdit's "selection_clear" and renamed it to "deselect". 2017-12-17 15:40:44 -02:00
TheAspiringHacker
de03966a65 Check for icon in LineEdit::set_cursor_position
Fixes #14340
2017-12-06 19:13:34 -05:00
kbake
a5973f4071 change expand_to_len property to add on nonzero...also rename to
expand_to_text_length and shift window on expand to see all text
2017-11-18 18:57:48 -05:00
Ian
fc299b4f37 add context menu enable getters, setters, and properties in LineEdit and TextEdit 2017-11-11 03:30:59 -05:00
Rémi Verschelde
5bbc9a7e66
Merge pull request #12268 from AlexHolly/fix-lineedit-selection
Fix LineEdit drag selection to the left
2017-10-30 23:31:37 +01:00
Paulb23
9dddce75d0 Added multi level undo redo to line edit 2017-10-29 23:21:06 +00:00
AlexHolly
d46093b974 fix LineEdit drag selection to the left 2017-10-20 22:25:12 +02:00
balint magyar
b6b2ec7b77 Fixed center align in LineEdit 2017-10-01 20:11:46 +02:00