2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "EditorInterface" inherits= "Object" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2018-09-18 16:38:19 +02:00
Godot editor's interface.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2023-04-30 16:26:09 +02:00
[EditorInterface] gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, and information about scenes.
2023-08-09 14:03:27 +02:00
[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton directly by its name.
[codeblocks]
[gdscript]
var editor_settings = EditorInterface.get_editor_settings()
[/gdscript]
[csharp]
// In C# you can access it via the static Singleton property.
EditorSettings settings = EditorInterface.Singleton.GetEditorSettings();
[/csharp]
[/codeblocks]
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2021-04-07 22:08:41 +02:00
<method name= "edit_node" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "node" type= "Node" />
2021-04-07 22:08:41 +02:00
<description >
Edits the given [Node]. The node will be also selected if it's inside the scene tree.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "edit_resource" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "resource" type= "Resource" />
2017-09-12 22:42:36 +02:00
<description >
2021-12-07 21:00:26 +01:00
Edits the given [Resource]. If the resource is a [Script] you can also edit it with [method edit_script] to specify the line and column position.
</description>
</method>
<method name= "edit_script" >
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "script" type= "Script" />
<param index= "1" name= "line" type= "int" default= "-1" />
<param index= "2" name= "column" type= "int" default= "0" />
<param index= "3" name= "grab_focus" type= "bool" default= "true" />
2021-12-07 21:00:26 +01:00
<description >
Edits the given [Script]. The line and column on which to open the script can also be specified. The script will be open with the user-configured editor for the script's language which may be an external editor.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_base_control" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Control" />
2017-09-12 22:42:36 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render the editor useless and may cause a crash.
2017-09-12 22:42:36 +02:00
</description>
</method>
2021-05-29 15:28:16 +02:00
<method name= "get_command_palette" qualifiers= "const" >
<return type= "EditorCommandPalette" />
<description >
2021-08-13 11:04:01 +02:00
Returns the editor's [EditorCommandPalette] instance.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
2021-05-29 15:28:16 +02:00
</description>
</method>
2022-05-10 22:25:36 +02:00
<method name= "get_current_directory" qualifiers= "const" >
<return type= "String" />
<description >
Returns the current directory being viewed in the [FileSystemDock]. If a file is selected, its base directory will be returned using [method String.get_base_dir] instead.
</description>
</method>
2023-03-04 20:27:56 +01:00
<method name= "get_current_feature_profile" qualifiers= "const" >
<return type= "String" />
<description >
Returns the name of the currently activated feature profile. If the default profile is currently active, an empty string is returned instead.
In order to get a reference to the [EditorFeatureProfile], you must load the feature profile using [method EditorFeatureProfile.load_from_file].
[b]Note:[/b] Feature profiles created via the user interface are loaded from the [code]feature_profiles[/code] directory, as a file with the [code].profile[/code] extension. The editor configuration folder can be found by using [method EditorPaths.get_config_dir].
</description>
</method>
2019-09-24 11:44:48 +02:00
<method name= "get_current_path" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2019-09-24 11:44:48 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the current path being viewed in the [FileSystemDock].
2019-09-24 11:44:48 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_edited_scene_root" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Node" />
2017-09-12 22:42:36 +02:00
<description >
2018-09-18 16:38:19 +02:00
Returns the edited (current) scene's root [Node].
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_editor_main_screen" qualifiers= "const" >
2022-09-07 01:30:54 +02:00
<return type= "VBoxContainer" />
2017-09-12 22:42:36 +02:00
<description >
2022-09-07 01:30:54 +02:00
Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement [method EditorPlugin._has_main_screen].
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_editor_paths" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorPaths" />
2021-05-25 02:25:11 +02:00
<description >
2022-10-06 21:59:48 +02:00
Returns the [EditorPaths] singleton.
2021-05-25 02:25:11 +02:00
</description>
</method>
2021-04-04 16:08:25 +02:00
<method name= "get_editor_scale" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "float" />
2021-04-04 16:08:25 +02:00
<description >
Returns the actual scale of the editor UI ([code]1.0[/code] being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.
[b]Note:[/b] This value is set via the [code]interface/editor/display_scale[/code] and [code]interface/editor/custom_display_scale[/code] editor settings. Editor must be restarted for changes to be properly applied.
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_editor_settings" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorSettings" />
2021-01-04 14:33:44 +01:00
<description >
Returns the editor's [EditorSettings] instance.
</description>
</method>
2023-09-13 13:14:07 +02:00
<method name= "get_editor_theme" qualifiers= "const" >
<return type= "Theme" />
<description >
Returns the editor's [Theme].
[b]Note:[/b] When creating custom editor UI, prefer accessing theme items directly from your GUI nodes using the [code]get_theme_*[/code] methods.
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_file_system_dock" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "FileSystemDock" />
2020-03-20 12:58:38 +01:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [FileSystemDock] instance.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
2020-03-20 12:58:38 +01:00
</description>
</method>
2019-04-15 14:49:41 +02:00
<method name= "get_inspector" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorInspector" />
2019-04-15 14:49:41 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [EditorInspector] instance.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
2019-04-15 14:49:41 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "get_open_scenes" qualifiers= "const" >
2022-08-05 03:41:48 +02:00
<return type= "PackedStringArray" />
2017-09-12 22:42:36 +02:00
<description >
2018-09-18 16:38:19 +02:00
Returns an [Array] with the file paths of the currently opened scenes.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-04-05 16:19:24 +02:00
<method name= "get_playing_scene" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2020-04-05 16:19:24 +02:00
<description >
Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_resource_filesystem" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorFileSystem" />
2017-09-12 22:42:36 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [EditorFileSystem] instance.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_resource_previewer" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorResourcePreview" />
2017-09-12 22:42:36 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [EditorResourcePreview] instance.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_script_editor" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "ScriptEditor" />
2017-09-12 22:42:36 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [ScriptEditor] instance.
2021-10-10 21:28:56 +02:00
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-05-10 22:25:36 +02:00
<method name= "get_selected_paths" qualifiers= "const" >
<return type= "PackedStringArray" />
2018-01-07 01:37:45 +01:00
<description >
2022-05-10 22:25:36 +02:00
Returns an array containing the paths of the currently selected files (and directories) in the [FileSystemDock].
2018-01-07 01:37:45 +01:00
</description>
</method>
2023-04-05 17:14:46 +02:00
<method name= "get_selection" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "EditorSelection" />
2017-09-12 22:42:36 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns the editor's [EditorSelection] instance.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "inspect_object" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "object" type= "Object" />
<param index= "1" name= "for_property" type= "String" default= """" />
<param index= "2" name= "inspector_only" type= "bool" default= "false" />
2017-09-12 22:42:36 +02:00
<description >
2022-08-12 18:07:53 +02:00
Shows the given property on the given [param object] in the editor's Inspector dock. If [param inspector_only] is [code]true[/code], plugins will not attempt to edit [param object].
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-04-05 16:19:24 +02:00
<method name= "is_playing_scene" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2020-04-05 16:19:24 +02:00
<description >
2020-07-18 17:17:00 +02:00
Returns [code]true[/code] if a scene is currently being played, [code]false[/code] otherwise. Paused scenes are considered as being played.
2020-04-05 16:19:24 +02:00
</description>
</method>
2018-01-30 23:11:07 +01:00
<method name= "is_plugin_enabled" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "plugin" type= "String" />
2018-01-30 23:11:07 +01:00
<description >
2022-08-12 18:07:53 +02:00
Returns [code]true[/code] if the specified [param plugin] is enabled. The plugin name is the same as its directory name.
2018-01-30 23:11:07 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "make_mesh_previews" >
2022-08-05 03:41:48 +02:00
<return type= "Texture2D[]" />
2022-08-31 19:24:04 +02:00
<param index= "0" name= "meshes" type= "Mesh[]" />
2022-08-06 20:11:48 +02:00
<param index= "1" name= "preview_size" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2020-02-12 09:59:06 +01:00
Returns mesh previews rendered at the given size as an [Array] of [Texture2D]s.
2017-09-12 22:42:36 +02:00
</description>
</method>
2023-06-07 13:44:37 +02:00
<method name= "mark_scene_as_unsaved" >
<return type= "void" />
<description >
Marks the current scene tab as unsaved.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "open_scene_from_path" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "scene_filepath" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2017-10-12 19:10:42 +02:00
Opens the scene at the given path.
2017-09-12 22:42:36 +02:00
</description>
</method>
2020-04-05 16:19:24 +02:00
<method name= "play_current_scene" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2020-04-05 16:19:24 +02:00
<description >
Plays the currently active scene.
</description>
</method>
<method name= "play_custom_scene" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "scene_filepath" type= "String" />
2020-04-05 16:19:24 +02:00
<description >
Plays the scene specified by its filepath.
</description>
</method>
<method name= "play_main_scene" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2020-04-05 16:19:24 +02:00
<description >
Plays the main scene.
</description>
</method>
2023-04-20 15:13:21 +02:00
<method name= "popup_dialog" >
<return type= "void" />
<param index= "0" name= "dialog" type= "Window" />
<param index= "1" name= "rect" type= "Rect2i" default= "Rect2i(0, 0, 0, 0)" />
<description >
Pops up the [param dialog] in the editor UI with [method Window.popup_exclusive]. The dialog must have no current parent, otherwise the method fails.
See also [method Window.set_unparent_when_invisible].
</description>
</method>
<method name= "popup_dialog_centered" >
<return type= "void" />
<param index= "0" name= "dialog" type= "Window" />
<param index= "1" name= "minsize" type= "Vector2i" default= "Vector2i(0, 0)" />
<description >
Pops up the [param dialog] in the editor UI with [method Window.popup_exclusive_centered]. The dialog must have no current parent, otherwise the method fails.
See also [method Window.set_unparent_when_invisible].
</description>
</method>
<method name= "popup_dialog_centered_clamped" >
<return type= "void" />
<param index= "0" name= "dialog" type= "Window" />
<param index= "1" name= "minsize" type= "Vector2i" default= "Vector2i(0, 0)" />
<param index= "2" name= "fallback_ratio" type= "float" default= "0.75" />
<description >
Pops up the [param dialog] in the editor UI with [method Window.popup_exclusive_centered_clamped]. The dialog must have no current parent, otherwise the method fails.
See also [method Window.set_unparent_when_invisible].
</description>
</method>
<method name= "popup_dialog_centered_ratio" >
<return type= "void" />
<param index= "0" name= "dialog" type= "Window" />
<param index= "1" name= "ratio" type= "float" default= "0.8" />
<description >
Pops up the [param dialog] in the editor UI with [method Window.popup_exclusive_centered_ratio]. The dialog must have no current parent, otherwise the method fails.
See also [method Window.set_unparent_when_invisible].
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "reload_scene_from_path" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "scene_filepath" type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2017-10-12 19:10:42 +02:00
Reloads the scene at the given path.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-08-19 01:46:31 +02:00
<method name= "restart_editor" >
<return type= "void" />
<param index= "0" name= "save" type= "bool" default= "true" />
<description >
Restarts the editor. This closes the editor and then opens the same project. If [param save] is [code]true[/code], the project will be saved before restarting.
</description>
</method>
2023-05-27 04:23:06 +02:00
<method name= "save_all_scenes" >
<return type= "void" />
<description >
Saves all opened scenes in the editor.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "save_scene" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2017-09-12 22:42:36 +02:00
<description >
2023-05-27 04:23:06 +02:00
Saves the currently active scene. Returns either [constant OK] or [constant ERR_CANT_CREATE].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "save_scene_as" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "path" type= "String" />
<param index= "1" name= "with_preview" type= "bool" default= "true" />
2017-09-12 22:42:36 +02:00
<description >
2023-05-27 04:23:06 +02:00
Saves the currently active scene as a file at [param path].
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-01-07 01:37:45 +01:00
<method name= "select_file" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "file" type= "String" />
2018-01-07 01:37:45 +01:00
<description >
2022-08-12 18:07:53 +02:00
Selects the file, with the path provided by [param file], in the FileSystem dock.
2018-01-07 01:37:45 +01:00
</description>
</method>
2023-03-04 20:27:56 +01:00
<method name= "set_current_feature_profile" >
<return type= "void" />
<param index= "0" name= "profile_name" type= "String" />
<description >
Selects and activates the specified feature profile with the given [param profile_name]. Set [param profile_name] to an empty string to reset to the default feature profile.
A feature profile can be created programmatically using the [EditorFeatureProfile] class.
[b]Note:[/b] The feature profile that gets activated must be located in the [code]feature_profiles[/code] directory, as a file with the [code].profile[/code] extension. If a profile could not be found, an error occurs. The editor configuration folder can be found by using [method EditorPaths.get_config_dir].
</description>
</method>
2019-08-13 12:35:50 +02:00
<method name= "set_main_screen_editor" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "name" type= "String" />
2019-08-13 12:35:50 +02:00
<description >
2022-08-12 18:07:53 +02:00
Sets the editor's current main screen to the one specified in [param name]. [param name] must match the text of the tab in question exactly ([code]2D[/code], [code]3D[/code], [code]Script[/code], [code]AssetLib[/code]).
2019-08-13 12:35:50 +02:00
</description>
</method>
2018-01-30 23:11:07 +01:00
<method name= "set_plugin_enabled" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "plugin" type= "String" />
<param index= "1" name= "enabled" type= "bool" />
2018-01-30 23:11:07 +01:00
<description >
Sets the enabled status of a plugin. The plugin name is the same as its directory name.
</description>
</method>
2020-04-05 16:19:24 +02:00
<method name= "stop_playing_scene" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2020-04-05 16:19:24 +02:00
<description >
Stops the scene that is currently playing.
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
2020-06-04 10:07:56 +02:00
<members >
<member name= "distraction_free_mode" type= "bool" setter= "set_distraction_free_mode" getter= "is_distraction_free_mode_enabled" >
2020-05-30 22:55:56 +02:00
If [code]true[/code], enables distraction-free mode which hides side docks to increase the space available for the main view.
2020-06-04 10:07:56 +02:00
</member>
2023-04-05 17:14:46 +02:00
<member name= "movie_maker_enabled" type= "bool" setter= "set_movie_maker_enabled" getter= "is_movie_maker_enabled" >
If [code]true[/code], the Movie Maker mode is enabled in the editor. See [MovieWriter] for more information.
</member>
2020-06-04 10:07:56 +02:00
</members>
2017-09-12 22:42:36 +02:00
</class>