Hendrik Brucker
314430b868
Cleanup EditorNode and EditorData
...
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-03-30 20:12:26 +02:00
Haoyu Qiu
ccde2bf66f
Add property name style toggle to Inspector
2022-03-28 18:52:09 +08:00
Vitika9
46ca4737f1
Removed extra separator in absence of ChangeType and Rename
2022-03-18 14:42:48 +05:30
Aaron Franke
918b09cabc
Initialize bools in the headers in editor
2022-03-12 13:34:06 -06:00
kobewi
42078dec9f
Allow negative indexes in ItemList and PopupMenu
2022-03-12 01:14:03 +01:00
kobewi
2057ea2883
Remove duplicate editor settings definitions
2022-03-06 22:05:49 +01:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C
2022-02-16 13:03:05 -05:00
Rémi Verschelde
11572c6e30
Editor: Cleanup some includes dependencies
...
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.
Removes unnecessary `editor_node.h` includes in various editor classes.
Renames `dynamicfont` to `dynamic_font` in a couple files.
Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
trollodel
05b56f316d
Remove most EditorNode constructor parameters and fields
2022-02-14 14:16:24 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
Francois Belair
13a0d9177d
Implement drawing and editing all anim beziers
...
* Move bezier edit from track to button in toolbar
* Draw, edit all bezier curves simultaneously
* Add click on curve to select tracks
* Tie track editor's filter view to bezier editor
* Implement visibility and locking
* Fix editor spacing issues
* Fix track buttons spacing
* Add keyframe focus and (de)select all key handling
2022-02-09 19:48:22 -05:00
Rémi Verschelde
561fbe2175
Merge pull request #56923 from fire-forge/fix-create-root-node-scrolling
2022-02-08 13:17:35 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
...
This reverts commit a988fad9a0
.
As discussed in #57725 and clarified in #57788 , `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
jmb462
a988fad9a0
Add missing SNAME macro optimization to all theme methods call
2022-02-06 23:06:11 +01: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
Anilforextra
fc27636999
Vectors: Use clear() and has().
...
Use clear() instead of resize(0).
Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
kobewi
2cd0c3f8be
Improve 2D editor's right-click menu
2022-01-27 03:02:45 +01:00
Rémi Verschelde
e6170aae39
Merge pull request #55066 from trollodel/less_singletons_in_editornode
2022-01-20 22:29:17 +01:00
Rémi Verschelde
d681d99e12
Merge pull request #52134 from RandomShaper/fix_naming
2022-01-20 22:01:37 +01:00
trollodel
aa1102fc53
Store panels and docks singletons in their own classes
2022-01-20 20:13:26 +01:00
Pedro J. Estébanez
7b0ed2aa5e
Rename Variant::is_ref() to is_ref_counted()
2022-01-20 18:46:25 +01:00
Michael Alexsander
b3a82f8310
Make Scene dock menu button an actual MenuButton
2022-01-20 08:54:36 -03:00
fire540
f8dde5871c
Fix Create Root Node dialog expanding in favorites tab
2022-01-19 16:05:02 -06:00
kobewi
6630eb3b5a
Improve node pasting
2022-01-18 16:54:53 +01:00
Rémi Verschelde
5bc87025f4
Merge pull request #55809 from cdemirer/fix-reparenting-inherited-nodes
2022-01-18 10:54:59 +01:00
cdemirer
31a6ad83fd
Editor: Disallow reparenting inherited nodes
2022-01-18 00:37:17 +08:00
Rémi Verschelde
ae06511bf6
Merge pull request #55569 from KoBeWi/expand_all_was_a_mistake
2022-01-13 12:42:28 +01:00
kobewi
9e095bb68b
Fix some more wrong node names
2022-01-07 00:27:20 +01:00
SaracenOne
941ea38b9a
Prevent saving branches in foreign scenes
2022-01-06 15:04:12 +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
kobewi
fe71a91de9
Move and rename Collapse/Expand All button
2021-12-23 22:19:56 +01:00
Rémi Verschelde
c972948c21
Merge pull request #55761 from KoBeWi/alt_hack
2021-12-21 11:35:14 +01:00
kobewi
bd6e9e0d6e
Allow to copy foreign nodes
2021-12-13 13:33:06 +01:00
Pedro J. Estébanez
18663aa305
Stop asuming a default value of NIL means there's no default
2021-12-11 14:03:48 +01:00
kobewi
acf563e59f
Add drag and drop for NodePaths
2021-12-09 18:50:57 +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
Yuri Roubinsky
771491d358
Add New Shader
option to the FileSystemDock popup menu.
2021-12-03 19:42:58 +03:00
Andreas Raddau
2b7eab7c87
Fix editor crash when expanding/collapsing empty scene tree
2021-12-01 20:18:20 +01:00
Hugo Locurcio
9c6032b46a
Fix scene tree dock icon not switching colors on theme change
...
This fixes the "three vertical dots" button at the right of the
scene tree dock when switching from a dark theme to a light theme
or vice versa.
2021-11-29 19:42:06 +01:00
Yuri Roubinsky
eabf8f5edf
Added reset_size
method to Control
and Window
classes
2021-11-22 16:55:21 +03:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Hugo Locurcio
7cc33b14c9
Use Enter instead of F2 as an editor renaming shortcut on macOS
2021-11-12 20:50:23 +01:00
Rémi Verschelde
88c4380737
Modules: Make sure to include modules_enabled.gen.h where needed
2021-11-12 13:42:58 +01:00
kobewi
688f42c691
Fix node naming in scene tree dock
2021-11-11 22:30:41 +01:00
Pedro J. Estébanez
1806ec7c14
Unify determination of default property values
2021-11-07 15:27:47 +01:00
kobewi
e393c2a734
Add is_built_in() method to Resource
2021-11-04 12:45:58 +01:00
Rémi Verschelde
a2803f3d86
Merge pull request #54072 from KoBeWi/hrcr_is_ded
2021-11-03 17:31:48 +01:00
kobewi
07065d67e1
Infer shader type based on edited node
2021-11-03 15:27:38 +01:00
kobewi
de4f29f458
Remove node_hrcr hack
2021-10-28 01:43:34 +02:00
Rémi Verschelde
164dc11e04
Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo
...
Implement Skeleton Editor Gizmo
2021-10-06 21:11:20 +02:00
Silc Renew
f2e9867e9f
Implemented SkeletonEditorGizmo
...
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
Rémi Verschelde
8f227e9da3
Merge pull request #51413 from KoBeWi/ 🚗
2021-10-04 20:31:47 +02:00
Lightning_A
c63b18507d
Use range iterators for Map
2021-09-30 15:09:12 -06:00
Hugo Locurcio
570cdc128f
Rename Node's filename
property to scene_file_path
for clarity
2021-09-30 16:50:25 +02:00
Rémi Verschelde
f410852f9c
Merge pull request #52172 from kleonc/scene-tree-dock-ensure-single-select
2021-09-29 09:15:43 +02:00
Aaron Franke
4fc639916c
Allow disabling the RegEx module in the editor
2021-09-15 12:08:53 -05:00
kobewi
d4f4cfbb40
Save branch as scene by dropping to filesystem
2021-09-09 00:59:10 +02:00
kleonc
5d25115e80
SceneTreeDock Ensure to deactivate multi edit when selection changes to a single node
2021-08-28 01:55:06 +02:00
reduz
5cecdfa8af
Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
...
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Lightning_A
285024e806
Focus the scene tree dock after hitting one of the "Create Root Node:" buttons
2021-08-11 18:15:24 -06:00
kobewi
6098403f07
Move the option to new menu
2021-08-12 01:34:52 +02:00
kobewi
e401cd58f1
Add option to not expand tree on node select
2021-08-12 00:36:56 +02:00
Yuri Roubinsky
5e5cd2495d
Added editor dialog for easily creating shaders.
2021-08-07 21:02:13 +03:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Rémi Verschelde
6b1886f998
Merge pull request #50319 from nekomatata/optimize-node-path-check
...
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-22 12:13:10 +02:00
kobewi
31a81562a8
Fix Change Node Type after Add Node Here
2021-07-20 16:47:57 +02:00
Rémi Verschelde
b1eee24e26
Merge pull request #50517 from KoBeWi/ 🌳 💣
...
Assign value to property by dropping to scene tree
2021-07-19 18:08:47 +02:00
kobewi
5faf51a5aa
Assign value to property by dropping to scene tree
2021-07-19 16:16:50 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
kobewi
f4b361dd15
Add header theme type variations to labels
2021-07-13 15:42:09 +02:00
Rémi Verschelde
3c0c202bf6
Merge pull request #49725 from EricEzaM/multi-node-picking-fixes
...
Fixes for multi-node editing interactions.
2021-07-12 19:23:13 +02:00
PouleyKetchoupp
ff40c3f3c8
Optimize NodePath update when renaming or deleting nodes in the editor
...
Now the process uses a Map to lookup node pointers instead of iterating
over all modified node paths in a list and comparing them for each
property to check.
The process also avoids checking properties with empty node paths and
does an early exit on deleted nodes to avoid checking the node and its
descendants.
Also made a minor change in NodePath::rel_path_to() to avoid resizing a
Vector many times for long paths (with copy-on-write each time). Now
it's down to 2 resize calls in any case.
2021-07-09 11:42:39 -07:00
kobewi
36434cb2e6
Fix node list with Add Node Here
2021-07-08 00:52:49 +02:00
Hugo Locurcio
99909cb4f7
Add a root Node3D automatically if absent when adding preview sun and sky
...
This makes for a smoother prototyping process compared to displaying
an error message.
2021-07-07 01:59:46 +02:00
PouleyKetchoupp
62ce81ec15
Coding style fix in editor NodePath update
...
Added r_ prefix for reference arguments that can be modified.
2021-06-30 11:50:40 -07:00
Rémi Verschelde
dfdde2c598
Merge pull request #49812 from nekomatata/node-path-editor-update
...
NodePath properly updated in the editor in more cases when nodes are moved or renamed
2021-06-29 12:51:38 +02:00
PouleyKetchoupp
3e4e530523
NodePath properly updated in the editor in more cases
...
Fix more cases of node path needing an update when nodes are renamed or
moved in the editor.
Built-in node properties:
Before, node paths were checked only for script export variables. Now
all properties are checked from the node, which includes built-in node
properties.
Allows proper node path updates for nodes like remote transform, physics
joints, etc.
Arrays and dictionaries:
Node paths nested in array and dictionary properties are now also
updated in the editor.
Also update the documentation to be clear about node path update in the
editor and at runtime.
Co-authored-by: latorril <latorril@gmail.com>
2021-06-28 09:28:29 -07:00
Lightning_A
e28fd07b2b
Rename instance()
->instantiate()
when it's a verb
2021-06-19 20:49:18 -06:00
Eric M
83cb48e69e
Fixes for multi-node editing interactions.
...
1. When having 2 nodes selected, deselecting one in the ScemeTreeDock would keep the inspector in MultiNodeEdit rather than editing the one remaining node directly. This is now fixed. Closes #49451
2. In the Node3D editor, Shift-Selecting a region (drag selecting) would *deselect* nodes which were already selected, and select ones which were not, essentially inverting the selection. This is now fixed - shift-drag-selecting will only add nodes to the selection. To deselect, individual nodes can be clicked on. I am not sure if there is an issue open for this - it was a bug I found while testing other changes.
3. Other minor code cleanup.
2021-06-19 13:07:42 +10:00
Rémi Verschelde
80d057269f
Revert "Fix SceneTreeDock::_selection_changed to handle to single selection from Multiple Selection"
2021-06-16 02:12:01 +02:00
Aitor Cereceto
1ef9b8645c
[49451] fix: Control _selection_changed from Multiple Selection
2021-06-10 12:04:07 +02:00
kobewi
8e8398209e
Don't remap resources belonging to instance
2021-06-07 12:52:05 +02:00
trollodel
bca0d36fe6
Improve TreeItem API and allow to move nodes
2021-05-17 22:06:46 +02:00
Rémi Verschelde
0ec809462e
Merge pull request #47530 from likeich/add_instance_child_shortcut
...
Adds command+shift+a shortcut to instance a scene
2021-05-07 01:43:41 +02:00
Kyle
e168baf433
Remove extra separator
...
Removes an extra separator when Scene Tree Editing is disabled. Discussed in #48518
2021-05-06 17:37:12 -04:00
Kyle
10d5d4d3cd
Fixed cut/copy/paste visibility
...
Fixes #48514 by moving the visibility of these buttons into their own if statement that depends on if scene tree editing is allowed. Previously it was under the script editing setting which is unexpected as it works with nodes and the scene tree.
2021-05-06 16:01:36 -04:00
reduz
90056460ad
Implement Particle Trails
...
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
2021-04-30 17:38:02 -03:00
Rémi Verschelde
f41e7779fd
Merge pull request #47611 from Bhu1-V/PR/instance-scene-fix
2021-04-19 10:38:56 +02:00
Bhuvan Vemula
9eb3546f38
instance-scene: make parent as edited_scene if no parent selected.
2021-04-17 19:16:18 +05:30
Hugo Locurcio
6d2f5ee244
Add a tooltip to document performance issues of the Remote scene tree
2021-04-12 17:49:51 +02:00
Rafał Mikrut
504bc5cc67
Fix crashes in *_input functions
2021-04-05 08:52:21 +02:00
Rémi Verschelde
4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
...
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
Kyle
ea5445655c
Add ctrl+shift+a to instance scene in scenetree dock
...
Adds another key shortcut to instance a scene in the scentree dock. Complements ctrl+a to add a node.
2021-03-31 20:28:34 -04:00
Aaron Franke
10d7fccb54
Rename ButtonList enum and members to MouseButton
2021-03-23 07:13:23 -04:00
Hugo Locurcio
4c8f458c90
Tweak error messages for the Save Branch as Scene editor option
...
See https://github.com/godotengine/godot-proposals/issues/2433 .
2021-03-21 15:50:37 +01:00
Marcel Admiraal
755c70b871
Rename Array.invert() to Array.reverse()
...
Does the same internally for List and Vector<>, which includes all
PackedArray types.
2021-03-21 10:20:08 +00:00
Rémi Verschelde
27dea9366f
Merge pull request #46510 from hilfazer/nested_scene_duplication_4_0
...
Support for duplication of nested instanced scenes
2021-03-11 21:39:43 +01:00
hilfazer
72134a7f2a
Support for duplication of nested instanced scenes
2021-03-11 19:26:15 +01:00
Rémi Verschelde
ec7053259b
Merge pull request #41437 from KoBeWi/put_it_here
...
Allow to create a node at specific position
2021-03-01 15:48:53 +01:00