Commit Graph

440 Commits

Author SHA1 Message Date
kobewi 881c8da0a0 Unify single and multiscene instancing 2021-01-15 20:13:09 +01:00
Pedro J. Estébanez 6fbe0a494b Fix cases of resources destroyed too early 2021-01-06 23:40:50 +01:00
kobewi f5d51288b8 Properly edit the instanced node in the inspector 2021-01-05 14:14:45 +01:00
Rémi Verschelde b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal 5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal 4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Marcel Admiraal 8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
Tomasz Chabora 2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
Aaron Franke 1b348b3c17
Remove connect *_compat methods 2020-12-05 17:56:47 -05:00
Rémi Verschelde a09846e015
Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-rework
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28 09:04:25 +01:00
bruvzg 99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Eric M efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Eric M 9d7d20a978 Added accept_event() calls for SceneTreeDock and BaseButton 2020-11-23 21:14:25 +10:00
Marcus Brummer 3629651ef8 Fixed deletion of nodes with exported node paths 2020-11-18 00:12:32 +01:00
Rémi Verschelde b59a6fc40e
Merge pull request #38201 from Calinou/editor-f2-rename-node
Require Ctrl for switching between editors, bind F2 to Rename Node
2020-11-17 15:09:39 +01:00
Rémi Verschelde d107fd4c9e
SceneTree: Fix reparent crash with animation tracks renaming disabled
This check was there since the first commit in 2014, but a later feature added in 2018
with #17717 did not properly update the code while adding non animation-related code
in `perform_node_renames`.

Fixes #40532.
2020-11-13 13:41:33 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Gilles Roudière 6386bf60ea Fix error on attaching script 2020-10-26 23:26:44 +01:00
Gabriel Van Eyck a22275c8a2 Keep 'Editor Description' metadata when changing a Node's type
Also copy edit group/lock when replacing a Node3D
2020-10-18 11:22:54 -07:00
reduz 351a122029 Add ability to bind an unbind arguments to Callable. 2020-10-09 19:43:22 -03:00
Marcus Brummer fdec257e58 Fixed renaming/moving of nodes with exported NodePaths 2020-09-25 16:33:58 +02:00
booer 3d69385655 Fix changing icons' colors when switch dark and light theme 2020-09-17 09:33:19 +07:00
SkyJJ 280d4e2965 Fix TTR misuse 2020-07-24 15:15:23 +02:00
Michael Alexsander 5643d2e3fe Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
Nehluxhes c85d04a771 Remove duplicate node update call 2020-07-21 19:47:44 +02:00
Stijn Hinlopen 526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Rémi Verschelde 84c68ebb11
Merge pull request #40034 from hinlopen/fix-new-node-crash
Fix: Crash when trying to add new node
2020-07-02 16:26:40 +02:00
Stijn Hinlopen 81b6000812 Fix crash by calculating wrong size of array. 2020-07-02 10:58:41 +02:00
Juan Linietsky f0e320decf Fix some popups menu missing screen transform.
Closes #38591
2020-07-01 14:44:19 -03:00
Rémi Verschelde 435a4c117e
Merge pull request #39954 from hinlopen/delete-nodes-msg
Delete Nodes message
2020-07-01 15:17:38 +02:00
Stijn Hinlopen 8b046ed477 Deleting multiple nodes displays correct message. 2020-07-01 12:59:55 +02:00
Stijn Hinlopen ec86d32684 Add Control to preferred types 2020-06-30 12:00:55 +02:00
Hugo Locurcio 31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Michael Alexsander f30e4dbf54 Fix scene tree showing up when the root selection is present 2020-06-09 19:06:15 -03:00
Andrii Doroshenko (Xrayez) 52f3cfca6f Prevent crash attaching a script with no languages registered 2020-05-31 21:01:42 +03:00
Michael Alexsander d015e4d6fc Keep "lock" metadata when changing a Node's type, if applicable 2020-05-19 10:42:15 -03:00
Dominik 'dreamsComeTrue' Jasiński 7f5c81c32f Replace 'add_child_below_node' with 'add_sibling' in Node
Fixes: #19642
2020-05-15 22:02:00 +02:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 62bf8b4dd6
Merge pull request #38594 from Calinou/rename-clear-script-action
Rename the Clear Script editor action to Detach Script
2020-05-11 11:31:31 +02:00
Rémi Verschelde 69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Hugo Locurcio 7fc0e38e92
Rename the Clear Script editor action to Detach Script
This makes it more obvious that the script won't be modified
in any way.

