diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-04-29 10:10:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 10:10:46 +0000 |
commit | 87535fcf292af8890520e7f346df0f41dd74353a (patch) | |
tree | 89c7f9ac26ae637f22f2db1efe69fb4aa51e9c70 /modules/ui_components.py | |
parent | 02e351880796422eac3bbaf7aa86332b588651ce (diff) | |
parent | 1ffb44b0b2c9cb5fb379274515772741a9c1dbaf (diff) | |
download | stable-diffusion-webui-gfx803-87535fcf292af8890520e7f346df0f41dd74353a.tar.gz stable-diffusion-webui-gfx803-87535fcf292af8890520e7f346df0f41dd74353a.tar.bz2 stable-diffusion-webui-gfx803-87535fcf292af8890520e7f346df0f41dd74353a.zip |
Merge branch 'dev' into Branch_AddNewFilenameGen
Diffstat (limited to 'modules/ui_components.py')
-rw-r--r-- | modules/ui_components.py | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/modules/ui_components.py b/modules/ui_components.py index 284ca0cf..64451df7 100644 --- a/modules/ui_components.py +++ b/modules/ui_components.py @@ -1,58 +1,74 @@ import gradio as gr
-class ToolButton(gr.Button, gr.components.FormComponent):
- """Small button with single emoji as text, fits inside gradio forms"""
+class FormComponent:
+ def get_expected_parent(self):
+ return gr.components.Form
- def __init__(self, **kwargs):
- super().__init__(variant="tool", **kwargs)
- def get_block_name(self):
- return "button"
+gr.Dropdown.get_expected_parent = FormComponent.get_expected_parent
-class ToolButtonTop(gr.Button, gr.components.FormComponent):
- """Small button with single emoji as text, with extra margin at top, fits inside gradio forms"""
+class ToolButton(FormComponent, gr.Button):
+ """Small button with single emoji as text, fits inside gradio forms"""
- def __init__(self, **kwargs):
- super().__init__(variant="tool-top", **kwargs)
+ def __init__(self, *args, **kwargs):
+ classes = kwargs.pop("elem_classes", [])
+ super().__init__(*args, elem_classes=["tool", *classes], **kwargs)
def get_block_name(self):
return "button"
-class FormRow(gr.Row, gr.components.FormComponent):
+class FormRow(FormComponent, gr.Row):
"""Same as gr.Row but fits inside gradio forms"""
def get_block_name(self):
return "row"
-class FormGroup(gr.Group, gr.components.FormComponent):
+class FormColumn(FormComponent, gr.Column):
+ """Same as gr.Column but fits inside gradio forms"""
+
+ def get_block_name(self):
+ return "column"
+
+
+class FormGroup(FormComponent, gr.Group):
"""Same as gr.Row but fits inside gradio forms"""
def get_block_name(self):
return "group"
-class FormHTML(gr.HTML, gr.components.FormComponent):
+class FormHTML(FormComponent, gr.HTML):
"""Same as gr.HTML but fits inside gradio forms"""
def get_block_name(self):
return "html"
-class FormColorPicker(gr.ColorPicker, gr.components.FormComponent):
+class FormColorPicker(FormComponent, gr.ColorPicker):
"""Same as gr.ColorPicker but fits inside gradio forms"""
def get_block_name(self):
return "colorpicker"
-class DropdownMulti(gr.Dropdown):
+class DropdownMulti(FormComponent, gr.Dropdown):
"""Same as gr.Dropdown but always multiselect"""
def __init__(self, **kwargs):
super().__init__(multiselect=True, **kwargs)
def get_block_name(self):
return "dropdown"
+
+
+class DropdownEditable(FormComponent, gr.Dropdown):
+ """Same as gr.Dropdown but allows editing value"""
+ def __init__(self, **kwargs):
+ super().__init__(allow_custom_value=True, **kwargs)
+
+ def get_block_name(self):
+ return "dropdown"
+
|