Commit graph

143 commits

Author SHA1 Message Date
Rémi Verschelde fdda39a506 Signals: Don't pass default binds to EditorProperty property_changed
This was done by mistake in #36758, but it's not necessary and actual
causes a bug.

`property_changed` is only emitted via `emit_changed()`, which already
has default values for `p_field` and `p_changing`.

Also reverted to using `String` for now to be on the safe side, even if
it's inconsistent with `emit_changed()`. I had only changed it
partially in #36758 so it was inconsistent. It probably does make sense
to port `EditorInspector` and related property editors to use
`StringName` where relevant, but that's for a dedicated PR.

Fixes #36799.
2020-03-05 15:35:44 +01:00
Rémi Verschelde 48ed841dd0 Signals: Fix some regressions from #36426
- Fix `callable_mp` bindings to methods which used to have default
  arguments passed to `bind_method`. We now have to re-specify them
  manually when connecting.
- Re-add `GroupsEditor::update_tree` binding.
- Misc code quality changes along the way.
2020-03-03 11:44:06 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
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.)
2020-02-28 14:24:09 +01:00
Michael Alexsander 28d3f85e64 Don't show a copy of the property's name in the inspector's tooltip if there's no description 2020-02-26 11:03:42 -03:00
Juan Linietsky 33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Juan Linietsky 3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky 3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Juan Linietsky 3f335ce3d4 Texture refactor
-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
2020-02-11 11:53:26 +01:00
Rémi Verschelde 1361fa71c4
Merge pull request #33047 from silvanocerza/settings-search
Improved search in settings dialogs
2020-01-31 11:45:37 +01:00
Tomasz Chabora 7a0e813ffa Show theme property descriptions in the inspector 2020-01-29 19:56:06 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
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.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Silvano Cerza 84410f937e Improved search in settings dialogs
Settings search used to work only on properties, so if a searchbox text
was a substring of a category but not of a property the whole category
would be filtered out and no property would be shown.

Now the behaviour is changed so that when the searchbox text is a
substring of a category all its properties are shown too.

The previous behaviour is still present so that in case the searchbox
text is both a substring of a category and a property of another
category, all properties of the first category are shown and only the
property of the second category is shown.
2019-11-04 20:24:59 +01:00
Tomasz Chabora 6c0ef9f729 Auto-increment frame_coords when keying 2019-10-22 20:12:55 +02:00
Hugo Locurcio 8c79b4f5e9
Remove redundant camelcase_to_underscore() call in EditorInspector
Calling `String::capitalize()` already calls
`String::camelcase_to_underscore()` under the hood.
2019-10-10 22:57:46 +02:00
Rémi Verschelde dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin 17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Hugo Locurcio 04f43116d6
Improve folding appearance in the editor inspector
The arrow is now displayed at the left to be consistent with
other places where folding is used. The arrow icons used are now
consistent with the rest of the editor. The `arrow_up` icon is
no longer used anywhere, so it was removed.

Additional spacing was also added for a better visual appearance.
2019-09-19 22:29:25 +02:00
merumelu e2459479de Editor: remove TOOLS_ENABLED guards
For code  inside editor/ `#ifdef TOOLS_ENABLED`
is always true so those checks are redundant.
2019-08-30 19:02:46 +02:00
qarmin e0b5b21863 Add some code changes/fixes proposed by Coverity and Clang Tidy 2019-08-07 12:54:30 +02:00
Rémi Verschelde 336846e547 Inspector: Fix PROPERTY_HINT_SPRITE_FRAME not behaving as RANGE
This was a regression in 3.1 and later from the new inspector, where
PROPERTY_HINT_SPRITE_FRAME was not fully re-implemented. It's meant to
be a normal PROPERTY_HINT_RANGE which also automatically increments its
value when keyed in the animation player.

