Commit 09c1be96 authored by AUTOMATIC1111's avatar AUTOMATIC1111
Browse files

put some of the shared functionality into toprow

write a comment for the toprow
parent af528552
Loading
Loading
Loading
Loading
+12 −27
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import modules.hypernetworks.ui as hypernetworks_ui
import modules.textual_inversion.ui as textual_inversion_ui
import modules.textual_inversion.ui as textual_inversion_ui
import modules.textual_inversion.textual_inversion as textual_inversion
import modules.textual_inversion.textual_inversion as textual_inversion
import modules.shared as shared
import modules.shared as shared
import modules.images
from modules import prompt_parser
from modules import prompt_parser
from modules.sd_hijack import model_hijack
from modules.sd_hijack import model_hijack
from modules.sd_samplers import samplers, samplers_for_img2img
from modules.sd_samplers import samplers, samplers_for_img2img
@@ -241,6 +242,8 @@ def update_token_counter(text, steps):




class Toprow:
class Toprow:
    """Creates a top row UI with prompts, generate button, styles, extra little buttons for things, and enables some functionality related to their operation"""

    def __init__(self, is_img2img):
    def __init__(self, is_img2img):
        id_part = "img2img" if is_img2img else "txt2img"
        id_part = "img2img" if is_img2img else "txt2img"
        self.id_part = id_part
        self.id_part = id_part
@@ -251,12 +254,14 @@ class Toprow:
                    with gr.Column(scale=80):
                    with gr.Column(scale=80):
                        with gr.Row():
                        with gr.Row():
                            self.prompt = gr.Textbox(label="Prompt", elem_id=f"{id_part}_prompt", show_label=False, lines=3, placeholder="Prompt (press Ctrl+Enter or Alt+Enter to generate)", elem_classes=["prompt"])
                            self.prompt = gr.Textbox(label="Prompt", elem_id=f"{id_part}_prompt", show_label=False, lines=3, placeholder="Prompt (press Ctrl+Enter or Alt+Enter to generate)", elem_classes=["prompt"])
                            self.prompt_img = gr.File(label="", elem_id=f"{id_part}_prompt_image", file_count="single", type="binary", visible=False)


                with gr.Row():
                with gr.Row():
                    with gr.Column(scale=80):
                    with gr.Column(scale=80):
                        with gr.Row():
                        with gr.Row():
                            self.negative_prompt = gr.Textbox(label="Negative prompt", elem_id=f"{id_part}_neg_prompt", show_label=False, lines=3, placeholder="Negative prompt (press Ctrl+Enter or Alt+Enter to generate)", elem_classes=["prompt"])
                            self.negative_prompt = gr.Textbox(label="Negative prompt", elem_id=f"{id_part}_neg_prompt", show_label=False, lines=3, placeholder="Negative prompt (press Ctrl+Enter or Alt+Enter to generate)", elem_classes=["prompt"])



            self.button_interrogate = None
            self.button_interrogate = None
            self.button_deepbooru = None
            self.button_deepbooru = None
            if is_img2img:
            if is_img2img:
@@ -302,6 +307,13 @@ class Toprow:


                self.ui_styles = ui_prompt_styles.UiPromptStyles(id_part, self.prompt, self.negative_prompt)
                self.ui_styles = ui_prompt_styles.UiPromptStyles(id_part, self.prompt, self.negative_prompt)


        self.prompt_img.change(
            fn=modules.images.image_data,
            inputs=[self.prompt_img],
            outputs=[self.prompt, self.prompt_img],
            show_progress=False,
        )



def setup_progressbar(*args, **kwargs):
def setup_progressbar(*args, **kwargs):
    pass
    pass
@@ -391,7 +403,6 @@ def create_ui():
        toprow = Toprow(is_img2img=False)
        toprow = Toprow(is_img2img=False)


        dummy_component = gr.Label(visible=False)
        dummy_component = gr.Label(visible=False)
        txt_prompt_img = gr.File(label="", elem_id="txt2img_prompt_image", file_count="single", type="binary", visible=False)


        with FormRow(variant='compact', elem_id="txt2img_extra_networks", visible=False) as extra_networks:
        with FormRow(variant='compact', elem_id="txt2img_extra_networks", visible=False) as extra_networks:
            from modules import ui_extra_networks
            from modules import ui_extra_networks
@@ -556,18 +567,6 @@ def create_ui():
                show_progress=False,
                show_progress=False,
            )
            )


            txt_prompt_img.change(
                fn=modules.images.image_data,
                inputs=[
                    txt_prompt_img
                ],
                outputs=[
                    toprow.prompt,
                    txt_prompt_img
                ],
                show_progress=False,
            )

            enable_hr.change(
            enable_hr.change(
                fn=lambda x: gr_show(x),
                fn=lambda x: gr_show(x),
                inputs=[enable_hr],
                inputs=[enable_hr],
@@ -633,8 +632,6 @@ def create_ui():
    with gr.Blocks(analytics_enabled=False) as img2img_interface:
    with gr.Blocks(analytics_enabled=False) as img2img_interface:
        toprow = Toprow(is_img2img=True)
        toprow = Toprow(is_img2img=True)


        img2img_prompt_img = gr.File(label="", elem_id="img2img_prompt_image", file_count="single", type="binary", visible=False)

        with FormRow(variant='compact', elem_id="img2img_extra_networks", visible=False) as extra_networks:
        with FormRow(variant='compact', elem_id="img2img_extra_networks", visible=False) as extra_networks:
            from modules import ui_extra_networks
            from modules import ui_extra_networks
            extra_networks_ui_img2img = ui_extra_networks.create_ui(extra_networks, toprow.extra_networks_button, 'img2img')
            extra_networks_ui_img2img = ui_extra_networks.create_ui(extra_networks, toprow.extra_networks_button, 'img2img')
@@ -852,18 +849,6 @@ def create_ui():
            connect_reuse_seed(seed, reuse_seed, generation_info, dummy_component, is_subseed=False)
            connect_reuse_seed(seed, reuse_seed, generation_info, dummy_component, is_subseed=False)
            connect_reuse_seed(subseed, reuse_subseed, generation_info, dummy_component, is_subseed=True)
            connect_reuse_seed(subseed, reuse_subseed, generation_info, dummy_component, is_subseed=True)


            img2img_prompt_img.change(
                fn=modules.images.image_data,
                inputs=[
                    img2img_prompt_img
                ],
                outputs=[
                    toprow.prompt,
                    img2img_prompt_img
                ],
                show_progress=False,
            )

            img2img_args = dict(
            img2img_args = dict(
                fn=wrap_gradio_gpu_call(modules.img2img.img2img, extra_outputs=[None, '', '']),
                fn=wrap_gradio_gpu_call(modules.img2img.img2img, extra_outputs=[None, '', '']),
                _js="submit_img2img",
                _js="submit_img2img",