588cf16630
Merge pull request #84840 from kleonc/control-get-transform-simplification
...
Simplify `Control` internal transform calculation
2024-08-26 23:28:08 +02:00
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
...
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
7593e55527
Improve Editor Inspector/Theme item lookup performance
...
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab
- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call
These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
5be4eb9fc6
Simplify Control internal transform calculation
2024-08-19 12:14:41 +02:00
7343dc3a5d
Split TranslationServer into its own file
2024-08-15 15:00:47 +08:00
5da03541a1
Merge pull request #93749 from alvinhochun/gui-snap-to-pixel-round-halfway-to-positive
...
Change GUI controls pixel snap to round halfway towards positive infinity (`floor(x + 0.5)`)
2024-07-17 15:44:43 +02:00
1c47fd7089
Fix Control nodes emitting unnecessary resized signals
2024-07-05 01:41:21 +02:00
cc45c2cdd3
Change GUI controls pixel snap to round halfway to +ve infinity
2024-06-30 00:33:37 +08:00
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
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