summaryrefslogtreecommitdiff
path: root/editor/scene_tree_editor.cpp
AgeCommit message (Collapse)Author
2022-08-29Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde
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()`).
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-23Merge pull request #64733 from Mickeon/try-editor-warning-spacingRémi Verschelde
2022-08-23Add spacing after newline on editor warning tooltipMicky
2022-08-22Merge pull request #58377 from MrBBBaiXue/type-filterRémi Verschelde
Add a way to filter nodes by type in scene tree dock.
2022-08-22Add per-scene UndoRedokobewi
2022-08-10Add a way to filter nodes by type.MrBBBaiXue
Add a way to filter nodes by type. Usage: type:NodeType or t:NodeType Co-Authored-By: Haoyu Qiu <timothyqiu@users.noreply.github.com>
2022-08-08Merge pull request #63518 from timothyqiu/window-toggleRémi Verschelde
2022-08-04Distinguish multiple node configuration warnings in the scene tree dockHugo Locurcio
A number of dots is present next to the node configuration icon warning when there is more than 1 warning. Co-authored-by: Hendrik Brucker <hendrik.brucker@mail.de>
2022-07-31Improve tooltips for grouping/ungrouping nodesfoxydevloper
2022-07-29Remove Signal connect bindsJuan Linietsky
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-27Add a Window visibility toggle button to the Scene treeHaoyu Qiu
2022-07-14Disable the OK button when no node is selected.Chia-Hsiang Cheng
2022-06-21Avoid possibly showing two Dialogs at the same timeRindbee
Update editor/scene_tree_editor.cpp Add a comment to explain why Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-06-04Fix crash with empty sceneskobewi
2022-05-30Merge pull request #61488 from fire-forge/filterRémi Verschelde
2022-05-28Use consistent casing in editor filter/search barsFireForge
2022-05-24Optimize SceneTreeEditor filteringkobewi
2022-05-21Add the button pressed to some signals in Treetrollodel
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
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-12Show list of groups in node tooltipkobewi
2022-05-06Cleanup metadata usagekobewi
2022-05-05Merge pull request #60161 from V-Sekai/instanced_children_colorRémi Verschelde
Make editable children use warning color instead of disabled color
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-11Make instance's editable children use warning color instead of disabled colorSaracenOne
2022-03-27Fix errors when locking nodesMichael Alexsander
2022-03-12Initialize bools in the headers in editorAaron Franke
2022-03-04Replace some bits of code left to work with the new `TabContainer`Michael Alexsander
2022-02-16Convert _notification methods to switch - Chunk CJakob Bouchard
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-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-08Revert "Add missing SNAME macro optimization to all theme methods call"Rémi Verschelde
This reverts commit a988fad9a092053434545c32afae91ccbdfbe792. 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-06Add missing SNAME macro optimization to all theme methods calljmb462
2022-02-06Add missing SNAME macro optimization in some function callsjmb462
2022-02-05Add visibility to CanvasLayerkobewi
2022-01-26Rename String::is_subsequence_ofi to String::is_subsequence_ofnWilson E. Alvarez
2022-01-20Store panels and docks singletons in their own classestrollodel
2022-01-16Fix theming update in several editor classesYuri Roubinsky
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-06Fix bad popups offset in editor with single window offjmb462
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com> Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-10-07Merge pull request #52962 from mujpao/fix-right-click-sub-nodesRémi Verschelde
2021-10-06Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmoRémi Verschelde
Implement Skeleton Editor Gizmo
2021-10-07Implemented SkeletonEditorGizmoSilc Renew
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-04Merge pull request #51413 from KoBeWi/🚗Rémi Verschelde
2021-09-30Rename Node's `filename` property to `scene_file_path` for clarityHugo Locurcio
2021-09-23Merge pull request #51920 from ↵Rémi Verschelde
jmb462/missing-sname-macro-optimization-in-some-functions
2021-09-23Fix right clicking sub nodes after renaming parentmujpao
2021-09-01Display the node name in scene tree dock tooltipsHugo Locurcio
This makes long node names previewable without having to rename them.