To avoid code duplication, I made the frames properties use the actual
PROPERTY_HINT_RANGE and introduced a PROPERTY_USAGE_KEYING_INCREMENTS
usage flag instead.
2019-07-25 09:29:51 +02:00
Rémi Verschelde 9f5b77acc9
Revert "Expose "meta" to the Inspector" 2019-07-22 12:03:57 +02:00
Rémi Verschelde 2ca3e47d66
Merge pull request #22642 from YeldhamDev/inspector_metadata
Expose "meta" to the Inspector
2019-07-19 14:39:23 +02:00
Hugo Locurcio ecda25b050
Add a margin to "checkable" property checkboxes in the editor inspector
This makes "checkable" property checkboxes look more consistent with
other checkboxes.
2019-06-05 22:18:46 +02:00
Aaron Franke b659e1eb2b
Use approximate equallity methods in many places 2019-04-25 13:20:29 -04:00
Juan Linietsky 325f6c6581 Added inspector plugin documentation.
Fixed plugin bindings.
2019-04-23 16:39:09 -03:00
Juan Linietsky f2c26098a9 Revert 8d3345a, I thought this was non functioning but it is.. 2019-04-23 16:00:54 -03:00
Juan Linietsky 2cf6d8d334 Made virtual function begin with _, for consistency.
This was not yet used, anyway as no API is bound for this.
2019-04-23 15:20:00 -03:00
James Buck c230c6db98 Fix drawing of checkable editor properties
- Make text cutoff respect checkbox icon's width
  - Get checkbox icon from EditorIcons instead of CheckBox