See comments in #27813.
2020-05-09 19:09:11 +02:00
Dominik 'dreamsComeTrue' Jasiński 278259b433 Proper naming and ordering when Duplicate nodes
Fixes: #38162
2020-05-01 10:45:55 +02:00
Rémi Verschelde fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
Hugo Locurcio 79e4e26738
Require Ctrl for switching between editors, bind F2 to Rename Node
Switching between editors now requires holding Ctrl to avoid
conflicts with the new F2 shortcut.

The asset library can now be accessed by pressing Ctrl + F4
on Windows and Linux, or Alt + 4 on macOS.

This partially addresses #38139.
2020-04-25 15:48:08 +02:00
Michael Alexsander f1244ce944 Fix "Local" button not being pressed in the Scene dock on first run 2020-04-21 15:03:42 -03:00
Tomasz Chabora c1023157eb Remove Node.get_position_in_parent() 2020-04-06 01:19:20 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Rémi Verschelde d1acbbce7f Rename more 2D and 3D nodes to follow convention
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Juan Linietsky eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
Juan Linietsky c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky 4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky 8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky 4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde 48ed841dd0 Signals: Fix some regressions from #36426
- Fix `callable_mp` bindings to methods which used to have default
  arguments passed to `bind_method`. We now have to re-specify them
  manually when connecting.
- Re-add `GroupsEditor::update_tree` binding.
- Misc code quality changes along the way.
2020-03-03 11:44:06 +01:00
Mateo Dev .59 b8f08b42e7 Signals: Fix signals error prints for the new signal system 2020-02-28 14:24:09 +01:00
Rémi Verschelde f742dabafe Signals: Manually port most of remaining connect_compat uses
It's tedious work...

Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
2020-02-28 14:24:09 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Fabio Alessandrelli cbc450c0e5 Huge Debugger/EditorDebugger refactor. 2020-02-21 11:12:03 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
follower 3cccbdf995
Fix typo/spelling: "exisiting" -> "existing"
Specifically: "exisiting_script_removable" -> "existing_script_removable"
2020-02-18 03:10:45 +13:00
Juan Linietsky 867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Juan Linietsky 3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Marcel Admiraal 5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
volzhs f20b3ff503 Fix error when closing Attach Node Script window 2020-01-02 12:31:31 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Shivansh Anand 9fee540e6e fixes #33439. The feature now changes according to the feature profile. 2019-11-11 01:13:56 +05:30
Tomasz Chabora 4ed2abb0bf Another scene tree dock menu cleanup 2019-11-04 16:45:16 +01:00
Edi Cikovic d14d57120d Fix Batch Rename not opening 2019-11-01 13:03:57 +01:00
Anubhab Ghosh 4972ef801a Add clear menu entries for extending and replacing scripts 2019-10-23 01:57:17 +05:30
Bojidar Marinov cfc779ccf0
Fix "Make Scene Root" deleting previous root whenever focusing another scene
Hopefully fixes #24484 and fixes #27222.
2019-09-28 15:29:09 +03:00
Rémi Verschelde 8868fd2d28
Merge pull request #31971 from aole/placeholder-confirmation-dialog-for-editable-children
Placeholder confirmation dialog for editable children
2019-09-27 22:02:15 +02:00
Bhupendra Aole cb528e31d9 Placeholder dialog for editable children
Fire placeholder confirmation dialog box when editable children option is already checked.
Fixes #28863
2019-09-27 13:49:55 -04:00
Rémi Verschelde de03ee94cc
Merge pull request #32296 from BenjaminRiley/save-original-scene-after-save-as-branch
'Save Branch as Scene' also saves original scene
2019-09-25 10:07:39 +02:00
Benjamin Riley 2115bced93 'Save Branch as Scene' adds to undo history
When saving a branch as a scene, can now undo replacing the original branch with the new branch scene. 'Save Branch as Scene' previously would not mark the original scene as changed, and therefore no prompt would appear if the scene was closed immediately after saving the branch.

