// 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 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 Connect_OnClicked(); private: TSharedPtr TraceStoreConnection; TSharedPtr MainContentPanel; TSharedPtr TraceRecorderAddressTextBox; TSharedPtr RunningInstanceAddressTextBox; TSharedPtr ChannelsTextBox; /** Widget for the non-intrusive notifications. */ TSharedPtr NotificationList; FGraphEventRef ConnectTask; std::atomic bIsConnecting = false; std::atomic bIsConnectedSuccessfully = false; }; } // namespace UE::Insights