From af703d486e3fab8f77e63abe48a3a99a8bd8774f Mon Sep 17 00:00:00 2001 From: Variable <77773850+Variable-ind@users.noreply.github.com> Date: Sun, 10 Nov 2024 02:26:14 +0500 Subject: [PATCH] Add a way to get autoloads through the api (#1131) * add autoloads to api * A name Dilemma, There are 2 autoloads for ImportApi * add docstring --- src/Autoload/ExtensionsApi.gd | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Autoload/ExtensionsApi.gd b/src/Autoload/ExtensionsApi.gd index 3b4faaaba..e120ac9b5 100644 --- a/src/Autoload/ExtensionsApi.gd +++ b/src/Autoload/ExtensionsApi.gd @@ -381,6 +381,10 @@ class PanelAPI: ## Gives access to theme related functions. class ThemeAPI: + ## Returns the Themes autoload. Allows interacting with themes on a more deeper level. + func autoload() -> Themes: + return Themes + ## Adds the [param theme] to [code]Edit -> Preferences -> Interface -> Themes[/code]. func add_theme(theme: Theme) -> void: Themes.add_theme(theme) @@ -438,6 +442,10 @@ class ToolAPI: # gdlint: ignore=constant-name const LayerTypes := Global.LayerTypes + ## Returns the Tools autoload. Allows interacting with tools on a more deeper level. + func autoload() -> Tools: + return Tools + ## Adds a tool to pixelorama with name [param tool_name] (without spaces), ## display name [param display_name], tool scene [param scene], layers that the tool works ## on [param layer_types] defined by [constant LayerTypes], @@ -678,6 +686,11 @@ class ExportAPI: # gdlint: ignore=constant-name const ExportTab := Export.ExportTab + ## Returns the Export autoload. + ## Allows interacting with the export workflow on a more deeper level. + func autoload() -> Export: + return Export + ## [param format_info] has keys: [code]extension[/code] and [code]description[/code] ## whose values are of type [String] e.g:[codeblock] ## format_info = {"extension": ".gif", "description": "GIF Image"} @@ -730,6 +743,15 @@ class ExportAPI: ## Gives access to adding custom import options. class ImportAPI: + ## Returns the OpenSave autoload. Contains code to handle file loading. + ## It also contains code to handle project saving (.pxo) + func open_save_autoload() -> OpenSave: + return OpenSave + + ## Returns the Import autoload. Manages import of brushes and patterns. + func import_autoload() -> Import: + return Import + ## [param import_scene] is a scene preload that will be instanced and added to "import options" ## section of pixelorama's import dialogs and will appear whenever [param import_name] is ## chosen from import menu. @@ -757,6 +779,10 @@ class ImportAPI: ## Gives access to palette related stuff. class PaletteAPI: + ## Returns the Palettes autoload. Allows interacting with palettes on a more deeper level. + func autoload() -> Palettes: + return Palettes + ## Creates and adds a new [Palette] with name [param palette_name] containing [param data]. ## [param data] is a [Dictionary] containing the palette information. ## An example of [code]data[/code] will be:[codeblock]