Commit graph

642 commits

Author SHA1 Message Date
Rindbee
eb74079dfb Update the edit scene root in time after it is replaced
When changing the type of the edited scene root node, it may be necessary
to update edited scene root in time for the child nodes to work properly.
2023-06-12 21:49:30 +08:00
kobewi
05663b8633 Minor improvements to sub-resource list 2023-05-26 14:37:30 +02:00
kobewi
e729c46b19 Filter extraneous resources from sub-resource list 2023-05-18 01:15:27 +02:00
HolonProduction
7814dedc91 Preserve scene unique names when saving branch as scene. 2023-04-30 13:33:43 +02:00
kobewi
36b4ed4fa4 Prompt to confirm anim track delete on node delete 2023-04-25 17:55:05 +02: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
kobewi
5a99304251 Add a list of all sub-resources used in the scene 2023-04-05 21:01:49 +02:00
Yuri Sizov
1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
SnailRhymer
526d299623 Stop pasted child nodes being assigned an owner when previously unowned
Make copy and pasting match duplication's ownership transferral behavior by storing ownership information in the duplicated nodes on the node clipboard, then checking that information when setting owners for pasted nodes.
2023-03-15 16:12:51 +01:00
kobewi
360c71c3f6 Prevent wrong unedit when clicking editor viewport 2023-02-01 00:50:34 +01:00
Aaron Franke
0e7785333f
Improve clarity of Tree's activated/double-clicked signals
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-01-24 15:55:09 -06:00
Yuri Sizov
fab9926a95
Merge pull request #65137 from dalexeev/editor-naming
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03: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
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Danil Alexeev
8f706be6fa
Rearrange editor/naming/* project settings 2023-01-12 11:41:13 +03:00
Yuri Sizov
00b5222f66 Fix inconsistent state of Controls when editing and running scenes 2023-01-09 15:54:04 +03:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
49794911e8
Merge pull request #70779 from jamesmintram/jamesm/bugfix/add-missing-shortcut-case-for-reparent
Add missing case statement to handle re-parent to new node
2023-01-03 12:31:50 +01:00
James Mintram
35d0f712ba Add missing case statement to handle re-parent to new node 2022-12-31 20:32:32 +00:00
stmSi
b2a398d2a5 Editor: Fix Paste From Clipboard make two root separate scenes pointing to same file 2022-12-27 17:12:36 +06:30
kobewi
0f5018b483 Remove unnecessary condition 2022-12-17 23:04:03 +01:00
Rémi Verschelde
6ee3268189
Merge pull request #65228 from Mickeon/fix-packed-scene-unique-name-root
Fix "Save Branch as Scene" storing root Node's `unique_name_in_owner`
2022-12-05 18:08:10 +01:00
trollodel
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
rune-scape
847c9bd248 GDScript: Avoid using get_global_class_native_base 2022-11-27 03:55:53 -05:00
kobewi
8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
kobewi
7797557f91 Allow directly instantiate scripts in scene tree 2022-11-22 18:40:08 +01:00
Rémi Verschelde
994c935d97
Merge pull request #63601 from YeldhamDev/tooltip_stuff
Small changes to some tooltips
2022-11-17 13:48:46 +01:00
Rémi Verschelde
6d2a7cb46d
Merge pull request #68709 from MewPurPur/instance-begone-part3
Remove more instances of 'instance' being used as a verb
2022-11-16 14:41:42 +01:00
VolTer
3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
Michael Alexsander
39e6beed98 Small changes to some tooltips 2022-11-12 22:01:09 -03:00
kobewi
6b2febe794 Don't reparent dragged node when non needed 2022-11-06 20:19:00 +01:00
kobewi
15831e381b Unify usage of undo_redo in editor 2022-11-02 17:51:58 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
1b3847bb74
Merge pull request #67560 from timothyqiu/mp-default
Fix `SceneTreeEditor::_update_tree()` binding
2022-10-31 11:08:15 +01:00
Rémi Verschelde
420eb1aa34
Merge pull request #67445 from Zylann/rename_queue_delete
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
Marc Gilleron
7543a5e014 Rename queue_delete => queue_free
# Conflicts:
#	editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
Micky
809dad907a Add buttons in Remote Scene Tree
A Scene button to any scene instantiated from file. When clicked, it opens the original PackedScene.

A toggle visibility button is also available.
2022-10-20 18:02:41 +02:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Haoyu Qiu
3d919f84e5 Fix SceneTreeEditor::_update_tree() binding 2022-10-18 10:40:30 +08:00
kobewi
b754df2b99 Fix node name casing issues
Co-authored-by: ryburnj <jordanryburn@gmail.com>
2022-10-10 22:31:26 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Micky
33092b6f45 Expose and warn about Node Filters in Scene Tree Dock
Adds "Filter by Type" and "Filter by Group" in the Scene Tree Dock's MenuButton.
Hovering on them displays an useful tooltip.
When selecting these items, the matching parameter is appended to the terms, and the caret is automatically brought to the end.

When typing a filter that cannot be identified, a warning icon is displayed. The reason is explained as a tooltip.

The same options are also quickly available by right-clicking or middle-clicking in the text field.
2022-10-06 13:36:40 +02:00
Ninni Pipping
df9eaf5f47 Tree recursive folding 2022-09-21 13:28:29 +02:00
Rémi Verschelde
a293f2204c Merge pull request #65134 from Mickeon/editor-unique-name-toggle
Make "Access as Unique Name" a shortcut
2022-09-19 22:03:00 +02:00
Micky
f7231b67e1 Make "Access as Unique Name" a shortcut
The shortcut's name is "scene_tree/toggle_unique_name", not mapped to anything by default.

It also dynamically changes the text based on whether or not the unique name is going to be enabled or disabled.

Finally, it spaces the shortcut in the menu close to "Copy Node Path" if possible.
2022-09-19 17:16:50 +02:00
Rémi Verschelde
e5594c26b1
Merge pull request #44143 from KoBeWi/callable_multiplayer 2022-09-18 13:47:04 +02:00
Tomasz Chabora
882a4f8906 Port remaining connections to callable_mp 2022-09-18 13:08:54 +02:00
ryburnj
9d6af9323a Fix inconsistent scene file name casing by moving existing Name_Casing code to separate function in editor_node, and adding a call from both editor_node and scene_tree_dock. 2022-09-18 11:17:22 +10:00
Micky
a2c3b4ea92 Fix "Save Branch as Scene" storing root Node's unique_name_in_owner
Fix #64425
2022-09-17 11:04:59 +02:00
kobewi
d8093e83b8 Fix undo actions in SceneTreeDock 2022-09-08 22:57:54 +02:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
kobewi
80c78387a2 Remove pathed get_node() use from scene tree dock 2022-09-03 23:10:07 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join 2022-08-30 10:01:11 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
kleonc
5d7ff1bf44 SceneTreeDock Toggling unique name in owner for all selected nodes 2022-08-29 19:18:52 +02:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Micky
ef5b9a06a9 Rename hint_tooltip to tooltip_text & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
kobewi
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
Umang Kalra
7ef5dfcfc3 Changed the title of change node type dialog 2022-08-20 22:53:07 +05:30
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
kobewi
c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
Rémi Verschelde
ba3734e69a
Merge pull request #63603 from aaronfranke/editor-paths
Move editor paths into the EditorPaths class
2022-07-29 19:31:59 +02:00
Rémi Verschelde
74d92bf459
Merge pull request #43081 from KoBeWi/property_keeper
Keep property values when extending script
2022-07-29 19:29:52 +02:00
Aaron Franke
ac870ab1c8
Move editor paths into the EditorPaths class 2022-07-29 11:07:30 -05:00
Tomasz Chabora
44cf3c22ac Keep property values when extending script 2022-07-29 16:57:50 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Silc Renew
063f66d738 fix unmarked unique when make local
Co-authored-by: Juan Linietsky reduzio@gmail.com
2022-07-26 20:56:35 +09:00
kobewi
b42bbca266 Fix node dragging not working when dock is moved 2022-07-21 23:57:52 +02:00
FireForge
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
Rémi Verschelde
b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
FireForge
af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge
e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
Rémi Verschelde
91b984a507
Merge pull request #61966 from Rindbee/fix-internal-nodes-owned
Fix setting owner on internal nodes when save branch as scene
2022-06-23 14:08:12 +02:00
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
Rindbee
472d16be4f Fix setting owner on internal nodes when save brach as scene 2022-06-12 13:57:42 +08:00
kobewi
ec6bbd486f Don't handle pending clicks outside scene tree 2022-06-10 15:14:31 +02:00
FireForge
7f7244f04a Use consistent casing in editor filter/search bars 2022-05-28 18:43:16 -05:00
Rémi Verschelde
3c9cc7914a
Merge pull request #61162 from KoBeWi/drag_nodes_like_a_boss 2022-05-23 22:08:03 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
kobewi
95bbffff48 Only switch to node when not dragging it 2022-05-18 23:25:32 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
reduz
8580f377a3 Implement Scene Unique Nodes
Implements https://github.com/godotengine/godot-proposals/issues/4096

* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
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
Oliver Dick
0559fc58d1 SceneTreeDock: Changed "Save Branch as Scene" to make use of Node::duplicate_from_editor, which is also used by "Duplicate" function of the SceneTreeDock
- Removed Node::duplicate_and_reown method as it is not used anymore
2021-02-28 17:19:01 +01:00
Tomasz Chabora
8df22a03c4 Allow to create a node at specific position 2021-02-26 14:40:28 +01:00
hilfazer
e28cc34db8 Prevent 'Change Type' on nodes from an instanced scene 2021-02-26 07:18:21 +01:00
Rémi Verschelde
72f74eb29e
Merge pull request #45943 from KoBeWi/YEEEET
Remove Merge From Scene
2021-02-18 15:15:19 +01:00
kobewi
6146d95a9d Fix internal resource detecting when pasting nodes 2021-02-13 02:57:29 +01:00
kobewi
6b4faa355c Remove Merge From Scene 2021-02-13 01:35:03 +01:00
Rémi Verschelde
e7ab3a4132
Merge pull request #34892 from KoBeWi/copy-pasta_v7
Yet another node copy-paste PR
2021-02-12 23:16:31 +01:00
kobewi
36494e8526 Duplicate resources pasted to other scenes 2021-02-12 22:38:38 +01:00
reduz
28537d8c84 Fix LineEdit minimum width
-Changed theme setting name to make more sense of what it does
-Reduced amount of minimum characters, so minimum size is smaller.
2021-02-12 17:04:38 +01:00