// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "Async/TaskGraphFwd.h" #include "Input/Reply.h" #include "Templates/SharedPointer.h" #include "Widgets/SCompoundWidget.h" #include class SVerticalBox; class SCheckBox; class SEditableTextBox; class SNotificationList; namespace UE::Trace { class FStoreConnection; } namespace UE::Insights { /** Implements the Connection window. */ class SConnectionWindow : public SCompoundWidget { public: SConnectionWindow(); virtual ~SConnectionWindow(); SLATE_BEGIN_ARGS(SConnectionWindow) {} SLATE_END_ARGS() /** Constructs this widget. */ void Construct(const FArguments& InArgs, TSharedRef InTraceStoreConnection); private: TSharedRef ConstructConnectPanel(); FReply StartUnrealInsightsDirectTrace_OnClicked(); FReply Connect_OnClicked(); private: TSharedPtr TraceStoreConnection; TSharedPtr DirectTracePortTextBox; TSharedPtr DirectTraceAdditionalParamsTextBox; TSharedPtr TraceRecorderAddressTextBox; TSharedPtr RunningInstanceAddressTextBox; TSharedPtr ChannelsTextBox; TSharedPtr AutoQuitCheckBox; TSharedPtr WaitForSymbolResolverCheckBox; TSharedPtr DisableFramerateThrottleCheckBox; TSharedPtr InsightsTestCheckBox; TSharedPtr NoUICheckBox; TSharedPtr DebugToolsCheckBox; /** Widget for the non-intrusive notifications. */ TSharedPtr NotificationList; FGraphEventRef ConnectTask; std::atomic bIsConnecting = false; std::atomic bIsConnectedSuccessfully = false; }; } // namespace UE::Insights