Commit Graph

528 Commits

Author SHA1 Message Date
22b6f962d9 Invalidate Control global transform before notifying about resize / rect change 2024-05-30 10:10:24 +02:00
8652e9914f Fix theme StyleBox override parameter completion
Also added completion for remove_theme_*_override.
2024-05-24 08:12:53 +08:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
82b6f9d7a7 Fetch argument options from ThemeDB 2024-05-07 15:02:50 +02:00
57cd00aee9 Avoid incorrect computing anchor of Control node when reset on save 2024-05-05 08:33:37 +09:00
308dbb8c63 [Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
48f1e5b561 Don't store deprecated auto-translate property 2024-04-15 14:23:24 +08:00
c3d2fab1e5 Remove Control z-index warning 2024-04-04 17:22:04 +02:00
cd4e4c0fcc Merge pull request #89111 from AThousandShips/vec_use
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
2ed2ccc2d8 Fixed Timestep Interpolation (2D)
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
79ba22a73f Use Vector* component-wise min/max/clamp functions where applicable 2024-03-20 13:47:42 +01:00
f08e782916 Fix Control::set_global_position for rotated/scaled transforms 2024-03-15 04:19:52 +01:00
c1377920cd Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
cd2032a90b Optimise Object's get_argument_options 2024-02-29 18:00:54 +01:00
810a0dbff1 Don't access Node3D/Node2D/Control global transform in reparent unless needed
Fixes #89002.

Co-authored-by: Tamás Gálffy <ezittgtx@gmail.com>
2024-02-29 14:07:48 +01:00
5ba92e5a57 Fix some DEFVALs to use the right type
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +01:00
21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
7b42c24550 Make auto translation inheritable 2024-02-15 16:51:19 -03:00
684752e75b Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
6c2f412cc7 Merge pull request #84760 from KoBeWi/ultimate_get_property_list_reloaded
Fetch override list from ThemeDB
2024-01-29 21:32:10 +01:00
7d6ded2027 Fetch override list from ThemeDB 2024-01-29 16:41:57 +01:00
15369fdb1d Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
0c6b6fe749 Fix issue where set_global_position(global_position) in Control resulted in a different result than global_position
Previously, the case where the pivot point was not at the origin was ignored.
2024-01-23 00:05:11 +08:00
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
ca2f340384 Fix missing autocompletion for inheriting classes 2024-01-03 00:13:04 +01:00
932174fedf [Editor] Add option to override editor UI layout direction. 2023-11-17 14:56:45 +02:00
f7a701587e Merge pull request #84662 from YuriSizov/gui-warn-about-autowrapping
Warn about autowrapped labels in containers
2023-11-09 18:09:25 +01:00
58a3cfa192 Warn about autowrapped labels in containers 2023-11-09 16:33:46 +01:00
kit
d24d73ba31 Make mouse-enter/exit notifications match mouse event propagation
`NOTIFICATION_MOUSE_ENTER` and `NOTIFICATION_MOUSE_EXIT` now includes
the areas of children control nodes if the mouse filters allow it.

In order to check if a Control node itself was entered/exited, the newly
introduced `NOTIFICATION_MOUSE_ENTER_SELF` and
`NOTIFICATION_MOUSE_EXIT_SELF` can be used.

Co-authored-by: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
2023-11-09 09:11:59 -05:00
53172d9860 Add more context to some Window errors 2023-09-30 21:44:05 +02:00
e4cfd4e26a Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
3408aab7c6 Merge pull request #76027 from AThousandShips/focus_direction
Expose finding valid focus neighbors of a `Control` by side
2023-09-25 17:17:33 +02:00
e45927b2f2 Replace radians range hint with radians_as_degrees 2023-09-25 08:50:19 +02:00
2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
e70b83c7a0 Expose finding valid focus neighbors of a Control by side
Exposes the functionality used for ui navigation
2023-08-24 18:25:35 +02:00
152572ac38 Fix global transform validity for Node2D and Control
Set global transform to invalid when changing transform
2023-08-08 12:22:55 +02:00
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
1b5620d2a9 Merge pull request #78009 from YuriSizov/gui-gently-massage-minimal-size
Ensure that controls update all their sizing information when required
2023-06-12 14:14:20 +02:00
0c16082e1e Use get_node_or_null when null checks are present
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
ccaab0e590 Ensure that controls update all their sizing information when required 2023-06-08 17:41:03 +02:00
df26066ce9 Revert "Make sure that data.last_minimum_size is consistent with get_combined_minimum_size() at the same time"
This reverts commit 594852caf1.
2023-06-06 20:55:03 +02:00
66ea0006e0 Fix incorrect node placement in RTL layout when parent is non-Control canvas item. 2023-06-06 11:49:05 +03:00
594852caf1 Make sure that data.last_minimum_size is consistent with get_combined_minimum_size() at the same time
Move the code for switching `data.minimum_size_valid` in `Control::update_minimum_size()`
to `Control::_update_minimum_size()`, make sure to switch `data.minimum_size_valid` to
`false` only before updating `data.last_minimum_size` , so that it will remain consistent
with `get_combined_minimum_size()`.
2023-06-01 19:02:42 +08:00
ce10ca6979 Create a virtual mouse move event after moving child nodes
This updates mouse cursor and mouse-over-states without the need
for additional mouse movements.
2023-05-29 22:46:19 +02:00
0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00