// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "Containers/Array.h" #include "Templates/SharedPointer.h" #include "Widgets/DeclarativeSyntaxSupport.h" #include "Widgets/SCompoundWidget.h" #include "Widgets/Input/SComboBox.h" class FString; class ITargetDeviceServiceManager; class SButton; class SEditableTextBox; class SOverlay; /** * Implements a widget for manually locating target devices. */ class SDeviceBrowserDeviceAdder : public SCompoundWidget { public: SLATE_BEGIN_ARGS(SDeviceBrowserDeviceAdder) { } SLATE_END_ARGS() public: /** * Construct the widget. * * @param InArgs The construction arguments. * @param InDeviceManager The target device manager to use. */ void Construct(const FArguments& InArgs, const TSharedRef& InDeviceServiceManager); protected: /** Refreshes the list of known platforms. */ void RefreshPlatformList(); private: /** The button for adding an unlisted device. */ TSharedPtr AddButton; /** Panel on which custom widget will be placed */ TSharedPtr CustomPlatformWidgetPanel; /** Platform customizable widget */ TSharedPtr CustomPlatformWidget; /** Holds a pointer to the target device service manager. */ TSharedPtr DeviceServiceManager; /** The platforms combo box. */ TSharedPtr>> PlatformComboBox; /** The list of known platforms. */ TArray> PlatformList; };