Mini Kabibi Habibi

Current Path : C:/Program Files/Adobe/Adobe Photoshop 2025/Required/layouts/Fill/Bars/
Upload File :
Current File : C:/Program Files/Adobe/Adobe Photoshop 2025/Required/layouts/Fill/Bars/cxui_generate_bar.eve

layout cxui_generate_bar {
    constant:
        bar_title: '$$$/CxUI/Generate/Bar/Title=Generate Bar';

        bar_button_height: 35;
        bar_button_width:  38;
        edit_text_height:  17;
        text_button_height: bar_button_height - 7;

        drag_bar_width: 12;

    interface:
        showOptionsFlyoutButton:  false;
        showGenFillReferenceFlyoutButton: false;
        showGenerateImageReferenceFlyoutButton: false;
        showServicePickerButton: false;
        showPromptBox: true;

    view cxui_bar_window(name: bar_title,
                         placement: place_row,
                         margin: 0,
                         spacing: 0) {
        cxui_background_view(placement: place_row,
                             margin: 0, spacing: 0,
                             horizontal: align_fill,
                             vertical: align_fill) {
            cxui_drag_bar(identifier: @drag,
                          width: drag_bar_width,
                          horizontal: align_left,
                          vertical: align_fill);

            TView(width: 3);

            row(margin: 0,
                spacing: 0,
                horizontal: align_fill,
                vertical: align_fill) {

                /* This row's only purpose is to provide the gap between EditText and IconButton */
                row(horizontal : align_fill,
                    vertical: align_fill,
                    margin: [ 0, gTinyGap, 0, gTinyGap ],
                    spacing: gGap) {

                    TOptional(bind: @showPromptBox, vertical: align_center) {
                        /* The edit text font doesn't vary and the default height is a little tight so we have our own constant for it */
                        synthetic_fill_prompt(identifier: @prompt,
                                              default: '$$$/SyntheticFill/InitialPrompt=What would you like to generate? (Optional)',
                                              sample: '$$$/SyntheticFill/PromptSample=A brown felt cowboy hat with a blue silk ribbon',
                                              horizontal: align_fill,
                                              vertical: align_center,
                                              frame: 2,
                                              height: edit_text_height,
                                              maxChars: 500);
                    }

                    TOptional(bind: @showGenFillReferenceFlyoutButton) {
                        TFlyoutIconButton(identifier : @genFillReferenceFlyoutButton,
                                        horizontal: align_left,
                                        vertical: align_fill, flyoutControlId: @grfi,
                                        tooltip: '$$$/CxUI/Generate/Bar/GenFill/ReferenceImage/Tooltip=Edit your reference image.') {
                        TCustomDrawFlyoutControl(identifier: @grfi, richtooltip: true,
                                                    vertical: align_fill,
                                                    width: bar_button_width,
                                                    height: bar_button_height);
                        }
                    }

                    //flyoutControlId should be same as identifier of TCustomDrawFlyoutControl
                    TOptional(bind: @showGenerateImageReferenceFlyoutButton) {
                        TFlyoutIconButton(identifier : @generateImageReferenceFlyoutButton,
                                        horizontal: align_left,
                                        vertical: align_fill,
                                        tooltip: '$$$/CxUI/Generate/Bar/GenImage/ReferenceImage/Tooltip=Edit your reference image.',
                                        flyoutControlId: @generateImageReferenceFlyout)  {
                        TCustomDrawFlyoutControl(identifier: @generateImageReferenceFlyout,
                                                    vertical: align_fill,
                                                    width: bar_button_width,
                                                    height: bar_button_height,
                                                    richtooltip: true);
                        }
                    }

                    TOptional(bind: @showServicePickerButton) {
                        TFlyoutIconButton(identifier : @servicePickerFlyoutButton,
                                horizontal: align_left,
                                vertical: align_fill,
                                iconRootName: 'gen_ai_firefly_icon',
                                flyoutControlId: @servicePickerFlyout,
                                tooltip: '$$$/CxUI/Generate/Bar/ServicePicker/Tooltip=Choose a model.')
                        {
                           TCustomDrawFlyoutControl(identifier: @servicePickerFlyout, vertical: align_fill,
                                                    width: bar_button_width, height: bar_button_height);
                        }
                    }

                    //flyoutControlId should be same as identifier of TCustomDrawFlyoutControl, if used
                    TOptional(bind: @showOptionsFlyoutButton) {
                        TFlyoutIconButton(identifier : @optionsFlyoutButton,
                                          horizontal: align_left,
                                          vertical: align_fill,
                                          tooltip: '$$$/CxUI/Generate/Bar/GenImage/StyleEffects/Tooltip=Edit your style effects',
                                          flyoutControlId: @generateImageEffectsFlyout) {
                            TCustomDrawFlyoutControl(identifier: @generateImageEffectsFlyout,
                                                     vertical: align_fill,
                                                     width: bar_button_width,
                                                     height: bar_button_height,
                                                     richtooltip: true);
                        }
                    }

                }
                TPunchButton(identifier: @more,
                             dataType: 'int32',
                             width: bar_button_width,
                             height: bar_button_height,
                             horizontal: align_left,
                             vertical: align_center,
                             button_style: 'context_bar',
                             iconRootName: 'CxUI_More',
                             tooltip: '$$$/CxUI/Bar/Common/Button/More/Tooltip=More options');
                row(margin: [gMargin, gGap, gMargin, gGap],
                            horizontal: align_left,
                            vertical: align_fill) {
                            
                            TNarrowGroupSeparator(width: 1,
                                                  vertical: align_fill,
                                                  style: 'invert');
                }
                TIconButton(identifier: @cancel_generate,
                            dataType: 'int32',
                            button_style: 'context_bar',
                            fontColorFromTheme: true,
                            layoverText: '$$$/CxUI/Generate/Bar/Button/Back=Cancel',
                            layoverTextPosition: align_center,
                            width: bar_button_width,
                            height: bar_button_height,
                            horizontal: align_left,
                            vertical: align_center);

                /* TIconButton will add additional width from the layoverText parameter */
                TIconButton(identifier: @gen_button,
                                width: bar_button_width,
                                height: bar_button_height,
                                horizontal: align_left,
                                vertical: align_center,
                                dataType: 'int32',
                                button_style: 'context_bar_emphasized',
                                alignIconTextTogether: true,
                                fontColorFromTheme: true,
                                iconRootName: 'CxUI_GenFill',
                                layoverText: '$$$/CxUI/Generate/Bar/GenerateButtonLabel=Generate',
                                layoverTextPosition: align_right,
                                tooltip: '$$$/CxUI/Generate/Bar/GenToolTip=Generate variations');
            }
        }
    }
}