summaryrefslogtreecommitdiff
path: root/editor/editor_properties.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-12-22Add inspector plugin for key time edit & Change find key argumentSilc Renew
2022-11-29Use forward-declarations in big editor classestrollodel
2022-11-14Remove redundant Variant-types initializationsMarkus Sauermann
2022-10-08Only show named layers in layer menuHaoyu Qiu
2022-10-03Fix hide_slider vs no_slider inconsistency in editor property codeAaron Franke
2022-08-26[macOS export] Simplify code signing options, add support for rcodesign tool ↵bruvzg
for signing and notarization.
2022-08-24Merge pull request #64691 from TokageItLab/Quaternion-editorRémi Verschelde
2022-08-24Implement Quaternion EditorSilc Renew
2022-08-23Disable editing properties in foreign resourcesSaracenOne
from imported scenes or objects returning true from a function named '_is_read_only' and disable resaving imported resources.
2022-08-08Merge pull request #63173 from fire-forge/layers-gridRémi Verschelde
2022-08-07Merge pull request #62089 from Step-an/add_drag_and_drop_to_EditorPropertyPathRémi Verschelde
2022-08-01Improve easing inspector usabilityHugo Locurcio
- Add `positive_only` property hint to disallow using negative presets. These values are clamped in several places in the editor already, so this avoids displaying presets that don't work. - Move the Zero preset at the end of the positive list to match the custom property editor. It's also used less often than Linear, Ease In and Ease Out. - Rename presets to be consistent between the easing property editor and custom property editor. - Remove unused `inout` hint which was redundant since it was already the default.
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-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-17Use menu icon for layers grid buttonFireForge
2022-06-30Add editor properties for Callable and SignalMinusKube
2022-06-27Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script). This mode ensures only const functions can be called, making it safe to use from the editor. Co-Authored-By: reduz <reduzio@gmail.com>
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-06-16Add drag and drop support to EditorPropertyPathcow-neaz
2022-06-14Add vector value linkingkobewi
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-06-03Support explicit values in flag properties, add C# flags supportRaul Santos
- Add support for explicit values in properties using `PROPERTY_HINT_FLAGS` that works the same way it does for enums. - Fix enums and flags in VisualScriptEditor (it wasn't considering the explicit value). - Use `PROPERTY_HINT_FLAGS` for C# enums with the FlagsAttribute instead of `PROPERTY_HINT_ENUM`.
2022-05-19Tweak minsize of editor ColorPickerButtonskobewi
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-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-01-28Renaming layers from the inspector via a popup menu.jmb462
2022-01-18Improve locale detection.bruvzg
Use separate language, script and country lists. Add locale selection dialog and property hint.
2022-01-07[Editor] Fix inspector keying signals argument count.Fabio Alessandrelli
The second parameter of the signals `EditorInspector.property_keyed` and `EditorProperty.property_keyed_with_value` can be NIL, causing the event to fire with less arguments when using `emit_signal` that accepts Variant arguments, so we use the pointer version instead.
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-10Fix EditorInspectorPlugin virtual bindings and add parse_group callbackYuri Sizov
2021-11-03Merge pull request #52781 from KoBeWi/node's_favorite_shaderRémi Verschelde
2021-11-03Infer shader type based on edited nodekobewi
2021-11-02Add a flag to EditorResourcePicker to differentiate selection contextsYuri Sizov
2021-09-15Merge pull request #32068 from aaronfranke/transform-editorRémi Verschelde
Reformat Transform(2D) matrix display in the inspector
2021-09-05Apply set_read_only() to child classes of EditorProperty elementsSilc 'Tokage' Renew
2021-08-31Reformat Transform(2D) inspector menusAaron Franke
Move, rename, recolor, and fix the inspector for these in the inspector. Coloring is now done by a helper method in "editor_inspector.cpp".
2021-08-29Revert "Display a matrix for Node2D and don't display a duplicate origin"Juan Linietsky
2021-08-29Display a matrix for Node2D and don't display a duplicate originAaron Franke
2021-07-13Add type variations to ThemeYuri Sizov
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-29Implement painting properties over TileSetsGilles Roudière
2021-06-16Documentation search fixesGregory Basile
Updates rich_text_label so that the built-in documentation can be searched Previously, it would only find the first result and would not select other results Renames "_entered" functions to "_submitted"
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename EditorPropertyTransform to EditorPropertyTransform3DAaron Franke
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-19Use EditorResourcePicker in the InspectorYuri Sizov