2019-04-22 20:38:17 -05:00
James Buck 8b1b2f6a4c Fix editor tooltip formatting
Removed unnecessary word wrap which caused broken tags and general
ugliness. Fixes #24926
2019-04-20 11:51:50 -05:00
Hein-Pieter van Braam-Stewart 20b0046945 Object::script may not be a valid Ref<Script>
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
2019-04-20 02:13:28 +02:00
Juan Linietsky a20235aeb0 Add ability to edit editor feature profiles
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
Juan Linietsky b376273f1b Force inspector to clean up on delete, fixes crash. 2019-03-07 12:39:53 -03:00
Juan Linietsky 4dd99701b0 Fix how settings change, closes #26692 2019-03-06 09:25:19 -03:00
Will Nations 27f9780cc6 Fix crash on exit when removing EditorInspectorPlugins 2019-03-06 00:14:42 +01:00
marxin 8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Juan Linietsky 4a24ba6e77 -Fixes to undo redo to avoid crash, closes #24251
-Changed Animation to have a special signal when tracks are changed, to avoid unnecesary track cache rebuilds in AnimationPlayer
-Added missing emit_changed whe modifying keys to Animation
-Changed AnimationPlayer to use the new refcounted connections instead of the previous hacky way to keep references
-Changed AnimationEditor to update the current track when keys are edited
-Fixed bug where undo/redo did not work with AnimationKeyEdit (was not being updated)
-Made sure UndoRedo does not mind deleted objects in undo/redo history, this would corrupt the history or clear it without need.
2019-02-14 10:22:34 -03:00
Rémi Verschelde 563139e5f3 Fix EditorInspector property_changed argument mismatch
Bug introduced in #21701, missed in 541422a4a2.
2019-01-27 17:37:24 +01:00
Juan Linietsky 853f985b63 Make sub-inspectors not listen to node removals, since they never edit nodes. Fixes #23554 2019-01-25 15:14:56 -03:00
Juan Linietsky c70c43c888 Make inspector gain focus on refresh only if it has it, fixes #24979, closes #25053 2019-01-22 12:29:26 -03:00
Juan Linietsky 541422a4a2 Clean up and fix issues after merging #21701 , closes #21104 2019-01-18 13:01:24 -03:00
Juan Linietsky 580bebda52
Merge pull request #21701 from AlexHolly/fix-multiselect-proptery-change
Fix multiselect change property
2019-01-18 12:37:50 -03:00
Juan Linietsky f4ac678d58 Removed ancient code for set_edited that was doing nothing. 2019-01-14 12:44:16 -03:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Michael Alexsander Silva Dias e425f2d498 Expose "meta" to the Inspector 2018-12-08 02:27:20 -02:00
Guilherme Felipe 2015c74104 Fix key icon overlapping revert icon 2018-11-30 14:00:04 -02:00
Juan Linietsky 0d69da8c0e Rewrite code for unfolding and make it automatic on scene load, which works better. 2018-11-25 10:47:33 -03:00
Alexander Holland 66d8ce0c05 Fix multiselect change property 2018-11-24 10:13:14 +01:00
Juan Linietsky dc33d25fec Make sure inbetween lines in inspector can't be clicked, fixes #19014 2018-11-18 21:52:01 -03:00
DualMatrix 8286975d16 Made AnimationPlayer timeline only advance when keyframing frame variables
Fixes #23330
2018-11-08 21:46:34 +01:00
Juan Linietsky f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
Wilson E. Alvarez 71df4caf8f
Removed unnecessary assignments 2018-11-04 22:19:30 -05:00
Juan Linietsky ad22ef28a9 Improve import dock usability when selecting multiple files, only change what was modified on re-import. 2018-10-30 13:12:21 -03:00
Juan Linietsky 4761c6bb7b Automatically unfold sections of properties that someone else edited (no local info exists). 2018-10-29 17:39:17 -03:00
Juan Linietsky 6cc116d415 Ability to revert any property, not just from inherited scenes or scripts. 2018-10-29 12:25:56 -03:00
Hugo Locurcio dee6a8b93c
Make editor tooltips wider and scale them on hiDPI displays
This also changes the TTR() call to avoid creating a duplicate
("Property:" is already used in other places).
2018-10-24 20:05:48 +02:00
Chaosus cd05ca4247 Fix inspector color when theme changed 2018-10-05 21:37:26 +03:00
DualMatrix 127940bd55 Fixed animation editor not moving to next frame of sprites when editing.
Fixed animation editor not moving to next frame of sprites when editing.
2018-10-01 21:44:57 +02:00
Rémi Verschelde c459fad43c
Merge pull request #22536 from DualMatrix/no_advance
Fixed animation_player not advancing to the next frame when inserting a value.
2018-09-30 22:16:26 +02:00
Rémi Verschelde 12ea8b9074
Merge pull request #22570 from lupoDharkael/todo-remove
Remove old TODO from editor_inspector.cpp
2018-09-30 22:10:54 +02:00
lupoDharkael b39bcd8821 Remove old TODO from editor_inspector.cpp 2018-09-30 21:08:33 +02:00
DualMatrix 5f2f108908 Fixed animation_player not advancing to the next frame when inserting a value.
Fixed animation_player not advancing to the next frame when inserting a value.
2018-09-29 16:44:20 +02:00
Juan Linietsky c83742ba86 -Lightmap and lightmap capture support for GLES2
-Added hint to not show some properties when running on low end gfx
2018-09-28 20:33:18 -03:00
Rémi Verschelde cda5b0bfe1 Fix warnings about unused variables [-Wunused-variable]
Fixes the following GCC 5 warnings:
```
drivers/gles2/rasterizer_scene_gles2.cpp:1139:15: warning: unused variable 'offset' [-Wunused-variable]
drivers/gles2/rasterizer_scene_gles2.cpp:1205:39: warning: unused variable 'multi_mesh' [-Wunused-variable]
drivers/gles2/rasterizer_storage_gles2.cpp:359:7: warning: unused variable 'srgb' [-Wunused-variable]
drivers/gles2/shader_gles2.cpp:1016:45: warning: unused variable 'texture_hints' [-Wunused-variable]
editor/animation_track_editor.cpp:776:9: warning: unused variable 'keys_to' [-Wunused-variable]
editor/editor_inspector.cpp:273:7: warning: unused variable 'vs_height' [-Wunused-variable]
editor/editor_themes.cpp:202:10: warning: unused variable 'begin_time' [-Wunused-variable]
editor/editor_themes.cpp:239:10: warning: unused variable 'end_time' [-Wunused-variable]
editor/plugins/animation_blend_tree_editor_plugin.cpp:726:17: warning: unused variable 'an' [-Wunused-variable]
editor/plugins/script_text_editor.cpp:1278:8: warning: unused variable 'fold_state' [-Wunused-variable]
main/main.cpp:132:13: warning: 'use_vsync' defined but not used [-Wunused-variable]
modules/cvtt/image_compress_cvtt.cpp:231:8: warning: unused variable 'y_end' [-Wunused-variable]
modules/cvtt/image_compress_cvtt.cpp:311:6: warning: unused variable 'shift' [-Wunused-variable]
modules/gdscript/gdscript_editor.cpp:58:7: warning: unused variable 'th' [-Wunused-variable]
modules/gridmap/grid_map.cpp:1084:6: warning: unused variable 'ofs' [-Wunused-variable]
modules/theora/video_stream_theora.cpp:442:9: warning: unused variable 'tr' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2606:6: warning: unused variable 'count' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2829:6: warning: unused variable 'seq_count' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2844:24: warning: unused variable 'vnode_function' [-Wunused-variable]
modules/websocket/lws_peer.cpp:122:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:135:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:63:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:91:12: warning: unused variable 'peer_data' [-Wunused-variable]
platform/android/export/export.cpp:763:16: warning: unused variable 'node_size' [-Wunused-variable]
scene/gui/rich_text_label.cpp:850:10: warning: unused variable 'x_ofs' [-Wunused-variable]
scene/gui/text_edit.cpp:653:8: warning: unused variable 'tab_w' [-Wunused-variable]
scene/resources/bit_mask.cpp:186:6: warning: unused variable 'i' [-Wunused-variable]
scene/resources/mesh.cpp:549:20: warning: '_array_name' defined but not used [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:107:10: warning: unused variable 'v2' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:108:10: warning: unused variable 'v3' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:109:10: warning: unused variable 'v4' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:110:10: warning: unused variable 'v5' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:111:10: warning: unused variable 'v0n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:112:10: warning: unused variable 'v1n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:113:10: warning: unused variable 'v2n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:114:10: warning: unused variable 'v3n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:115:10: warning: unused variable 'v4n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:116:10: warning: unused variable 'v5n' [-Wunused-variable]
servers/visual/default_mouse_cursor.xpm:2:21: warning: 'default_mouse_cursor_xpm' defined but not used [-Wunused-variable]
```
2018-09-27 16:25:24 +02:00
willnationsdev 5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
luz.paz 08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Rémi Verschelde ed8b75a3e1 Drop obsolete PropertyEditor and SectionedPropertyEditor code
Replaced by EditorInspector.
2018-09-11 16:16:11 +02:00
Rémi Verschelde 45b609f46a Replace last occurrences of PropertyEditor by EditorInspector
Updates the following plugins:
- ConnectionsDialog
- ScriptEditorDebugger
- ItemListEditorPlugin

