1
0
Fork 0
Commit Graph

532 Commits

Author SHA1 Message Date
bjornmp 06998a3927 Enforce that custom nodes keep their original type
Enforce that custom nodes and resources created via the "Create New Node" dialog, should permanently retain their original type (script). This means:

- Type continuity: It should be impossible for the user to (accidentally) clear the original script of a custom node that was created via the "Create New Node" dialog.

- Extensibility: The user should be able to extend custom types as usual (create a script that inherits the original type and replace the original script of that node with his own). However, if he then clears his extension-script from that node later on, the custom type should revert to its original script instead of becoming a non-scripted type.
2024-10-22 18:18:16 +02:00
Juan db25c8fce1 Exposed path properties save UID if referencing a resource
Currently, if a user or some resource exposes a path in a script,
if this references a resource path it will be saved as a full path.

This will make refactoring not work if the resource pointed towards
changes location or is renamed.

This change makes it so an uid:// path is saved internally in case
a path to a resource has been selected, effectively making it refactor proof.
2024-10-07 15:33:37 +02:00
Rémi Verschelde def5a04d06
Merge pull request #97543 from KoBeWi/to_edit_or_not_to_edit
Fix closing Theme Editor not actually closing it
2024-10-04 22:43:41 +02:00
Rémi Verschelde b08a3d8978
Merge pull request #95149 from KoBeWi/inspector_mains
Don't fold resources when child of main inspector exits
2024-10-04 22:43:08 +02:00
Rémi Verschelde 60708ccbfe
Merge pull request #96542 from Maran23/inspector-scrolls-away
Fix Inspector may scroll away when editing a property that adds or removes sub properties
2024-10-01 17:30:45 +02:00
kobewi 66d2b0fc6a Fix closing Theme Editor not actually closing it 2024-09-27 17:08:20 +02:00
A Thousand Ships 7d8684fdb5
[Editor] Merge duplicate entries in enum property inspector
This helps with confusion over how selecting a key with a duplicate
value won't be selected as only the first entry with a particular value will
be selected.
2024-09-12 16:05:11 +02:00
Rémi Verschelde b0328993e6
Merge pull request #87674 from WhalesState/line-edit
Prevent `LineEdit` focus loss when text is submitted or rejected and allow selecting without editing with arrow keys.
2024-09-11 12:34:31 +02:00
Mounir Tohami c36f466a4c Prevent `LineEdit` from losing focus when text is submitted or rejected. 2024-09-10 13:43:31 +00:00
Rémi Verschelde a0823ce5fe
Merge pull request #96620 from ajreckof/fix-clear-button-on-Array-Node]
Fix clear button on `Array[Node]`.
2024-09-09 17:51:46 +02:00
ajreckof dee0453b57 fix clear button on Array[Node] 2024-09-06 13:39:25 +02:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Marius Hanl 27b7b433e0 Fix Inspector may scrolls away when editing a property that adds or removes sub properties 2024-09-04 01:20:11 +02:00
kobewi 065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
kobewi 5cf9afb0c0 Don't fold resources when child of main inspector exits 2024-08-04 22:31:10 +02:00
A Thousand Ships fbb879debd
[Scene] Add `SceneStringNames::text/value_changed` 2024-06-19 09:44:38 +02:00
A Thousand Ships ca18a06ecb
[Scene] Add `SceneStringNames::confirmed` 2024-06-19 09:40:54 +02:00
A Thousand Ships d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected` 2024-06-19 09:39:05 +02:00
A Thousand Ships d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)` 2024-06-18 17:24:27 +02:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +02:00
kobewi 6479b5673f Remove unused base_hint from EditorPropertyNodePath 2024-05-29 13:18:19 +02:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +02:00
Michael Alexsander e1798f4278
Fix unchecking theme overrides not creating an undo action 2024-05-22 21:24:31 -03:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
ajreckof 114ab9dd04 fix infinite call loop on theme change.
Apply suggestions from code review
2024-05-13 14:39:02 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
kobewi 464a1e8672 Fix temporary Euler when editing quaternion 2024-05-07 22:16:02 +02:00
Rémi Verschelde 03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
ajreckof cba9606611 Add colored margin in Inspector for arrays and dictionaries.
Apply suggestions from code review

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Tomek <kobewi4e@gmail.com>
2024-05-03 10:56:23 +02:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Rémi Verschelde 8063ea9e32
Merge pull request #84446 from KoBeWi/EditorYOLOPicker
Don't check resource type assigned in property
2024-04-26 15:13:06 +02:00
jsjtxietian 7d4bdcf80a Fix `_node_assign` will crash when base_node is nullptr 2024-04-09 12:37:32 +08:00
Rémi Verschelde c97885be7d
Merge pull request #89811 from timothyqiu/missing-i18n
Fix missing i18n for some editor strings
2024-04-04 14:31:43 +02:00
Haoyu Qiu 91204f6f3f Fix missing i18n for some editor strings 2024-04-03 16:42:28 +08:00
RedMser 9cd30208d6 Improve SceneTreeEditor usability
- Mark contextually relevant node
- Remember/Clear selection as appropriate
- Scroll to marked/selected node
2024-03-31 21:35:10 +02:00
ajreckof ab30c682d3 Fix editing exported nodes in array as text. 2024-03-30 17:57:17 +01:00
Zi Ye d827b34ea8 Fixed undo/redo behaviour of color picker and added ability to cancel/confirm color selection. 2024-03-24 15:12:11 -05:00
Adam Scott 44d3ce2c11
Add browse folder and browse file icons 2024-03-12 09:57:59 -04:00
Abel Toy 882441a0ad
Support Array and PackedArray in @export_* 2024-03-06 16:17:54 +09:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
ajreckof a8173439ef Fix paste Value can empty a dictionary depending on right-click location 2024-02-26 06:53:40 +01:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
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
kobewi 0f755ce8d1 Don't check resource type assigned in property 2023-11-04 13:04:28 +01: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
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Rémi Verschelde 4c2dea108e
Merge pull request #70540 from vaartis/multiline-arrays-dictionaries
Implement export_multiline support for Array[String] and Dictionary
2023-01-13 18:01:55 +01:00
Juan Linietsky 9a966b95ec Fix recursive resource inclusion check
I forgot a line of code.

Fixes #71194.
2023-01-11 18:28:52 +01:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Juan Linietsky 0e0a6bb39b
Removed unused property hints and `Object::get_translatable_strings()`
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Rémi Verschelde e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00