Commit Graph

1134 Commits

Author SHA1 Message Date
kobewi 3c53752b4a Cleanup embed subwindows getters 2022-03-13 18:20:53 +01:00
kobewi c53a84fdfd Improve scene tab close button options 2022-03-13 02:14:32 +01:00
Aaron Franke 918b09cabc
Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
kobewi 42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
Rémi Verschelde 7e4a8d3ab3
Merge pull request #58706 from timothyqiu/property-i18n 2022-03-10 21:09:50 +01:00
reduz 6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Rémi Verschelde f17c5501eb
Merge pull request #58865 from timothyqiu/more-i18n
Add missing i18n to various strings
2022-03-09 20:38:19 +01:00
Michael Alexsander 182e038af5 Replace `TabBar`'s `min_width` with `max_tab_width` and expose it 2022-03-09 01:48:18 -03:00
Haoyu Qiu 25d93200c8 Add missing i18n to various strings 2022-03-07 21:50:49 +08:00
kobewi 2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
kobewi 7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
Rémi Verschelde cdd63fa872
Merge pull request #53839 from EricEzaM/editor-settings-changed-settings
Added ability to get list of editor settings changed when saving editor settings. Optimised settings changed notification.
2022-03-05 12:54:38 +01:00
Eric M daceae79e8 Made use of EditorSettings 'settings changed' to optimise settings changed notifications. 2022-03-05 19:26:40 +10:00
Michael Alexsander a811ebf699 Make `TabContainer` use `TabBar` internally 2022-03-03 21:49:58 -03:00
Haoyu Qiu d6df2ffad8 i18n: Make property paths and categories translatable 2022-03-03 18:31:40 +08:00
Hugo Locurcio 958912a33f
Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.
2022-02-17 18:17:02 +01:00
Rémi Verschelde b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Rémi Verschelde 11572c6e30
Editor: Cleanup some includes dependencies
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.
2022-02-15 14:54:15 +01:00
trollodel cd1d7294d8 Remove the EditorNode parameter from EditorPlugins create methods
Remove EditorNode usage from the Navigation editor plugin.
2022-02-14 18:21:42 +01:00
trollodel 05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
Hendrik Brucker b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Yuri Sizov 107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
Rémi Verschelde 90162851a7
Core: Move generated `VERSION_HASH` to a `.cpp` file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
2022-02-09 09:20:17 +01:00
Ellen Poe 41a158af56
Add AudioStreamRandomizer, replacing AudioStreamRandomPitch
Add additional randomization options.
2022-02-09 00:05:32 +01:00
Rémi Verschelde 25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
Rémi Verschelde a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

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.
2022-02-08 10:17:25 +01:00
Rémi Verschelde 317cd0b19a
Refactor some object type checking code with `cast_to`
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
Michael Alexsander 59e9a8c275 Fix theming for floating window docks 2022-02-07 09:55:25 -03:00
jfons dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00
kobewi ee3b7bc747 Move Replication tab to a fixed position 2022-02-07 01:06:55 +01:00
jmb462 a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
jmb462 1ce81dc5f2 Add missing SNAME macro optimization in some function calls 2022-02-06 15:54:04 +01:00
Fabio Alessandrelli c971316d88 [Editor] Replication plugin to configure MultiplayerSynchronizers.
Allows configuring the MultiplayerSynchornizer in a way similar to
AnimationPlayer.
Properties are added manually, edither as plain properties, or via the
NodePath format for child nodes' properties "path/to/node:property"
relative to the MultiplayerSynchronizer root path.

Nice things to add would be:
- Moving properties up/down in the list.
- Some form of keying, autmatic filling of the replication properity
  line edit.
2022-02-04 14:56:30 +01:00
Rémi Verschelde 29c4644890
Merge pull request #57086 from YeldhamDev/scene_tabs_fix 2022-02-04 11:01:41 +01:00
Rémi Verschelde 7be7623d69
Merge pull request #57494 from Geometror/project-and-editor-settings-fixes 2022-02-02 21:55:08 +01:00
Anilforextra fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Michael Alexsander 45a32f21ee Fix buggy behavior of the "Add tab" button in the scene tabs 2022-02-01 11:44:58 -03:00
Hendrik Brucker 2f1e7c28a4 Minor fixes/refactoring of project and editor setting dialogs 2022-02-01 00:19:01 +01:00
Rémi Verschelde 45553fd586
Merge pull request #56970 from YeldhamDev/rise_tabbar_rise 2022-01-31 21:46:07 +01:00
Michael Alexsander 64c4a5b283 Bring `TabBar` to full parity with the `TabContainer` implementation. 2022-01-31 15:35:54 -03:00
Fazil Babu 65b6b140b6 Inspector retains content when detached and when docked 2022-01-30 12:11:27 +05:30
Rémi Verschelde e363f404a5
Merge pull request #57000 from KoBeWi/UNLIMITED_PANNING 2022-01-23 00:47:52 +01:00
kobewi 74bfe88267 Add ViewPanner to 2D editor 2022-01-21 18:35:06 +01:00
trollodel aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
Fabio Alessandrelli 7e14548fc6 [Editor] Move some animation specific keying logic out of inspector.
Most of the custom logic to handle special keying cases is now inside
the AnimationPlayerEditorPlugin.

The EditorInspector now emits a signal when inspecting a new object.
2022-01-19 11:08:25 +01:00
Rémi Verschelde fd5fb7d64a
Merge pull request #56899 from touilleMan/fix-editor_node-set_exit_code 2022-01-18 14:48:55 +01:00
Rémi Verschelde 0a67b46396
Merge pull request #52597 from Jummit/scene_casing_setting 2022-01-18 13:24:58 +01:00
Emmanuel Leblond 2ec7c6a6bc
Replace use of `OS::set_exit_code()` by `SceneTree::quit()` in `EditorNode` 2022-01-18 13:09:30 +01:00