The new branch scene is not deleted when undo-ing.
2019-09-25 17:08:08 +10:00
Rémi Verschelde 2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
Tomasz Chabora 48ca6ec657 Perform reparent if position changes 2019-09-22 12:44:59 +02:00
Rémi Verschelde 769a9c521a
Merge pull request #32094 from Calinou/improve-delete-node-confirmation-2
Improve the node deletion confirmation message
2019-09-20 23:17:29 +02:00
Michael Alexsander Silva Dias e5d9c7dcb0 Fix some errors while reparenting nodes in the Scene dock 2019-09-14 21:07:55 -03:00
Hugo Locurcio fd1b5cc39f
Improve the node deletion confirmation message
- Add "the root node" in the beginning if the selected node
  is the current scene's root
- Add "and its children" at the end of the message if the node
  has at least one child and is not an instanced scene
2019-09-11 23:29:34 +02:00
Bojidar Marinov 6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
Hugo Locurcio 284548c4b7
Improve the node deletion confirmation message
The confirmation message now displays the number of nodes to delete,
or the node's name if only one node is selected.
2019-09-03 23:14:59 +02:00
thimenesup 79a4930501
Expose SceneTreeDock::get_tree_editor()
This can be useful for plugins that rely on some signals emitted by it, Like my Networked Scene Editor plugin https://github.com/thimenesup/GodotNetworkedSceneEditor
2019-08-20 18:06:21 +02:00
Braden Bodily 71d71d55b5 Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
Condensed some if and ERR statements. Added dots to end of error messages

Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Tomasz Chabora 9fbba73dd5 Improve node Change Type option 2019-08-09 16:31:31 +02:00
qarmin aab8da25ad Fix some code found by Coverity Scan and PVS Studio 2019-07-23 09:14:31 +02:00
Rémi Verschelde 3aeca70659
Merge pull request #30697 from bojidar-bg/6067-pale-customtype-script
Make custom types more subtle and more useful
2019-07-20 11:49:52 +02:00
Bojidar Marinov 4f72178868
Make custom types more subtle and more useful
Implements #6067 (aaronfranke's idea)
Fixes #26980
2019-07-19 22:33:58 +03:00
Julian Murgia 249fdd9f80 Adds contextual item in scene tree dock to wrap selection in a new node
Fixes #20187
2019-07-19 16:46:13 +02:00
hbina085 e9c1e5aa7c Fix crash when changing Node type
Prevent the application from crashing by simply checking if current "selection" is not null before accessing it.
Fixes #30493
2019-07-15 09:17:14 -04:00
Kanabenki 6eb6895db8 Sort selected nodes in scene tree before duplication 2019-07-06 14:51:24 +02:00
Rémi Verschelde a9ad1e6692
Merge pull request #30321 from KoBeWi/underdup
Smarter node placement after duplicating
2019-07-05 09:56:31 +02:00
Rémi Verschelde 26cff6ff92
Merge pull request #30316 from sparkart/master
Reparent selection without flattening
2019-07-05 09:56:06 +02:00
LikeLakers2 d2e915623a SceneTreeDock will reset the ScriptCreateDialog's inheritance base type 2019-07-04 16:36:24 -04:00
Tomasz Chabora 0cd9a65aa4 Smarter node placement after duplicating 2019-07-04 18:16:19 +02:00
Emmanuel Barroga 839c3bd1bf Resolves Issue #30271 Reparent selection without flattening
When reparenting a multi-selection via drag and drop, the hierarchy was flattened. This change resolves that issue.
2019-07-04 06:41:21 -07:00
Rémi Verschelde e8b483ce21
Merge pull request #19936 from Xrayez/collapse-button
Expand/collapse nodes recursively in scene tree dock
2019-07-02 10:02:24 +02:00
Rémi Verschelde 0268a4869d
Merge pull request #30196 from LikeLakers2/scenetreedock-script-creation-bugfix
SceneTreeDock will now only attach scripts to the selected node if the ScriptCreateDialog was opened from the SceneTreeDock
2019-07-01 21:13:46 +02:00
qarmin 3c154eb93b Remove unnecessary code and add some error explanations 2019-07-01 12:59:42 +02:00
LikeLakers2 410054db38 SceneTreeDock will now only attach scripts to the selected node if the ScriptCreateDialog was opened from the SceneTreeDock 2019-06-29 23:19:45 -04:00
Rémi Verschelde ddba2e7b47
Merge pull request #26748 from raphael10241024/instance
Fix editor crash when saving a scene containing an inherited scene instance.
2019-06-19 16:28:15 +02:00
Cameron Reikes 63c2d1bce1 Hide remote scene tree when adding new scene
- Don't show create_root_dialog if remote scenetree visible
 - Hide create_root_dialog on showing of remote scenetree