Also drop now unnecessary compatibility methods.
2018-09-11 16:09:19 +02:00
Guilherme Felipe 50326a0077 [EditorInspector] Fix ImportDock and ProjectExport capitalize 2018-08-20 17:07:02 -03:00
Juan Linietsky c7e4527a88 Massive rewrite to AnimationTree. Many APIs changed in order to:
-Reuse resources
-Expose properties in AnimationTree
2018-08-20 13:39:16 -03:00
Juan Linietsky 254eb46de3 Several improvements to inspector.
-Added optional horizontal/vertical modes for vector editing (default false for vec2, true for vec3)
-Some clean ups with fonts and styles
2018-08-07 12:22:46 -03:00
Juan Linietsky 336db8bcd1 -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
Rémi Verschelde 8c9e10553c Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03:00
Juan Linietsky 43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Rémi Verschelde 7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Juan Linietsky f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00
Max Hilbrunner 43748f67be
Merge pull request #19351 from guilhermefelipecgs/fix_reversed_text
Fixes to the new inspector
2018-07-05 03:50:31 +02:00
Guilherme Felipe 709948aa5a Fixes to the new inspector
- Fix inspector dock not updating tree for main resource;
- Fixes the inspector input text reverted during typing;
- Add method bind for "refresh" used by MultiNodeEdit;
2018-07-04 20:08:45 -03:00
Juan Linietsky c633b770cb -Add root motion support in AnimationTree.
-Add RootMotionView, to debug root motion in 3D (disabled in runtime)
2018-06-26 19:06:16 -03:00
Juan Linietsky 0a1c1c660f -Added AnimationGraphPlayer (still missing features)
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18 22:12:08 -03:00
Guilherme Felipe 3511a7ac7e Fix path typo for editor def capitalize_properties 2018-06-15 11:51:09 -03:00
Juan Linietsky b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
Guilherme Felipe 6676060805 [Inspector] Fix search field losing focus when typing
Fix #19382
2018-06-05 14:12:01 -03:00
Rémi Verschelde c8a799d691 Fix MethodInfo for EditorInspectorPlugin.can_handle 2018-05-28 16:28:09 +02:00
Juan Linietsky eded061668 Dictionary editing does the comeback to the inspector, fixes #19046 2018-05-19 16:10:19 -03:00
Juan Linietsky c5182a580a Working Drag & Drop again in inspector 2018-05-17 19:41:49 -03:00
Juan Linietsky 4b5227ff77 -Ability to open resources in the same window
-Plenty of fixes and improvements to new inspector
-Fixes that were needed to make inspector work better
2018-05-17 18:03:05 -03:00
Rémi Verschelde 9c5dfdaf06
Merge pull request #18938 from guilhermefelipecgs/missing_header
Add missing copyright headers
2018-05-16 22:50:09 +02:00
Guilherme Felipe 35024d4e7b Add missing copyright headers 2018-05-16 14:50:44 -03:00
Juan Linietsky e62e7fd768 Properly show the property name on tooltip 2018-05-16 14:00:11 -03:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00