summaryrefslogtreecommitdiff
path: root/editor/editor_inspector.h
AgeCommit message (Collapse)Author
2023-03-27Update property keying state without a full Inspector rebuildYuri Sizov
(cherry picked from commit f68eb4a96711139d58d3f676d52576f1acb9c94e)
2023-02-17Merge pull request #66121 from Zylann/plugin_handles_edit_object_argumentRémi Verschelde
Change `_can_handle` and `_edit` virtual methods to take `Object*`
2023-02-17Change `_can_handle` and `_edit` virtual methods to take `Object*`Marc Gilleron
2023-02-15Fold resources when non-main inspector exits treekobewi
2023-02-11Avoid cleaning up editor plugins when property list changesYuri Sizov
Also removes a usability hack from the Theme editor, as it doesn't work anymore, and it confuses the Inspector.
2023-01-31Use `PropertyUsageFlags` enum in parse_propertyRaul Santos
2023-01-30Removed declarations of removed methods of the EditorPropertyRevert class.S.V.I. Vilcrow
The implementation of these methods was removed in 1806ec7c14a8f038c0ff33a88d19087225c8d7ab.
2023-01-22Rework EditorPlugin editing logickobewi
2023-01-13Merge pull request #70148 from KoBeWi/remove_all_restrictionsRémi Verschelde
Remove conditons for unfolding inspector sections
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".
2023-01-04Revert "Merge pull request #68498 from Rindbee/improve-update_tree"Silc Renew
This reverts commit d5dc70a47871701fc61804b0b75362f5dcdf0055, reversing changes made to ccbefa1f4316c46eed35912e954fdf0e8c88c01a.
2022-12-18EditorInspectorSection is not folded when clicking under the fontMarius Hanl
2022-12-17Defer `EditorInspector::update_tree` to the process stage to improve performanceRindbee
`EditorInspector::update_tree` is expensive, so defer the call to the process phase to prevent multiple calls in a single frame (when switching scene tabs).
2022-12-16Remove conditons for unfolding inspector sectionskobewi
2022-11-29Use forward-declarations in big editor classestrollodel
2022-11-02Unify usage of undo_redo in editorkobewi
2022-09-30Rename Copy Property –> Copy ValueVolTer
2022-09-19Expose `EditorProperty._set_read_only` virtual methodMarc Gilleron
2022-09-16Update checked based on the variant type of the valueRindbee
In `EditorProperty::update_revert_and_pin_status`, if `checkable` is `true`, update `checked` based on the variant type of the value, and rename the function as `EditorProperty::update_editor_property_status`. **Known problems:** 1. Unable to check Checkbox for properties of type `Object` when it is unchecked. This is probably because during value store/fetch, the `nullptr` (variant type is `Variant::OBJECT`) eventually becomes `Variant()` (variant type is `Variant::NIL`). 2. For theme overrides, click the revert icon will uncheck the Checkbox. This is probably because `EditorPropertyRevert::get_property_revert_value` returns `Variant()`.
2022-09-06Add read-only mode to inspector array and dictionary viewer.SaracenOne
2022-09-01Improve the editor's Add Metadata dialogHugo Locurcio
- Mention the node name in the dialog title. - Improve error messages to be more descriptive.
2022-08-26Remove Inspector tooltip hack that never actually workedYuri Sizov
2022-08-22Add per-scene UndoRedokobewi
2022-08-08Merge pull request #62868 from fire-forge/array-resize-sizeRémi Verschelde
Use a SpinBox in the inspector array resize dialog
2022-08-06Merge pull request #63712 from object71/fix-export-issuesRémi Verschelde
2022-08-03Removed faulty function update after get_property_list.Hristo Stamenov
The function tried to rearrange properties but that lead to problems with duplication or deleted properties. Implemented the logic that that function did inside the get_property_list both for tool scripts and non-tool scripts.
2022-08-02Clean-up array editingreduz
2022-07-30Improve usability of non-default values in the property inspectorPedro J. Estébanez
- Provide a visual indication that a (sub)group contains non-default (revertable) values when it's collapsed. - Add a new option to the inspector's tools menu for expanding only (sub)groups containing properties with non-default values.
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-07-11Add "Open Documentation" button to EditorProperty context menuFireForge
2022-07-10Use a SpinBox in the inspector array resize dialogFireForge
2022-06-25Add ability to export Node pointers as NodePathsreduz
This PR implements: * A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string. * The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path. * When scene is saved, the node path is saved, then restored as a pointer. NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid. Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language. Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path). Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
2022-05-25Improve style of inspector buttonskobewi
2022-05-24Reorganize Region Rect Editorreduz
Problem: * Region rect was pretty much a hidden editor. Because it was annoying for it to pop up automatically, it did not. * Because it did not, most users have no idea it even exists. * But because it is a transient editor, it would steal focus of other editor and annoy users. Solution: * Editor has been moved to a window. * Regions that can be edited add a button below the region which can be pressed to open the editor. This required a slight change in EditorInspectorPlugin to allow custom editors to be below others.
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-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-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-28Add property name style toggle to InspectorHaoyu Qiu
2022-03-24Refactor Object metadatareduz
* API kept the same (Although functions could be renamed to set_metadata/get_metadata in a later PR), so not much should change. * Metadata now exposed as individual properties. * Properties are editable in inspector (unless metadata name begins with _) under the metadata/ namespace. * Added the ability to Add/Remove metadata properties to the inspector. This is a functionality that was requested very often, that makes metadata work a bit more similar to custom properties in Blender.
2022-03-13Merge pull request #59102 from rcorre/copy-project-configRémi Verschelde
2022-03-13Copy full project setting path from dialog.Ryan Roden-Corrent
The EditorProperty UI elements for project settings are created from SectionedInspector, which has a prefix added to each property path. Each EditorProperty needs to be made aware of this path so copy_property_path copies the full path, and not just the suffix. Fixes #59020.
2022-03-12Initialize bools in the headers in editorAaron Franke
2022-02-10Reorganize inspector layout workflow for Control nodesYuri Sizov
2022-02-09Unify array, dictionary, and inspector array editorsFireForge
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-11Stop asuming a default value of NIL means there's no defaultPedro J. Estébanez
2021-11-10Fix EditorInspectorPlugin virtual bindings and add parse_group callbackYuri Sizov
2021-11-08Add property value pinningPedro J. Estébanez