summaryrefslogtreecommitdiffstats
path: root/editor/scene_tree_editor.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve includes of EditorNode (and everything else)Yuri Sizov2023-04-071-197/+0
| | | | | | 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.
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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".
* Use forward-declarations in big editor classestrollodel2022-11-291-2/+0
|
* Unify usage of undo_redo in editorkobewi2022-11-021-4/+2
|
* Expose and warn about Node Filters in Scene Tree DockMicky2022-10-061-0/+2
| | | | | | | | | | 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.
* Port remaining connections to callable_mpTomasz Chabora2022-09-181-1/+3
|
* Improve Scene Tree Dock's Node filter (Allow multiple terms & more)Micky2022-09-091-0/+1
| | | | | | - Allows more than one parameter to be passed in the "Filter Node" search box, each term separated by spaces. - Grays out any parent Node not matching the search, but still having to be there because a child is. - Adds a `group:` filter. It matches any Node belonging to the passed group. If no argument is passed, it matches all Nodes belonging to any group. It also ignores groups used internally, and its alias is `g`.
* Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde2022-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
* Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record2022-08-271-1/+0
|
* Add per-scene UndoRedokobewi2022-08-221-3/+4
|
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-251-1/+1
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Disable the OK button when no node is selected.Chia-Hsiang Cheng2022-07-141-0/+1
|
* Optimize SceneTreeEditor filteringkobewi2022-05-241-1/+2
|
* Add the button pressed to some signals in Treetrollodel2022-05-211-2/+3
|
* Add a new HashSet templatereduz2022-05-201-2/+2
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-161-2/+2
| | | | | | | | | | | | * 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!
* Implement Scene Unique Nodesreduz2022-04-251-0/+1
| | | | | | | | 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.
* Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-9/+9
| | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* Initialize bools in the headers in editorAaron Franke2022-03-121-9/+9
|
* Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-121-2/+2
|
* Fix theming update in several editor classesYuri Roubinsky2022-01-161-0/+1
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Remove unimplemented methodsMarcel Admiraal2021-10-211-3/+0
|
* Add option to not expand tree on node selectkobewi2021-08-121-0/+2
|
* Revert "Fix duplicate selection in SceneTree"Silc 'Tokage' Renew2021-07-231-2/+1
| | | | | | | This reverts commit 7d20d78847b24586b3f25beb23b41d015a25fb0a. # Conflicts: # editor/scene_tree_editor.cpp
* Fix duplicate selection in SceneTreereduz2021-07-171-1/+2
| | | | | | | | * It seems both cell_selected and multi_selected were being triggered, * This caused inspector updating twice. * cell_selected connection and callback were removed. This may be a bug in Godot 3.x too, recommend checking.
* Implement Particle Trailsreduz2021-04-301-0/+2
| | | | | | | | | -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)
* Remove uses of `auto` for better readability and online code reviewsHugo Locurcio2021-04-261-1/+1
| | | | | | | | The current code style guidelines forbid the use of `auto`. Some uses of `auto` are still present, such as in UWP code (which can't be currently tested) and macros (where removing `auto` isn't easy).
* Make Animation's SceneTreeDialog filter nodes properlyDominik 'dreamsComeTrue' Jasiński2021-03-191-0/+1
|
* Refactor Process Modereduz2021-02-181-0/+1
| | | | | | | | | | | | | | | Implements https://github.com/godotengine/godot-proposals/issues/1835#issuecomment-727186192 * PauseMode is now ProcessMode, containing the following states: ``` PROCESS_MODE_INHERIT, // same as parent node PROCESS_MODE_NORMAL, // process only if not paused PROCESS_MODE_PAUSE_ONLY, // process only if paused PROCESS_MODE_ALWAYS, // process always PROCESS_MODE_DISABLED, // never process ``` * NOTIFICATION_PAUSED and NOTIFICATION_UNPAUSED are received effectively when the node is paused and unpaused (not any longer when pause mode is set in SceneTree). * Renamed some nodes that used ProcessMode/process_mode to specify a callback type to ProcessCallback to avoid clashes.
* Keep selected node visible after filter changePedro J. Estébanez2021-02-081-2/+2
| | | | (Implemented both for the local and remote scene tree docks.)
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* Cleanup unused engine codeTomasz Chabora2020-12-091-1/+0
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and ↵Stijn Hinlopen2020-07-141-0/+1
| | | | resource depency dialogs).
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-2/+0
| | | | | | | | | | | | | | 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.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | 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.
* Remove redundant author doc commentsIAmActuallyCthulhu2019-08-121-3/+1
|
* Added filter to SceneTreeDialogunknown2019-07-061-0/+2
|
* Improve conections dialogMichael Alexsander Silva Dias2019-06-061-0/+2
|
* Fixed scene tree update after changing node name in tool scriptPouleyKetchoupp2019-05-241-0/+1
|
* Reorganized connection dialog for much improved ease of use.Juan Linietsky2019-04-111-0/+4
| | | | | | | | -Removed dest path field -Added a "Source" signal -Added an "Advanced" button to hide complexity -Fix bug on Tree to make sure "ensure visible" works on hidden trees -Fix bug on TextEdit to ensure signals created with script not open sill focus the right line
* Cleanup relationship line coding after 5f079e2Michael Alexsander Silva Dias2019-03-061-2/+0
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-1/+1
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Changes to how node paths are selected from property, allowing setting a hint.Juan Linietsky2018-06-271-0/+3
|
* Entirely new (and much improved) animation editor.Juan Linietsky2018-06-071-0/+1
|
* Respect visibility change by Scene dock when using Sync Scene Changesvolzhs2018-05-151-2/+0
| | | | Fix #18757 with keeping a feature introduced at 8343c9fbd
* Merge pull request #15235 from sersoong/master-batchtoggleRémi Verschelde2018-02-181-0/+3
|\ | | | | Enhanced Toggle Visibility button in scene tree editor
| * Enhanced Toggle Visibility buttonsersoong2018-01-041-0/+3
| |