Fixes #29288
2019-05-30 23:56:08 -07:00
Rémi Verschelde 500fe89600
Merge pull request #28349 from KoBeWi/sprite_editor_mistake_eraser
Add undo for Sprite Editor
2019-05-28 18:39:14 +02:00
Rémi Verschelde d4811e6897
Merge pull request #28862 from KoBeWi/editable_clones
Keep editable children on node duplicate
2019-05-28 18:38:46 +02:00
Rémi Verschelde b71254a861
Merge pull request #28392 from KoBeWi/reparent_alt
Allow to keep local transform when reparenting in editor
2019-05-28 17:31:27 +02:00
Tomasz Chabora 7e9e023e5f Keep editable children on node duplicate 2019-05-28 16:53:24 +02:00
Rémi Verschelde 6273e4d76d
Merge pull request #26487 from matzebond/master
Auto-expand current node type when changing node type
2019-05-28 12:52:21 +02:00
Rémi Verschelde 47f00925dc
Merge pull request #28454 from homer666/popup-centered-maxsize
Add `popup_centered_clamped()` method to Popup
2019-05-28 11:36:41 +02:00
Matthias Schmitt 6b7c8ef327 Auto-expand current node type when replace node 2019-05-24 00:13:41 +02:00
Michael Alexsander Silva Dias 587986f654 Properly update script button when undoing a script addition
Fixes #28870.
2019-05-13 22:58:41 -03:00
Michael Alexsander Silva Dias 699140000c Revert "Merge pull request #28715 from YeldhamDev/inherent_scene_close_empty"
This reverts commit 0f8356d439, reversing
changes made to 7b7a664a97.
2019-05-08 00:46:40 -03:00
Michael Alexsander Silva Dias 648cc7c0f5 Make editor close empty scene when creating an inherited one
Fixes #28654.
2019-05-06 02:01:01 -03:00
Rémi Verschelde 9591e587fe
Merge pull request #26022 from lupoDharkael/create-script
Add class tree selection to script inheritance selection
2019-04-30 13:43:53 +02:00
homer666 80e9e93e27 Add Popup::popup_centered_clamped method
- Also replace redundant duplicate code in editor dialogs with calls to popup_centered_clamped()
2019-04-30 05:35:43 +10:00
Tomasz Chabora 9dba47a743 Allow to keep local transform when reparenting 2019-04-29 19:24:12 +02:00
Tomasz Chabora a93ff8d210 Add undo for Sprite Editor 2019-04-23 21:10:44 +02:00
Rémi Verschelde 04efa59868
Merge pull request #28292 from homer666/merge-from-scene-stuff
Minor "Merge From Scene" improvements
2019-04-23 12:08:55 +02:00
Rémi Verschelde a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
homer666 36f955e4f3 Minor "Merge From Scene" improvements 2019-04-22 12:01:20 +10:00
Andrii Doroshenko (Xrayez) 824f68483f Add ability to expand/collapse nodes recursively in scene tree dock
To expand or collapse the node recursively (all children), hold `Shift`
button and click on the node's folding arrow.

