Commit graph

438 commits

Author SHA1 Message Date
Yuri Sizov
635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Aaron Franke
8a407ff82e
Use set_value_no_signal in editor property code 2023-12-18 11:47:03 -06:00
Yuri Sizov
7fbaefd244 Merge pull request #85723 from ilyabelow/84609-visual-shader-viewport-texture-error
Add a specific error when creating a ViewportTexture in a Texture2D node
2023-12-08 16:58:39 +01:00
Yuri Sizov
0481a0b8b3 Merge pull request #82528 from SaracenOne/path_types
Add support for exporting script classes without a name
2023-12-08 15:22:48 +01:00
ilyabelow
429f24e665 Add a specific error when creating a ViewportTexture in a Texture2D node in a Visual Shader 2023-12-04 15:16:43 +04:00
kobewi
4296f0a771 Fill remaining global scope constant descriptions 2023-11-13 15:17:10 +01:00
kobewi
aff49d3a76 Fix missing arrows in integer vector properties 2023-11-09 17:35:15 +01:00
Saracen
7559eb1667 Script path type support in editor:
Allow script path type hints to be used in drag and drop
and scene tree popup.
2023-11-08 00:18:40 +00:00
Yuri Sizov
215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
Rémi Verschelde
7a0fc7e0c1
Merge pull request #75274 from KoBeWi/NodeTrail
Enhance NodePath property editing
2023-10-04 15:32:36 +02:00
kobewi
52b62921b0 Fix node icons appearing too big in some cases 2023-10-03 15:56:13 +02:00
kobewi
cf36afd9d2 Enhance NodePath property editing 2023-10-02 14:50:38 +02:00
Rémi Verschelde
563d225654
Merge pull request #82287 from jsjtxietian/fix-clear-error-when-unset-exported-typed-array-vai-editor
Fix can't unset exported typed array element when the type is set to Node
2023-09-26 08:31:01 +02:00
A Thousand Ships
e45927b2f2 Replace radians range hint with radians_as_degrees 2023-09-25 08:50:19 +02:00
jsjtxietian
a46901278d Fix can't unset exported typed array element when the type is set to Node 2023-09-25 14:23:05 +08:00
A Thousand Ships
75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Yuri Sizov
e21ded8f8f Merge pull request #80450 from KoBeWi/settings_freeze,_no_more_changes
Deprecate `project_settings_changed` signal
2023-08-25 14:58:32 +02:00
Hugo Locurcio
81d603ad0e
Replace all flags with one value when holding Cmd in the layers editor
This behavior is inspired by Blender (except it's the other way
around to preserve the current default behavior).

Trying to enable a single enabled value with Cmd held will invert the
current flags, which makes enabling all flags but one faster.
2023-08-17 14:01:55 +02:00
kobewi
fca3ab5564 Deprecate project_settings_changed signal 2023-08-10 15:07:25 +02:00
kobewi
05ab444357 Show valid types in SceneTreeDialog 2023-08-04 13:50:27 +02:00
Haoyu Qiu
de83b7166c Hide explicitly specified flag value in Inspector 2023-07-14 14:25:26 +08:00
Aaron Franke
58a65591f5
Fix property hint class name type string restriction and replace mode 2023-07-06 23:07:32 -05:00
Rémi Verschelde
f77dee90a6
Merge pull request #76389 from ajreckof/editor-property-nodepath-for-node
Fix typed array export
2023-06-01 00:40:40 +02:00
kobewi
267728a240 Refactor vector editor properties 2023-05-31 00:14:28 +02:00
kobewi
54be252259 Add indicator for StringName properties 2023-05-26 17:49:01 +02:00
kobewi
010ce46ffa Add get_edited_property_value() shorthand method 2023-05-26 09:18:53 +02:00
ajreckof
465742d904 Fix typed array export
Apply suggestions from code review to squash later

Revert "Fix typed array export... again"

This reverts commit da8d6734fb.

Co-Authored-By: Tomek <kobewi4e@gmail.com>
2023-05-21 08:40:11 +02:00
Hakim
f2383b7c19 Do not translate node name when assigned to an exported field 2023-05-18 22:10:52 +02:00
Rémi Verschelde
3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
smix8
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Rindbee
af58f1e854 Improve the UX of ViewportTexture in the editor
The associated `ViewportTexture`s will update the `viewport_path`
in time when the `Viewport`'s nodepath is changed (caused by renaming
the node names or moving in the SceneTree dock).

If the target `Viewport` is changed by resetting the `viewport_path`,
the `ViewportTexture`s will be re-setup and emit `changed` signal in
time.
2023-05-10 09:13:43 +08:00
Fredia Huya-Kouadio
aa7a4d56f0 Make EditorPropertyLayersGrid responsive to touch taps 2023-04-23 07:09:51 -07:00
Yuri Sizov
4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Haoyu Qiu
26553be424 Turn off auto translate for some editor controls
* Scene tab
* Animation name list in Animation panel
* Feature profile name list in Editor Feature Profile dialog
* Layout names in editor layout menu
* Subresource list in Inspector dock
* Resource type shown in EditorResourcePicker
* Enum dropdowns in inspectors: We'll eventually allow auto translating
  these after implementing a way to opt-out auto translation on a
  property-by-property basis and a way to extract enumerators.
2023-03-28 23:18:32 +08:00
yedpodtrzitko
e13bcf5b84 clear filter input in Project Settings when opening Layers 2023-03-10 20:18:37 +08:00
Yuri Sizov
47e030251f
Merge pull request #73381 from KoBeWi/works_better_than_expected_huh
Fold resources when non-main inspector exits tree
2023-02-17 16:25:18 +03:00
kobewi
7aa3651e2b Fold resources when non-main inspector exits tree 2023-02-15 18:20:55 +01:00
Rémi Verschelde
840675ee07
EditorProperty: Fix missing increment buttons for integers
Fixes #73192.
2023-02-15 15:26:46 +01:00
kobewi
2b71ede967 Fix @export_multiline for PackedStringArray 2023-02-04 17:06:58 +01:00
Raul Santos
c7f4ca36a4
Use PropertyUsageFlags enum in parse_property 2023-01-31 23:31:15 +01:00
kobewi
7669eea855 Tweak overrun behavior of EditorPropertyObjectID 2023-01-29 22:07:44 +01:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
kobewi
4ae168eb04 Rework EditorPlugin editing logic 2023-01-22 00:20:45 +01:00
Rémi Verschelde
d919d77367
Merge pull request #71418 from TokageItLab/restart-anim-tree
Allow AnimationStateMachine / AnimationNode to restart when transitioning to the same state
2023-01-19 21:52:35 +01:00
Silc Renew
e480262c53 Allow AnimationNodes to restart when transitioning to the same state 2023-01-19 03:10:59 +09:00
Rémi Verschelde
bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
Rémi Verschelde
0f2937ead1
Merge pull request #71229 from reduz/fix-recursive-resource-inclusion-check
Fix recursive resource inclusion check
2023-01-15 13:03:20 +01:00