// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "ConfirmDialogWidget.h" #include "Widgets/SCompoundWidget.h" #include "Parameters/SubmitToolParameters.h" class FModelInterface; class SMultiLineEditableTextBox; class SDockTab; class SWindow; class SVerticalBox; class SHorizontalBox; class SButton; class FTabManager; class SExpandableArea; class FJiraService; class FIntegrationOptionBase; class FIntegrationBoolOption; class FIntegrationTextOption; class FIntegrationComboOption; class SIntegrationWidget final : public SCompoundWidget { public: SLATE_BEGIN_ARGS(SIntegrationWidget) {} SLATE_ARGUMENT(FModelInterface*, ModelInterface) SLATE_ARGUMENT(TSharedPtr, MainWindow) SLATE_END_ARGS() void Construct(const FArguments& InArgs); virtual ~SIntegrationWidget() override; void Open(); private: TSharedRef BuildOptions(); TSharedRef CheckboxWithLabel(TSharedPtr InOutOption); TSharedRef TextWithLabel(TSharedPtr InOutOption); TSharedRef MultiTextWithLabel(TSharedPtr InOutOption); TSharedRef ComboWithLabel(TSharedPtr InOutOption); TSharedRef PerforceUserSelect(TSharedPtr InOutOption); void IntegrationValueChanged(const TSharedPtr& InOption); void UpdateUIOptions(); FReply OnRequestIntegrationClicked(); FReply OnCloseClicked(); TMap> UIOptionsWidget; TSharedPtr MainWindow; TSharedPtr ParentWindow; FModelInterface* ModelInterface; bool bAreFieldsValid; FString GetSwarmLinkText(); FString SwarmReviewID; };