The popup menu option `Expand/Collapse All" checks whether any node
is expanded or collapsed first and performs the opposite operation. That
means if any children node is collapsed, it will first expand all nodes
at selected node.

Co-authored-by: Rikhardur Bjarni Einarsson (MunWolf) badulf96@gmail.com
2019-04-21 13:50:30 +03:00
JFonS 42043a22e8 Add grouping to 3D editor 2019-04-17 18:24:28 +02:00
Rémi Verschelde 0d87535dd7
Merge pull request #28011 from KoBeWi/rmb_housework
Small cleanup to SceneTree dock context menu
2019-04-15 11:46:01 +02:00
Rémi Verschelde adb41c8bee
Merge pull request #26678 from YeldhamDev/hide_addscript_multiselected
Hide "Add Script" button in Scene dock when multiple nodes are selected
2019-04-15 11:42:09 +02:00
Tomasz Chabora d532a3f710 Small cleanup to SceneTree context menu 2019-04-14 14:04:04 +02:00
Michael Alexsander Silva Dias 27e500d4b3 Hide "Add Script" button in Scene dock when multiple nodes are selected 2019-04-13 11:05:10 -03:00
Gio Aleman f707266b52 Fixed scene tree bug when scripts are disabled 2019-04-12 11:44:45 -04:00
Tomasz Chabora 9432e06e05 Focus SceneTree dock after creating new node 2019-04-10 17:01:42 +02:00
Juan Linietsky a20235aeb0 Add ability to edit editor feature profiles
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
qarmin 856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Rémi Verschelde 612a109b81
Merge pull request #27228 from Kanabenki/preserve-binds-change-node
Preserve extra arguments for connected signals when changing node type
2019-04-02 11:30:45 +02:00
Rémi Verschelde 3c797248d0
Merge pull request #26970 from KoBeWi/custom_node_is_now_other_node
Changed 'Custom Node' to 'Other Node' to be less confusing
2019-04-01 10:13:27 +02:00
Kanabenki a1e7febbb3 Keep binds for connected signals when changing node type 2019-03-19 10:21:52 +01:00
yakun.zhang e25a50d690 add check for inherted nodes when instance 2019-03-18 19:40:36 +08:00
Rémi Verschelde c1fae20400
Merge pull request #26706 from YeldhamDev/multinode_scriptclear_fix
Fix clearing scripts while multiple nodes are selected
2019-03-16 11:09:40 -07:00
Tomasz Chabora c1ce5b87b4 Changed 'Custom Node' to 'Other Node' to be less confusing 2019-03-12 16:12:14 +01:00
George Marques 25f9aee005
Allow class_name scripts to have nested inheritance 2019-03-09 00:47:27 -03:00
Michael Alexsander Silva Dias d3042d162d Fix clearing scripts while multiple nodes are selected 2019-03-06 09:58:47 -03:00
Tomasz Chabora 63a2475f0f Allow to attach script when there's no 'selected node', but selection exists 2019-03-05 16:28:39 +01:00
Michael Alexsander Silva Dias 3ef8238c1c Make translatable some undo/redo operations in the editor 2019-02-21 16:41:01 -03:00
marxin 8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
lupoDharkael 76560c8afa Add class tree selection to script inheritance selection 2019-02-18 19:16:09 +01:00
Juan Linietsky cd45f05f7e Forbid making root on inherited scenes, closes #24484 2019-01-22 13:49:03 -03:00
Juan Linietsky e0336996ce Add some checks to avoid disaster when making a node the scene root. Fixes #24484 2019-01-17 15:26:38 -03:00
Juan Linietsky 6f884cc884 Use SceneTreeDock to replace particles node properly, fixes #24162 2019-01-14 13:41:54 -03:00
Chaosus be2bc4dab8 Improved script attachment/removal a bit 2019-01-02 16:56:11 +03:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
volzhs 8f4e842b47 Hide "Attach Script" if node has one 2018-10-29 22:25:52 +09:00
Rémi Verschelde 0a80ceaf02
Merge pull request #23288 from willnationsdev/restore-clear-script
Restore ClearScript btn w/ ExtendScript RMB link
2018-10-29 12:16:55 +01:00
groud 5536e7a8d4 Fixes the editor layout 2018-10-26 12:44:49 +02:00
Will Nations b4e7299b72 Restore ClearScript btn w/ ExtendScript RMB link 2018-10-25 13:33:16 -05:00
Rémi Verschelde 8e391c1e22
Merge pull request #23071 from bfhobbes/use_quickopen_for_instance_child
Use EditorQuickOpen dialog instead of EditorFileDialog when instancing a child scene.
2018-10-25 15:10:26 +02:00
Silvano Cerza 7167394876 Fixed user being unable to delete root Node if is an inherited Scene
User wasn't able to delete the root Node because it was being treated as
a foreign Node since it was an inherited Scene
2018-10-24 11:27:41 +02:00
Will Nations 42300b2769 Add icon_script_extend & update the icon @runtime 2018-10-19 09:04:07 -05:00
Andrew McDonald 66503465db Use EditorQuickOpen dialog instead of EditorFileDialog when instancing a child scene.
Addresses the bulk of #5180
2018-10-16 22:19:51 -07:00
DualMatrix eac36a0651 Fixed setting node as root showing error and making invisible children visible.
Fixed setting node as root showing error and making invisible children visible.
2018-10-16 14:17:16 +02:00
Rémi Verschelde 3e9740ac93 Fix more "may be used initialized" warnings from GCC 7
Fixes the following GCC 7 warnings:
```
core/cowdata.h:269:47: warning: 'alloc_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/error_macros.h:163:26: warning: 'nearest_point' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1579:5: warning: 'colormap_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1582:12: warning: 'size_height' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1590:23: warning: 'size_width' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1599:29: warning: 'pixel_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/math/face3.cpp:207:15: warning: 'tri_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/math/face3.cpp:209:15: warning: 'tri_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_scene_gles3.cpp:665:22: warning: 'best_used_frame' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_storage_gles3.cpp:865:27: warning: 'blit_target' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_storage_gles3.cpp:980:29: warning: 'blit_target' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::frag_id' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::id' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::vert_id' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/plugins/script_editor_plugin.cpp:1980:31: warning: 'se' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/scene_tree_dock.cpp:840:30: warning: 'new_node' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'a1' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'lll' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'lul' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4260:9: warning: 'a2' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4261:9: warning: 'a3' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4265:3: warning: 'enable_lin' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4294:3: warning: 'enable_ang' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4311:34: warning: 'll' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4311:34: warning: 'ul' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1655:47: warning: 'cone_dirs' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1656:73: warning: 'cone_weights' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/gui/texture_progress.cpp:181:6: warning: 'cp' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/gui/texture_progress.cpp:181:6: warning: 'cq' may be used uninitialized in this function [-Wmaybe-uninitialized]
servers/physics/shape_sw.cpp:1056:19: warning: 'support_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
```
2018-10-04 18:54:20 +02:00
swarnimarun 97ffdf74c3 Fixing create spatial root button 2018-10-04 06:06:58 +05:30
groud 980aa276e3 Add a shortcut to the documentation in the scene tree RMB menu 2018-10-03 11:25:18 +02:00
Rémi Verschelde 648b21228e
Merge pull request #22009 from DualMatrix/warning
Added warning when disabling editable_instance
2018-10-02 09:50:40 +02:00
Rémi Verschelde 53fbd93409
Merge pull request #22593 from akien-mga/fix-warnings
Fix various warnings raised by Clang 7
2018-10-02 00:01:31 +02:00
Rémi Verschelde 22c3995a04
Merge pull request #22576 from DualMatrix/multi_edit_exit
Fixed inspector not going back to single-node when deselecting an item.
2018-10-01 23:44:27 +02:00
Rémi Verschelde 413f078125
Merge pull request #22584 from DualMatrix/editor_path_no_update
Fixed name of deleted node not dissapearing from inspector dock.
2018-10-01 23:43:58 +02:00
Rémi Verschelde b1b625f4f5 Fix various Clang 7 warnings about unused stuff
Namely:
[-Wunneeded-internal-declaration]
[-Wunused-comparison]
[-Wunused-const-variable]
[-Wunused-function]
[-Wunused-private-fields]

Fixes the following Clang 7 warnings:
```
editor/plugins/script_editor_plugin.cpp:1417:20: warning: function '_find_node_with_script' is not needed and will not be emitted [-Wunneeded-internal-declaration]
editor/scene_tree_dock.cpp:1859:14: warning: function '_find_last_visible' is not needed and will not be emitted [-Wunneeded-internal-declaration]

