summaryrefslogtreecommitdiff
path: root/editor/scene_tree_dock.h
AgeCommit message (Collapse)Author
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-11-29Use forward-declarations in big editor classestrollodel
2022-11-11Use forward-declarations in EditorPlugin where possibletrollodel
2022-10-06Expose and warn about Node Filters in Scene Tree DockMicky
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-09-21Merge pull request #65933 from Mickeon/remove-scene-tree-dock-unusedRémi Verschelde
Remove unused `import_subscene()` in Scene Tree Dock
2022-09-21Tree recursive foldingNinni Pipping
2022-09-16Remove unused `import_subscene()` in Scene Tree DockMicky
2022-09-03Remove pathed get_node() use from scene tree dockkobewi
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-06-10Don't handle pending clicks outside scene treekobewi
2022-05-23Merge pull request #61162 from KoBeWi/drag_nodes_like_a_bossRémi Verschelde
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-18Only switch to node when not dragging itkobewi
2022-05-16Replace most uses of Map by HashMapreduz
* 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-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
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-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-27Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde
2022-04-25Implement Scene Unique Nodesreduz
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-20Fix more issues found by cppcheck.bruvzg
2022-04-05[Input] Add extra `shortcut_input` input processing step to process Unicode ↵bruvzg
character input with Alt / Ctrl modifiers, after processing of shortcuts.
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-03-12Initialize bools in the headers in editorAaron Franke
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
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-14Remove most EditorNode constructor parameters and fieldstrollodel
2022-01-27Improve 2D editor's right-click menukobewi
2022-01-20Store panels and docks singletons in their own classestrollodel
2022-01-20Make Scene dock menu button an actual `MenuButton`Michael Alexsander
2022-01-18Improve node pastingkobewi
2022-01-04Merge pull request #53313 from KoBeWi/debinded_konnektRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Add drag and drop for NodePathskobewi
2021-11-12Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde
2021-11-03Infer shader type based on edited nodekobewi
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-04Add support for unbinding in connection dialogkobewi
2021-10-04Merge pull request #51413 from KoBeWi/🚗Rémi Verschelde
2021-09-15Allow disabling the RegEx module in the editorAaron Franke
2021-09-09Save branch as scene by dropping to filesystemkobewi
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_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-12Move the option to new menukobewi
2021-08-12Add option to not expand tree on node selectkobewi
2021-08-07Added editor dialog for easily creating shaders.Yuri Roubinsky
2021-07-22Merge pull request #50319 from nekomatata/optimize-node-path-checkRémi Verschelde
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-19Assign value to property by dropping to scene treekobewi
2021-07-09Optimize NodePath update when renaming or deleting nodes in the editorPouleyKetchoupp
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-07Add a root Node3D automatically if absent when adding preview sun and skyHugo Locurcio
This makes for a smoother prototyping process compared to displaying an error message.
2021-06-30Coding style fix in editor NodePath updatePouleyKetchoupp
Added r_ prefix for reference arguments that can be modified.
2021-06-29Merge pull request #49812 from nekomatata/node-path-editor-updateRémi Verschelde
NodePath properly updated in the editor in more cases when nodes are moved or renamed
2021-06-28NodePath properly updated in the editor in more casesPouleyKetchoupp
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-19Rename `instance()`->`instantiate()` when it's a verbLightning_A