Documentation
¶
Overview ¶
Package EditorInterface provides methods for working with EditorInterface object instances.
Index ¶
- func Advanced() class
- func DistractionFreeMode() bool
- func EditNode(node Node.Instance)
- func EditResource(resource Resource.Instance)
- func EditScript(script Script.Instance, column int)
- func EditScriptOptions(script Script.Instance, line int, column int, grab_focus bool)
- func GetBaseControl() Control.Instance
- func GetCommandPalette() EditorCommandPalette.Instance
- func GetCurrentDirectory() string
- func GetCurrentFeatureProfile() string
- func GetCurrentPath() string
- func GetEditedSceneRoot() Node.Instance
- func GetEditorMainScreen() VBoxContainer.Instance
- func GetEditorPaths() EditorPaths.Instance
- func GetEditorScale() Float.X
- func GetEditorSettings() EditorSettings.Instance
- func GetEditorTheme() Theme.Instance
- func GetEditorToaster() EditorToaster.Instance
- func GetEditorUndoRedo() EditorUndoRedoManager.Instance
- func GetEditorViewport2d() SubViewport.Instance
- func GetEditorViewport3d(idx int) SubViewport.Instance
- func GetEditorViewport3dOptions(idx int) SubViewport.Instance
- func GetFileSystemDock() FileSystemDock.Instance
- func GetInspector() EditorInspector.Instance
- func GetOpenScenes() []string
- func GetPlayingScene() string
- func GetResourceFilesystem() EditorFileSystem.Instance
- func GetResourcePreviewer() EditorResourcePreview.Instance
- func GetScriptEditor() ScriptEditor.Instance
- func GetSelectedPaths() []string
- func GetSelection() EditorSelection.Instance
- func InspectObject(obj Object.Instance, for_property string, inspector_only bool)
- func InspectObjectOptions(obj Object.Instance, for_property string, inspector_only bool)
- func IsMultiWindowEnabled() bool
- func IsPlayingScene() bool
- func IsPluginEnabled(plugin string) bool
- func MakeMeshPreviews(meshes []Mesh.Instance, preview_size int) []Texture2D.Instance
- func MarkSceneAsUnsaved()
- func MovieMakerEnabled() bool
- func OpenSceneFromPath(scene_filepath string, set_inherited bool)
- func OpenSceneFromPathOptions(scene_filepath string, set_inherited bool)
- func PlayCurrentScene()
- func PlayCustomScene(scene_filepath string)
- func PlayMainScene()
- func PopupCreateDialog(callback func(selected string), base_type string, current_type string, ...)
- func PopupCreateDialogOptions(callback func(selected string), base_type string, current_type string, ...)
- func PopupDialog(dialog Window.Instance, rect Rect2i.PositionSize)
- func PopupDialogCentered(dialog Window.Instance, minsize Vector2i.XY)
- func PopupDialogCenteredClamped(dialog Window.Instance, minsize Vector2i.XY)
- func PopupDialogCenteredClampedOptions(dialog Window.Instance, minsize Vector2i.XY, fallback_ratio Float.X)
- func PopupDialogCenteredOptions(dialog Window.Instance, minsize Vector2i.XY)
- func PopupDialogCenteredRatio(dialog Window.Instance)
- func PopupDialogCenteredRatioOptions(dialog Window.Instance, ratio Float.X)
- func PopupDialogOptions(dialog Window.Instance, rect Rect2i.PositionSize)
- func PopupMethodSelector(obj Object.Instance, callback func(selected string), current_value string)
- func PopupMethodSelectorOptions(obj Object.Instance, callback func(selected string), current_value string)
- func PopupNodeSelector(callback func(selected string), valid_types []string, ...)
- func PopupNodeSelectorOptions(callback func(selected string), valid_types []string, ...)
- func PopupPropertySelector(obj Object.Instance, callback func(selected string), type_filter []int32, ...)
- func PopupPropertySelectorOptions(obj Object.Instance, callback func(selected string), type_filter []int32, ...)
- func PopupQuickOpen(callback func(selected string), base_types []string)
- func PopupQuickOpenOptions(callback func(selected string), base_types []string)
- func ReloadSceneFromPath(scene_filepath string)
- func RestartEditor()
- func RestartEditorOptions(save bool)
- func SaveAllScenes()
- func SaveScene() error
- func SaveSceneAs(path string)
- func SaveSceneAsOptions(path string, with_preview bool)
- func SelectFile(file string)
- func SetCurrentFeatureProfile(profile_name string)
- func SetDistractionFreeMode(value bool)
- func SetMainScreenEditor(name string)
- func SetMovieMakerEnabled(value bool)
- func SetPluginEnabled(plugin string, enabled bool)
- func StopPlayingScene()
- type Extension
- type ID
- type Instance
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Advanced ¶
func Advanced() class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
func DistractionFreeMode ¶
func DistractionFreeMode() bool
func EditNode ¶
Edits the given [Node]. The node will be also selected if it's inside the scene tree.
func EditResource ¶
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.
func EditScript ¶
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.
func EditScriptOptions ¶
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.
func GetBaseControl ¶
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. [b]Warning:[/b] Removing and freeing this node will render the editor useless and may cause a crash.
func GetCommandPalette ¶
func GetCommandPalette() EditorCommandPalette.Instance
Returns the editor's [EditorCommandPalette] instance. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
func GetCurrentDirectory ¶
func GetCurrentDirectory() string
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.
func GetCurrentFeatureProfile ¶
func GetCurrentFeatureProfile() string
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].
func GetCurrentPath ¶
func GetCurrentPath() string
Returns the current path being viewed in the [FileSystemDock].
func GetEditedSceneRoot ¶
Returns the edited (current) scene's root [Node].
func GetEditorMainScreen ¶
func GetEditorMainScreen() VBoxContainer.Instance
Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement [method EditorPlugin._has_main_screen]. [b]Note:[/b] This node is a [VBoxContainer], which means that if you add a [Control] child to it, you need to set the child's [member Control.size_flags_vertical] to [constant Control.SIZE_EXPAND_FILL] to make it use the full available space. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
func GetEditorPaths ¶
func GetEditorPaths() EditorPaths.Instance
Returns the [EditorPaths] singleton.
func GetEditorScale ¶
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.
func GetEditorSettings ¶
func GetEditorSettings() EditorSettings.Instance
Returns the editor's [EditorSettings] instance.
func GetEditorTheme ¶
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.
func GetEditorToaster ¶
func GetEditorToaster() EditorToaster.Instance
Returns the editor's [EditorToaster].
func GetEditorUndoRedo ¶
func GetEditorUndoRedo() EditorUndoRedoManager.Instance
Returns the editor's [EditorUndoRedoManager].
func GetEditorViewport2d ¶
func GetEditorViewport2d() SubViewport.Instance
Returns the 2D editor [SubViewport]. It does not have a camera. Instead, the view transforms are done directly and can be accessed with [member Viewport.global_canvas_transform].
func GetEditorViewport3d ¶
func GetEditorViewport3d(idx int) SubViewport.Instance
Returns the specified 3D editor [SubViewport], from [code]0[/code] to [code]3[/code]. The viewport can be used to access the active editor cameras with [method Viewport.get_camera_3d].
func GetEditorViewport3dOptions ¶
func GetEditorViewport3dOptions(idx int) SubViewport.Instance
Returns the specified 3D editor [SubViewport], from [code]0[/code] to [code]3[/code]. The viewport can be used to access the active editor cameras with [method Viewport.get_camera_3d].
func GetFileSystemDock ¶
func GetFileSystemDock() FileSystemDock.Instance
Returns the editor's [FileSystemDock] instance. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
func GetInspector ¶
func GetInspector() EditorInspector.Instance
Returns the editor's [EditorInspector] instance. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
func GetOpenScenes ¶
func GetOpenScenes() []string
Returns an [Array] with the file paths of the currently opened scenes.
func GetPlayingScene ¶
func GetPlayingScene() string
Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.
func GetResourceFilesystem ¶
func GetResourceFilesystem() EditorFileSystem.Instance
Returns the editor's [EditorFileSystem] instance.
func GetResourcePreviewer ¶
func GetResourcePreviewer() EditorResourcePreview.Instance
Returns the editor's [EditorResourcePreview] instance.
func GetScriptEditor ¶
func GetScriptEditor() ScriptEditor.Instance
Returns the editor's [ScriptEditor] instance. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
func GetSelectedPaths ¶
func GetSelectedPaths() []string
Returns an array containing the paths of the currently selected files (and directories) in the [FileSystemDock].
func GetSelection ¶
func GetSelection() EditorSelection.Instance
Returns the editor's [EditorSelection] instance.
func InspectObject ¶
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].
func InspectObjectOptions ¶
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].
func IsMultiWindowEnabled ¶
func IsMultiWindowEnabled() bool
Returns [code]true[/code] if multiple window support is enabled in the editor. Multiple window support is enabled if [i]all[/i] of these statements are true: - [member EditorSettings.interface/multi_window/enable] is [code]true[/code]. - [member EditorSettings.interface/editor/single_window_mode] is [code]false[/code]. - [member Viewport.gui_embed_subwindows] is [code]false[/code]. This is forced to [code]true[/code] on platforms that don't support multiple windows such as Web, or when the [code]--single-window[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line argument[/url] is used.
func IsPlayingScene ¶
func IsPlayingScene() bool
Returns [code]true[/code] if a scene is currently being played, [code]false[/code] otherwise. Paused scenes are considered as being played.
func IsPluginEnabled ¶
Returns [code]true[/code] if the specified [param plugin] is enabled. The plugin name is the same as its directory name.
func MakeMeshPreviews ¶
Returns mesh previews rendered at the given size as an [Array] of [Texture2D]s.
func MovieMakerEnabled ¶
func MovieMakerEnabled() bool
func OpenSceneFromPath ¶
Opens the scene at the given path. If [param set_inherited] is [code]true[/code], creates a new inherited scene.
func OpenSceneFromPathOptions ¶
Opens the scene at the given path. If [param set_inherited] is [code]true[/code], creates a new inherited scene.
func PlayCustomScene ¶
func PlayCustomScene(scene_filepath string)
Plays the scene specified by its filepath.
func PopupCreateDialog ¶
func PopupCreateDialog(callback func(selected string), base_type string, current_type string, dialog_title string, type_blocklist []string)
Pops up an editor dialog for creating an object. The [param callback] must take a single argument of type [StringName] which will contain the type name of the selected object or be empty if no item is selected. The [param base_type] specifies the base type of objects to display. For example, if you set this to "Resource", all types derived from [Resource] will display in the create dialog. The [param current_type] will be passed in the search box of the create dialog, and the specified type can be immediately selected when the dialog pops up. If the [param current_type] is not derived from [param base_type], there will be no result of the type in the dialog. The [param dialog_title] allows you to define a custom title for the dialog. This is useful if you want to accurately hint the usage of the dialog. If the [param dialog_title] is an empty string, the dialog will use "Create New 'Base Type'" as the default title. The [param type_blocklist] contains a list of type names, and the types in the blocklist will be hidden from the create dialog. [b]Note:[/b] Trying to list the base type in the [param type_blocklist] will hide all types derived from the base type from the create dialog.
func PopupCreateDialogOptions ¶
func PopupCreateDialogOptions(callback func(selected string), base_type string, current_type string, dialog_title string, type_blocklist []string)
Pops up an editor dialog for creating an object. The [param callback] must take a single argument of type [StringName] which will contain the type name of the selected object or be empty if no item is selected. The [param base_type] specifies the base type of objects to display. For example, if you set this to "Resource", all types derived from [Resource] will display in the create dialog. The [param current_type] will be passed in the search box of the create dialog, and the specified type can be immediately selected when the dialog pops up. If the [param current_type] is not derived from [param base_type], there will be no result of the type in the dialog. The [param dialog_title] allows you to define a custom title for the dialog. This is useful if you want to accurately hint the usage of the dialog. If the [param dialog_title] is an empty string, the dialog will use "Create New 'Base Type'" as the default title. The [param type_blocklist] contains a list of type names, and the types in the blocklist will be hidden from the create dialog. [b]Note:[/b] Trying to list the base type in the [param type_blocklist] will hide all types derived from the base type from the create dialog.
func PopupDialog ¶
func PopupDialog(dialog Window.Instance, rect Rect2i.PositionSize)
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].
func PopupDialogCentered ¶
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].
func PopupDialogCenteredClamped ¶
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].
func PopupDialogCenteredClampedOptions ¶
func PopupDialogCenteredClampedOptions(dialog Window.Instance, minsize Vector2i.XY, fallback_ratio Float.X)
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].
func PopupDialogCenteredOptions ¶
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].
func PopupDialogCenteredRatio ¶
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].
func PopupDialogCenteredRatioOptions ¶
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].
func PopupDialogOptions ¶
func PopupDialogOptions(dialog Window.Instance, rect Rect2i.PositionSize)
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].
func PopupMethodSelector ¶
Pops up an editor dialog for selecting a method from [param object]. The [param callback] must take a single argument of type [String] which will contain the name of the selected method or be empty if the dialog is canceled. If [param current_value] is provided, the method will be selected automatically in the method list, if it exists.
func PopupMethodSelectorOptions ¶
func PopupMethodSelectorOptions(obj Object.Instance, callback func(selected string), current_value string)
Pops up an editor dialog for selecting a method from [param object]. The [param callback] must take a single argument of type [String] which will contain the name of the selected method or be empty if the dialog is canceled. If [param current_value] is provided, the method will be selected automatically in the method list, if it exists.
func PopupNodeSelector ¶
func PopupNodeSelector(callback func(selected string), valid_types []string, current_value Node.Instance)
Pops up an editor dialog for selecting a [Node] from the edited scene. The [param callback] must take a single argument of type [NodePath]. It is called on the selected [NodePath] or the empty path [code]^""[/code] if the dialog is canceled. If [param valid_types] is provided, the dialog will only show Nodes that match one of the listed Node types. If [param current_value] is provided, the Node will be automatically selected in the tree, if it exists. [b]Example:[/b] Display the node selection dialog as soon as this node is added to the tree for the first time: [codeblock] func _ready():
if Engine.is_editor_hint(): EditorInterface.popup_node_selector(_on_node_selected, ["Button"])
func _on_node_selected(node_path):
if node_path.is_empty(): print("node selection canceled") else: print("selected ", node_path)
[/codeblock]
func PopupNodeSelectorOptions ¶
func PopupNodeSelectorOptions(callback func(selected string), valid_types []string, current_value Node.Instance)
Pops up an editor dialog for selecting a [Node] from the edited scene. The [param callback] must take a single argument of type [NodePath]. It is called on the selected [NodePath] or the empty path [code]^""[/code] if the dialog is canceled. If [param valid_types] is provided, the dialog will only show Nodes that match one of the listed Node types. If [param current_value] is provided, the Node will be automatically selected in the tree, if it exists. [b]Example:[/b] Display the node selection dialog as soon as this node is added to the tree for the first time: [codeblock] func _ready():
if Engine.is_editor_hint(): EditorInterface.popup_node_selector(_on_node_selected, ["Button"])
func _on_node_selected(node_path):
if node_path.is_empty(): print("node selection canceled") else: print("selected ", node_path)
[/codeblock]
func PopupPropertySelector ¶
func PopupPropertySelector(obj Object.Instance, callback func(selected string), type_filter []int32, current_value string)
Pops up an editor dialog for selecting properties from [param object]. The [param callback] must take a single argument of type [NodePath]. It is called on the selected property path (see [method NodePath.get_as_property_path]) or the empty path [code]^""[/code] if the dialog is canceled. If [param type_filter] is provided, the dialog will only show properties that match one of the listed [enum Variant.Type] values. If [param current_value] is provided, the property will be selected automatically in the property list, if it exists. [codeblock] func _ready():
if Engine.is_editor_hint(): EditorInterface.popup_property_selector(this, _on_property_selected, [TYPE_INT])
func _on_property_selected(property_path):
if property_path.is_empty(): print("property selection canceled") else: print("selected ", property_path)
[/codeblock]
func PopupPropertySelectorOptions ¶
func PopupPropertySelectorOptions(obj Object.Instance, callback func(selected string), type_filter []int32, current_value string)
Pops up an editor dialog for selecting properties from [param object]. The [param callback] must take a single argument of type [NodePath]. It is called on the selected property path (see [method NodePath.get_as_property_path]) or the empty path [code]^""[/code] if the dialog is canceled. If [param type_filter] is provided, the dialog will only show properties that match one of the listed [enum Variant.Type] values. If [param current_value] is provided, the property will be selected automatically in the property list, if it exists. [codeblock] func _ready():
if Engine.is_editor_hint(): EditorInterface.popup_property_selector(this, _on_property_selected, [TYPE_INT])
func _on_property_selected(property_path):
if property_path.is_empty(): print("property selection canceled") else: print("selected ", property_path)
[/codeblock]
func PopupQuickOpen ¶
Pops up an editor dialog for quick selecting a resource file. The [param callback] must take a single argument of type [String] which will contain the path of the selected resource or be empty if the dialog is canceled. If [param base_types] is provided, the dialog will only show resources that match these types. Only types deriving from [Resource] are supported.
func PopupQuickOpenOptions ¶
Pops up an editor dialog for quick selecting a resource file. The [param callback] must take a single argument of type [String] which will contain the path of the selected resource or be empty if the dialog is canceled. If [param base_types] is provided, the dialog will only show resources that match these types. Only types deriving from [Resource] are supported.
func ReloadSceneFromPath ¶
func ReloadSceneFromPath(scene_filepath string)
Reloads the scene at the given path.
func RestartEditor ¶
func RestartEditor()
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.
func RestartEditorOptions ¶
func RestartEditorOptions(save bool)
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.
func SaveScene ¶
func SaveScene() error
Saves the currently active scene. Returns either [constant OK] or [constant ERR_CANT_CREATE].
func SaveSceneAs ¶
func SaveSceneAs(path string)
Saves the currently active scene as a file at [param path].
func SaveSceneAsOptions ¶
Saves the currently active scene as a file at [param path].
func SelectFile ¶
func SelectFile(file string)
Selects the file, with the path provided by [param file], in the FileSystem dock.
func SetCurrentFeatureProfile ¶
func SetCurrentFeatureProfile(profile_name string)
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].
func SetDistractionFreeMode ¶
func SetDistractionFreeMode(value bool)
func SetMainScreenEditor ¶
func SetMainScreenEditor(name string)
Sets the editor's current main screen to the one specified in [param name]. [param name] must match the title of the tab in question exactly (e.g. [code]2D[/code], [code]3D[/code], [code skip-lint]Script[/code], or [code]AssetLib[/code] for default tabs).
func SetMovieMakerEnabled ¶
func SetMovieMakerEnabled(value bool)
func SetPluginEnabled ¶
Sets the enabled status of a plugin. The plugin name is the same as its directory name.
Types ¶
type Extension ¶
Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension
type ID ¶
ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.
type Instance ¶
type Instance [1]gdclass.EditorInterface
[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. [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]