modules/gdscript/gdscript_parser.cpp:7838:19: warning: equality comparison result unused [-Wunused-comparison]

scene/resources/mesh.cpp:549:35: warning: unused variable '_array_types' [-Wunused-const-variable]
scene/resources/mesh.cpp:563:18: warning: unused variable '_format_translate' [-Wunused-const-variable]

drivers/gles3/rasterizer_scene_gles3.cpp:54:28: warning: unused function 'store_transform2d' [-Wunused-function]

core/io/file_access_network.h:50:6: warning: private field 'ml' is not used [-Wunused-private-field]
core/io/file_access_zip.h:93:14: warning: private field 'archive' is not used [-Wunused-private-field]
core/io/resource_format_binary.h:122:6: warning: private field 'bin_meta_idx' is not used [-Wunused-private-field]
core/message_queue.h:47:9: warning: private field 'mutex' is not used [-Wunused-private-field]
main/tests/test_gui.cpp:63:11: warning: private field 'control' is not used [-Wunused-private-field]
modules/gdscript/gdscript_parser.h:558:7: warning: private field 'completion_static' is not used [-Wunused-private-field]
platform/x11/os_x11.h:148:11: warning: private field 'ip_unix' is not used [-Wunused-private-field]
platform/x11/os_x11.h:180:7: warning: private field 'net_wm_icon' is not used [-Wunused-private-field]
platform/x11/os_x11.h:189:6: warning: private field 'audio_driver_index' is not used [-Wunused-private-field]
platform/x11/os_x11.h:190:15: warning: private field 'capture_idle' is not used [-Wunused-private-field]
servers/physics/body_pair_sw.h:79:6: warning: private field 'cc' is not used [-Wunused-private-field]
servers/visual/visual_server_raster.h:62:7: warning: private field 'draw_extra_frame' is not used [-Wunused-private-field]
```
2018-10-01 17:32:12 +02:00
DualMatrix ec463b036a Fixed inspector not going back to single-node when deselecting an item.
Fixed inspector not going back to single-node when deselecting an item.
2018-10-01 12:26:32 +02:00
DualMatrix 3ef241623e Fixed name of deleted node not dissapearing from inspector dock.
Fixed name of deleted node not dissapearing from inspector dock.
2018-10-01 12:15:22 +02:00
DualMatrix 6f96db4732 Fixed setting node as root deleting all non-children of that node.
Fixed setting node as root deleting all non-children of that node.
2018-09-30 00:04:18 +02:00
JFonS a100b320c2 Change viewport type after using create root menu
Change viewport type (2D/3D) according to the type of node just created
from the "Create Root Node" menu.
2018-09-20 10:44:58 +02:00
DualMatrix edd93b7608 Fixed favorite nodes list not being saved
Fixed favorite nodes list not being saved
2018-09-19 00:30:01 +02:00
DualMatrix 0d09f80e43 Added warning when disabling editable_instance
Added warning when disabling editable_instance to prevent data loss.
2018-09-17 15:18:03 +02:00
Michael Alexsander Silva Dias 75d5d81b8a Remove unnecessary "OK"s text settings 2018-09-15 21:40:50 -03:00
willnationsdev 5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
Rémi Verschelde fb77cdf2f2 Fix default script name in ScriptCreateDialog
It would default either to '.gd' when created from the script editor,
or to 'res:///NodeName.gd' (three '/') when created from the scene tree dock.
2018-09-12 12:29:50 +02:00
DualMatrix c43ffc8917 Prevent overwriting open scenes when saving
Prevent overwriting open scenes when saving, this fixes #17628
2018-09-07 15:54:26 +02:00
JFonS 4a412943d4 Fix selection of instanced scenes in 3D 2018-09-02 22:31:03 +02:00
Will Nations ca14766e3a Fix making _editor_icon meta during CLEAR_SCRIPT 2018-08-28 15:32:35 -05:00
Rémi Verschelde 52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Will Nations 6d9cc032e7 Add custom icons to script classes. 2018-08-14 14:18:05 -05:00
Rémi Verschelde c3a57ddf03
Merge pull request #20484 from willnationsdev/create-favorites
Add toggle for favorites in create_root_dialog
2018-08-14 16:12:02 +02:00
Rémi Verschelde c8414007ad
Merge pull request #20835 from Calinou/use-standard-button-texts-2
Tweak some editor button texts
2018-08-14 15:45:34 +02:00
Łukasz Rutkowski 81fb81de9d Do not use theme to set LineEdit right_icon 2018-08-11 12:04:26 +02:00
Łukasz Rutkowski e8a435c8cd Add clear text button to LineEdit
- Add pressed state to clear button
- Enable clear button on all inputs with search icon
- Remove duplicate clear buttons
- Fix rendering of icon for center and right alignments
- Add clear button to more search fields
- Add clear icon to default theme
- Add method to control enabled state of clear button
- Add property to enable clear button from inspector
2018-08-11 12:04:26 +02:00
Hugo Locurcio 147f7fbdcf
Tweak some editor button texts 2018-08-09 11:22:11 +02:00
willnationsdev 1ea37c34ad Add toggle for favorites in create_root_dialog. 2018-08-08 12:15:42 -05:00
Hugo Locurcio 1368bcfc53
Use a standard "OK" text for confirmation buttons in error dialogs
[ci skip]
2018-08-05 16:49:22 +02:00
Juan Linietsky 7b63c6323d Clear color was not correctly being set, fixes #4939 2018-07-29 15:09:42 -03:00
Juan Linietsky 0fcc28b6f3
Merge pull request #15269 from ianb96/context_menu_improvements
Context Menu Improvements
2018-07-29 12:31:20 -03:00
Ian 1bb13e95a8 context menu improvements 2018-07-26 08:58:35 -04:00
Will Nations 3de15363ab Add script hierarchies,add-script btn auto-derives 2018-07-25 15:18:45 -05:00
Rémi Verschelde 1f6fedeb37
Merge pull request #19729 from razcore-art/rename-discard-instancing
Rename 'Discard Instancing' to 'Make Local'
2018-07-24 20:51:53 +02:00
Juan Linietsky c0c243ac5c New option, make any node the new scene root. 2018-07-15 23:52:57 -03:00
Juan Linietsky 512ffd489a Small feature to help users understand the editor faster. 2018-07-15 23:11:29 -03:00
Răzvan C. Rădulescu e8315f306c Rename 'Discard Instancing' to 'Make Local'
Rename the option in the right click menu in the Scene nodes
because Discard Instancing is confusing (it could imply deleting the
instance). I renamed it to Make Local which is used for example in
Blender as well when talking about appending assets from other files.
I think it's clearer. Or it can be renamed to Make Instance Local, but I
thought it's a bit oo long so I went just with Make Local as this option
appears in the menu only when the node is an instance anyway.
2018-06-25 15:54:05 +02:00
Rémi Verschelde a6c9b11de1
Merge pull request #19437 from volzhs/live-edit-reparent-child
Make same child index as edited scene when using live edit
2018-06-08 08:10:46 +02:00