summaryrefslogtreecommitdiffstats
path: root/editor/editor_path.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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".
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-7/+7
| | | | change warnings=all to use /W4.
* Improvements to multi-node editingFireForge2022-09-051-9/+17
| | | | | | | | - Show revert button for properties that are not default for all selected nodes - Show property documentation tooltips - Show common class name and icon and number of selected nodes in EditorPath, e.g. "Node2D (4 Selected)" - Hide metadata for MultiNodeEdit and AnimationMultiTrackKeyEdit - Hide script for MultiNodeEdit
* 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()`).
* Merge pull request #64885 from Mickeon/rename-tooltip-hintRémi Verschelde2022-08-281-3/+3
|\ | | | | Rename `hint_tooltip` to `tooltip_text` & setter getter
| * Rename `hint_tooltip` to `tooltip_text` & setgetMicky2022-08-271-3/+3
| | | | | | | | | | | | | | | | `hint_tooltip` -> `tooltip_text` `set_tooltip` -> `set_tooltip_text` `_get_tooltip` -> `get_tooltip_text` Updates documentation, too.
* | Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record2022-08-271-1/+0
|/
* Hide MenuButton / OptionButton popup on click if it's already visible.bruvzg2022-08-231-0/+5
|
* Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native ↵bruvzg2022-08-181-1/+1
| | | | menu for editor.
* Rename Control PRESET_WIDE to PRESET_FULL_RECTFireForge2022-07-181-1/+1
|
* Expose PopupMenu set/get_item_horizontal_offset()FireForge2022-06-151-1/+1
| | | | | - Renames setter from set_item_h_offset() - Adds getter
* Cleanup EditorNode and EditorDataHendrik Brucker2022-03-301-1/+1
| | | | Co-authored-by: Eric M <itsjusteza@gmail.com>
* Editor: Cleanup some includes dependenciesRémi Verschelde2022-02-151-0/+1
| | | | | | | | | | | 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.
* Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-121-2/+2
|
* Revert "Add missing SNAME macro optimization to all theme methods call"Rémi Verschelde2022-02-081-3/+3
| | | | | | | | 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.
* Add missing SNAME macro optimization to all theme methods calljmb4622022-02-061-3/+3
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-2/+2
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* align to horizontal_alignment, valign to vertical_alignment, relatedNathan Franke2021-12-091-1/+1
|
* Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-1/+1
|
* Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-5/+5
|
* Optimize StringName usagereduz2021-07-181-2/+2
| | | | | | | | | | | * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
* Make several actions in the Inspector dock more obviousYuri Sizov2021-06-041-14/+86
|
* 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 🎆
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-16/+28
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-9/+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.
* Popups are now windows also (broken!)Juan Linietsky2020-03-261-1/+1
|
* Signals: Port connect calls to use callable_mpRémi Verschelde2020-02-281-5/+2
| | | | | | | | | 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.)
* Huge Debugger/EditorDebugger refactor.Fabio Alessandrelli2020-02-211-1/+1
|
* Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky2020-02-201-2/+2
| | | | objects and made them default.
* Texture refactorJuan Linietsky2020-02-111-2/+2
| | | | | | | | -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
* Clip text in EditorPath button to avoid dock size changesMichael Alexsander2020-01-201-0/+1
|
* 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.
* Fix the editor path icon when switching from dark to light themeHugo Locurcio2019-10-151-0/+9
|
* Merge pull request #31978 from YeldhamDev/inspector_dock_small_improvementsRémi Verschelde2019-09-241-0/+5
|\ | | | | Small improvements to the inspector dock
| * Small improvements to the inspector dockMichael Alexsander Silva Dias2019-09-041-0/+5
| |
* | Revert "Fix Clearing Inspector for Remote Node"Emmanuel Barroga2019-09-051-3/+0
|/
* Fix Clearing Inspector for Remote NodeEmmanuel Barroga2019-07-251-0/+3
| | | | | | | | | Resolves: #30731 When you stop debugging... if you were inspecting a remote node, partial information about the remote node remained in the inspector (e.g. name and warning). To resolve this, called EditorNode::edit_current() instead of EditorInspector::edit(NULL), which will call all the methods required using "NULL" if the current selected object is NULL. In EditorPath::update_path() if the selected object is NULL, it does not update the path to reflect this change, basically does nothing. To fix this, we nullify everything, before the history loop.
* Make 'EditorPath' into a proper 'MenuButton'Michael Alexsander Silva Dias2019-04-251-108/+52
|
* Fixed null editor icon crashWilson E. Alvarez2019-01-131-3/+4
| | | | Fixes #24932
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Refactor editor icon retrievalwillnationsdev2018-09-141-12/+2
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Better supported for remote object editing with the inspector with a simple ↵geequlim2017-11-171-5/+5
| | | | dictionary editor implement
* White Themetoger52017-08-301-1/+1
| | | | | | | - almost all the colors are generated now. They get adapted based on the theme color. All the correct icons are used - error label now uses error color - added missing button colors in editor theme
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Convert Object::cast_to() to the static versionHein-Pieter van Braam2017-08-241-6/+6
| | | | | | | | | | | | Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
* Makes all Godot API's methods Lower CaseIndah Sylvia2017-08-071-1/+1
|
* Removal of InputEvent as built-in Variant type..Juan Linietsky2017-05-201-2/+3
| | | | this might cause bugs I haven't found yet..