aboutsummaryrefslogtreecommitdiff
path: root/modules/script_callbacks.py
diff options
context:
space:
mode:
authoryfszzx <yfszzx@gmail.com>2022-10-23 16:17:37 +0800
committeryfszzx <yfszzx@gmail.com>2022-10-23 16:17:37 +0800
commit6a9ea40d7f64139f23d634efd7c2fb2c743a546f (patch)
tree8d420a5590c09e1d4c005a709166479856e70580 /modules/script_callbacks.py
parent67b78f0ea6f196bfdca49932da062631bb40d0b1 (diff)
parent1ef32c8b8fa3e16a1e7b287eb19d4fc943d1f2a5 (diff)
Move browser and Inspiration into extension
Diffstat (limited to 'modules/script_callbacks.py')
-rw-r--r--modules/script_callbacks.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/modules/script_callbacks.py b/modules/script_callbacks.py
new file mode 100644
index 00000000..5bcccd67
--- /dev/null
+++ b/modules/script_callbacks.py
@@ -0,0 +1,53 @@
+
+callbacks_model_loaded = []
+callbacks_ui_tabs = []
+callbacks_ui_settings = []
+
+
+def clear_callbacks():
+ callbacks_model_loaded.clear()
+ callbacks_ui_tabs.clear()
+
+
+def model_loaded_callback(sd_model):
+ for callback in callbacks_model_loaded:
+ callback(sd_model)
+
+
+def ui_tabs_callback():
+ res = []
+
+ for callback in callbacks_ui_tabs:
+ res += callback() or []
+
+ return res
+
+
+def ui_settings_callback():
+ for callback in callbacks_ui_settings:
+ callback()
+
+
+def on_model_loaded(callback):
+ """register a function to be called when the stable diffusion model is created; the model is
+ passed as an argument"""
+ callbacks_model_loaded.append(callback)
+
+
+def on_ui_tabs(callback):
+ """register a function to be called when the UI is creating new tabs.
+ The function must either return a None, which means no new tabs to be added, or a list, where
+ each element is a tuple:
+ (gradio_component, title, elem_id)
+
+ gradio_component is a gradio component to be used for contents of the tab (usually gr.Blocks)
+ title is tab text displayed to user in the UI
+ elem_id is HTML id for the tab
+ """
+ callbacks_ui_tabs.append(callback)
+
+
+def on_ui_settings(callback):
+ """register a function to be called before UI settings are populated; add your settings
+ by using shared.opts.add_option(shared.OptionInfo(...)) """
+ callbacks_ui_settings.append(callback)