summaryrefslogtreecommitdiff
path: root/editor/scene_tree_editor.cpp
AgeCommit message (Collapse)Author
2023-01-13Merge pull request #71152 from nongvantinh/fix-70981Rémi Verschelde
Fix node name in the SceneTreeEditor allows a node to have no name
2023-01-10Change set_drag_forwarding() to use callables.Juan Linietsky
* This solution is much cleaner than the one in 3.x thanks to the use of callables. * Works without issues in any language (no need to worry about camel or snake case). * Editor code uses a compatibility function (too much work to redo). Fixes #59899
2023-01-10fixes: #70981Nong Van Tinh
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-12-16Fix String::word_wrap() for long wordsHaoyu Qiu
- Changes `TextServer.string_get_word_breaks()` - Returns pairs of boundary start and end offsets - Accepts `chars_per_line` to return line breaks - Removes `String::word_wrap()` Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-11-29Use forward-declarations in big editor classestrollodel
2022-11-02Unify usage of undo_redo in editorkobewi
2022-10-14Added custom node exportGuilherme Sousa
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-07Merge pull request #65939 from Mickeon/editor-scene-tree-filter-type-inheritedRémi Verschelde
Include inherited classes in Filter Nodes' "type:" filter & fix "group:"
2022-10-06Include inherited classes in Filter Nodes' "type:" filter & fix "group:"Micky
Also fixes not all private, internal groups being skipped in the "group:" filter.
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-10-03Fix selection applying to hidden Nodes when filtering Scene Tree EditorMicky
2022-09-23SceneTreeDialog: focus search bar by defaultRedMser
2022-09-22Automatically use class name for empty renameskobewi
2022-09-19Merge pull request #65630 from aaronfranke/no-defer-ste-warn-chRémi Verschelde
_warning_changed` signal connection
2022-09-18Port remaining connections to callable_mpTomasz Chabora
2022-09-10Don't defer SceneTreeEditor::_warning_changed signal connectionAaron Franke
2022-09-09Merge pull request #65352 from Mickeon/try-scene-tree-filter-multi-wordRémi Verschelde
2022-09-09Improve Scene Tree Dock's Node filter (Allow multiple terms & more)Micky
- 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`.
2022-09-06Fix tool script button color overriding custom type colorMicky
Also adds a small note on the tooltip noting the custom type.
2022-09-01Mark Script button if it's tool in Scene Tree EditorMicky
Also adds a note on the tooltip if the Script is tool. The color is the same one used on the Script Editor's script list.
2022-08-30Merge pull request #64377 from Mickeon/rename-canvas-redrawRémi Verschelde
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30Rename TreeItem's `set_tooltip` to `set_tooltip_text`Micky
`set_tooltip` -> `set_tooltip_text` `get_tooltip` -> `get_tooltip_text` For consistency: `get_button_tooltip` -> `get_button_tooltip_text` And the `tooltip` parameter in `add_button` was renamed to `tooltip_text`
2022-08-29Rename `CanvasItem.update()` to `queue_redraw()`Micky
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-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.