Markus Sauermann
99bb7ab692
Fix Control rect coordinate system inconsistency
...
Fix get_rect, get_global_rect and get_screen_rect to take Controls scale into
account.
Simplify get_screen_position and get_screen_rect
2022-10-22 01:47:52 +02:00
Max Hilbrunner
d148613bb1
Merge pull request #66279 from aaronfranke/control-min-size
...
Revert `custom_minimum_size` type back to `Vector2` instead of `Vector2i`
2022-10-19 22:40:52 +02:00
kobewi
d06a8320e5
Simplify GDVIRTUAL_CALL calls
2022-10-19 00:05:48 +02:00
kobewi
e48c5daddf
Unify usage of GLOBAL/EDITOR_GET
2022-10-18 19:01:48 +02:00
Markus Sauermann
b8031bb7d6
Code simplifications
...
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.
2. sqrt(a * a) = abs(a) for doubles
3. Simplify affine_inverse combination
4. Simplify calculation in shaders
2022-10-18 12:47:40 +02:00
Markus Sauermann
13b87c13c7
Fix set_as_toplevel event propagation to child
...
In certain conditions events did not get propagated to Control childs of
Node2D nodes when setting a parent of the Node2D to toplevel.
This patch makes sure that such Control nodes become root control in the
viewport.
2022-10-16 21:42:16 +02:00
Eric M
a3ed9e6f2c
Move Shortcut Context to Control and ensure that `shortcut_input` adheres to contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context.
2022-10-13 21:07:19 +10:00
Rémi Verschelde
fad0327503
Merge pull request #66953 from Sauermann/fix-top-level-connect-error
...
Fix Control node not disconnecting from signal
2022-10-13 09:04:25 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Markus Sauermann
c0f0f26615
Fix Control not disconnecting signal
...
If a Control has not parent CanvasItem and is set as top_level, then it does not disconnect from the "size_changed" signal when it leaves the Canvas.
This patch corrects this.
2022-10-05 23:35:44 +02:00
Rémi Verschelde
e3464c8fc8
Merge pull request #58995 from Sauermann/fix-mouse-cursor-change-2
...
Update mouse cursor shape after changes
2022-09-28 20:50:05 +02:00
Aaron Franke
c3970f8fe5
Revert custom_minimum_size type back to Vector2 instead of Vector2i
2022-09-22 19:09:12 -05:00
Marc Gilleron
aed3822a93
Change return type of `get_configuration_warnings` to `PackedStringArray`
2022-09-19 16:43:15 +01:00
Markus Sauermann
52da6f1a44
Update mouse cursor shape after changes
...
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-09-18 17:15:38 +02:00
Michael Alexsander
c4c9e41073
Make `Vector2i` values paired with `EDSCALE` be just `Vector2`
2022-09-08 14:46:32 -03:00
Micky
dd26ecdd31
Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
...
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Rémi Verschelde
597bc949a4
Merge pull request #65250 from YuriSizov/theme-owner-rises
2022-09-02 23:20:49 +02:00
Yuri Sizov
8b128081e8
Un-defer the initial theme changed notification
...
Co-authored-by: Rindbee <idleman@yeah.net>
2022-09-02 23:44:23 +03:00
Yuri Sizov
ddc55ef746
Add ThemeOwner type for managing theme propagation and lookup
2022-09-02 23:44:23 +03:00
Hugo Locurcio
f7292dbeb3
Rename `or_lesser` range property hint to `or_less`
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Yuri Sizov
3b1aa240dc
Add a lifecycle method for manual theme item caching to Control
2022-09-01 16:35:36 +03:00
Micky
e31bb5ffeb
Rename `CanvasItem.update()` to `queue_redraw()`
...
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.
Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.
Just a few comments have also been changed to say "redraw".
In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Rémi Verschelde
e60086f98b
Merge pull request #64119 from YuriSizov/theme-init-database
2022-08-29 14:02:21 +02:00
Micky
ef5b9a06a9
Rename `hint_tooltip` to `tooltip_text` & setget
...
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`
Updates documentation, too.
2022-08-27 01:35:01 +02:00
Yuri Sizov
6320a0fc18
Add ThemeDB, expose previously static Theme methods
2022-08-26 19:23:05 +03:00
Aaron Record
74eb2a70bd
Refactor and remove excessive calls of `NOTIFICATION_THEME_CHANGED`
2022-08-25 14:50:49 -06:00
Yuri Sizov
bb5fa91a6b
Disconnect Control from theme resources to avoid issues on destruction
2022-08-24 18:50:04 +03:00
风青山
e561c68256
Add some codes, returnes directly if the value is not changed.
...
Avoid executing the following value-changed logics if the value does not really change.
2022-08-23 23:25:22 +08:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
Yuri Sizov
1a24c9e14b
Make `_validate_property` a multilevel method
2022-08-22 18:35:11 +03:00
Yuri Sizov
e08feee8a6
Replace meta properties with regular properties in `Control`
2022-08-19 20:52:01 +03:00
Tomasz Chabora
2bdd7e9ea0
Add methods for node reparenting
2022-08-16 19:44:41 +02:00
Yuri Sizov
9f88300007
Add dumb theme item cache to Control
2022-08-12 14:36:06 +03:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Yuri Sizov
6ca95003a9
Reorganize code of control.cpp for better maintainability
2022-07-26 23:03:49 +03:00
Nathan Franke
f3d43a384d
simplify alignment preset, fixing icon for full rect
2022-07-20 12:18:33 -05:00
FireForge
97dfbea6ad
Rename Control PRESET_WIDE to PRESET_FULL_RECT
2022-07-18 20:08:11 -05:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
kobewi
8d62b736b2
Fix find_next_valid_focus() freeze
2022-07-01 00:25:10 +02:00
kobewi
d9ede52ded
Fix find_next_valid_focus() freeze
2022-06-30 16:22:40 +02:00
Rémi Verschelde
82a56e5c42
Merge pull request #61587 from YuriSizov/control-fix-theme-owner-toplevel
...
Fix theme propagation for children of top level controls and windows
2022-06-27 12:03:36 +02:00
Pierre-Thomas Meisels
5ad1a1b5e7
enhancement: rename exposed property Control::minimum_size to Control::custom_minimum_size
2022-06-23 18:06:10 +02:00
FireForge
88589c091b
Improve TileSet editor and add more suffixes
2022-06-20 15:28:19 -05:00
kobewi
5553e27fe8
Add vector value linking
...
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Hugo Locurcio
08e804b3b7
Fix infinite loop when calling `Control.popup_centered_minsize()`
...
Co-authored-by: sriramun <sriramun2@gmail.com>
2022-06-09 20:20:53 +02:00
Yuri Sizov
ba273c6c5f
Fix theme propagation for children of top level controls and windows
2022-06-01 04:20:00 +03:00
Haoyu Qiu
4ac999cc3f
Update last min size when Control becomes visible
2022-05-22 15:50:13 +08:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources
2022-05-19 14:34:27 -05:00
Rémi Verschelde
5c79782c7e
Merge pull request #61088 from groud/keep_unhandled_events_on_pass
2022-05-17 23:50:55 +02:00
Gilles Roudière
6db8b7616d
Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS
2022-05-17 15:41:58 +02:00
Rémi Verschelde
fa2b3269ae
Merge pull request #59231 from Sauermann/fix-top-level-identification
2022-05-16 15:10:27 +02:00
kobewi
20cfe6e229
Simplify anchor metadata
2022-05-09 18:51:13 +02:00
kobewi
1dc7bcc83c
Cleanup metadata usage
2022-05-06 00:27:10 +02:00
Hugo Locurcio
b6e9314564
Merge pull request #59185 from NeilKleistGao/master
2022-05-05 16:41:39 +02:00
Markus Sauermann
f01e1ce1dd
Inlcude CanvasLayer transform into calculation of Control screen position
2022-04-28 00:18:32 +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
Markus Sauermann
249d6a4225
Fix how Root Control Node is determined
2022-04-01 13:34:57 +02:00
NeilKleistGao
d8946a7111
Remove metadata `_edit_layout_mode` and `_edit_use_custom_anchors` if they have default values
2022-04-01 13:38:32 +08:00
Haoyu Qiu
2f20ff0ed6
Extract theme property names for localization
2022-04-01 11:35:22 +08:00
Markus Sauermann
0472839509
Fix Control::warp_mouse to respect canvas transform
2022-03-30 23:18:23 +02:00
Rémi Verschelde
7119d355eb
String: Remove TTR and DTR defines in non-tools build
...
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Markus Sauermann
0494e024d8
Rename warp mouse functions to warp_mouse
2022-03-27 14:12:01 +02:00
kobewi
bcf13dc175
Expose methods for screen-space transforms
2022-03-13 16:05:08 +01:00
Markus Sauermann
40c08e522f
Revert "Update mouse cursor shape after changes"
...
This reverts commit 0fce98b4b5
.
2022-03-10 09:43:06 +01:00
Markus Sauermann
0fce98b4b5
Update mouse cursor shape after changes
...
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-03-09 07:54:03 +01:00
Marcel Admiraal
507f72db8e
Rename Control's Rect properties to exclude rect_ part
2022-03-08 16:30:35 +00:00
kobewi
c003ab43c3
Remove custom_* prefixes compatibility
2022-03-05 21:35:10 +01:00
Rémi Verschelde
0f5455230c
Use `switch` consistently in `_notification` (`scene` folder)
2022-02-15 18:44:55 +01:00
Yuri Sizov
ddc8ec6b44
Limit inspector updates when dragging anchored controls
2022-02-13 00:19:06 +03:00
Yuri Sizov
107b6f299c
Reorganize inspector layout workflow for Control nodes
2022-02-10 20:29:34 +03:00
Gilles Roudière
73e784de1e
Remove get_focus_owner() from Control, replaced by get_viewport()->gui_get_focus_owner()
2022-02-03 11:59:32 +01:00
Gilles Roudière
3521eecb4c
Exposes gui_release_focus and gui_get_focus_owner to Viewport
2022-02-01 15:07:22 +01:00
bruvzg
e1148cc452
Revert "Fix control node transform animation jitter with pivot offset"
...
This reverts commit dfb7d46a2a
.
2022-01-31 13:30:35 +02:00
Rémi Verschelde
c70ce4d487
Merge pull request #56124 from KoBeWi/font_slayer
2022-01-21 12:52:24 +01:00
Yuri Sizov
bcbbbeb050
Ignore layout and translation changes in Controls outside of tree
2022-01-19 18:02:22 +03:00
Rémi Verschelde
7c771ea310
Merge pull request #47522 from madmiraal/rename-test_width-test_height
2022-01-18 13:39:57 +01:00
Rémi Verschelde
a2a4ec7cb5
Merge pull request #56376 from pycbouh/theme-tombe-les-theme-properties
2022-01-06 11:33:43 +01:00
Rémi Verschelde
c0b3da78ad
Merge pull request #56255 from PucklaMotzer09/control_unfocus
2022-01-05 10:59:39 +01:00
Marcel Admiraal
f107139979
Rename Project Window width and height settings to match their function
2022-01-04 13:59:16 +00: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
Yuri Sizov
fe283fd07a
Correctly use fallback Theme values as last resort
2021-12-31 18:53:43 +03:00
PucklaMotzer09
be2d59fa0a
Unfocus Control on NOTIFICATION_EXIT_TREE
2021-12-26 17:53:07 +01:00
kobewi
540ddbc33b
Fix being unable to clear some theme overrides
2021-12-21 10:37:08 +01: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
083ff9a133
Fix bad mouse offset with Control::wrap_mouse()
2021-12-07 20:55:12 +01: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
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
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
bruvzg
ebbc25e89c
Ignore empty Font resources as theme override.
...
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
Zae
924c2078da
Fix unexpected crashes in `notification`
2021-10-23 13:01:52 +08:00
Gilles Roudière
1a95f893c4
Implement TileMap patterns palette
2021-10-19 11:57:37 +02:00
Rémi Verschelde
b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
...
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.
Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00