summaryrefslogtreecommitdiff
path: root/editor/editor_plugin.h
AgeCommit message (Collapse)Author
2023-01-16Add EditorUndoRedoManager singletonkobewi
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-11-18Move editor class and plugin registrations to a dedicated filetrollodel
2022-11-14Add EditorInterface.get_selected_paths()cespeute
Exposes the selected paths in the editor filesystem dock. Implements this proposal : https://github.com/godotengine/godot-proposals/issues/2424 Also renamed the old `get_selected_path` to `get_selected_directory` to better match the already existing get_current_path function.
2022-11-14[Editor] Better expose EditorDebuggerPlugin.Fabio Alessandrelli
Now splitted into two classes: - EditorDebuggerPlugin (RefCounted). - EditorDebuggerSession (abstract). This allows the EditorPlugin to be in control of the debugger plugin lifecycle, be notified when sessions are created, and customize each of them independently. We should slowly transition the various profilers and captures in ScriptEditorDebugger to their own plugins, and decouple ScriptEditorDebugger from it's UI part (making it the "real" EditorDebuggerSession potentially dropping the wrappers).
2022-11-11Use forward-declarations in EditorPlugin where possibletrollodel
2022-11-02Unify usage of undo_redo in editorkobewi
2022-10-31Merge pull request #62416 from Calinou/movie-maker-request-attention-on-finishRémi Verschelde
Request attention on the editor window when done recording a movie
2022-10-04Rename remaining "Spatial" in Plugins to "Node3D"Micky
For EditorNode3DGizmo: - `get_spatial_node` -> `get_node_3d` - `set_spatial_node` -> `set_node_3d` For EditorPlugin: - `add_spatial_gizmo_plugin` -> `add_node_3d_gizmo_plugin` - `remove_spatial_gizmo_plugin` -> `remove_node_3d_gizmo_plugin` Also renames some internal methods for consistency (`forward_3d_draw_over_viewport` & `forward_3d_force_draw_over_viewport` ...). Basically, Spatial has been completely eradicated.
2022-09-10Merge pull request #64465 from TokageItLab/bind-after-gui-inputRémi Verschelde
Bind `AfterGUIInput` to GDScript and update document
2022-09-08bind AfterGUIInputSilc Renew
2022-09-07Rename EditorInterface.get_editor_main_control to get_editor_main_screenYuri Sizov
2022-09-01Change Array arguments to TypedArraykobewi
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-22Merge pull request #59564 from KoBeWi/FINALLY,_ULTIMATE_UNDO_REDORémi Verschelde
2022-08-22Add per-scene UndoRedokobewi
2022-08-18Add a method for restarting the editor to EditorInterfaceAaron Franke
2022-08-13Rename EditorPlugin.`*_PROPERTY_EDITOR_*` to `*_INSPECTOR_*`Micky
The name "Inspector" has been adopted for years and is thus more familiar.
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-06-26Request attention on the editor window when done recording a movieHugo Locurcio
Recording a movie can take a long time, so the user may not be paying attention to the editor while leaving a movie rendering in the background. This also allows editor plugins to access the state of Movie Maker mode within the editor (and set it).
2022-04-12move gltf export under scene menuPriyansh Rathi
2022-02-14Remove the EditorNode parameter from EditorPlugins create methodstrollodel
Remove EditorNode usage from the Navigation editor plugin.
2022-02-07ResourceImporter: Restore default append logic for new importersRémi Verschelde
This was changed in #56943 to allow adding new importers from plugins that take precedence over built-in ones, but this should be opt-in, not the default behavior. Fixes #57730.
2022-01-28Improve some method bindings to use specific `Object` subtypesRémi Verschelde
This was made possible by changes to `VariantCaster` which now make it possible to pass any `Object`-derived type as pointer.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-08Expose `ScriptEditor::edit` to scriptingRaul Santos
Exposes a method in `EditorInterface` to open scripts on a specified line and column. This method handles if the internal or the external editor should be used.
2021-10-15Add scene Post-Import Plugin support.reduz
* New plugin system to control the whole import workflow * Can add options and run code at every import step (general, per node, mesh, animation, material etc.) This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-07Implemented SkeletonEditorGizmoSilc Renew
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-04Provide a way to hook into Inspectors UndoRedo.Gilles Roudière
2021-04-12Expose edit_node() for editor pluginskobewi
2021-04-05Expose editor scale to the plugin APIYuri Sizov
2021-02-13Fix editor always redrawingreduz
-Only update rendering settings when project settings change -Fixes the update spinner (and editor rendering) updating all the time. -Added a "project_settings_changed" signal to EditorNode and EditorPlugin
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-19Rename EditorInterface get_editor_viewport to get_editor_main_controlMarcel Admiraal
2020-12-16Make tool menu plugins use Callables for callbackkobewi
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-09-23Added inspector_only option to inspect_object in EditorInterface.andriyDev
Updated docs to reflect change to inspect_object.
2020-08-26Added debugger plugin supportsimpu
Changes: * EngineDebugger is exposed to gdscript. Game side of communication can be implemented through it. * EditorDebuggerPlugin is added which handles the editor side of communication.
2020-07-06Expose methods to play scene from plugin codeYuri Sizov
2020-07-02Add translation parser plugin supportSkyJJ
2020-06-19Remove ToolButton in favor of ButtonHugo Locurcio
ToolButton has no redeeming differences with Button; it's just a Button with the Flat property enabled by default. Removing it avoids some confusion when creating GUIs. Existing ToolButtons will be converted to Buttons, but the Flat property won't be enabled automatically. This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-03Add a getter and property for the editor distraction-free modeHugo Locurcio
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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.
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-04-02Replace NULL with nullptrlupoDharkael