| @ -0,0 +1,63 @@ | ||||
| #pragma once | ||||
|  | ||||
| struct FCSProjectDestination | ||||
| { | ||||
|     FCSProjectDestination(const FName InKey, FText InDisplayName, FString InName, FString InPath, const int32 Index, TSharedPtr<IPlugin> Plugin = nullptr) : | ||||
|         Key(InKey), DisplayName(MoveTemp(InDisplayName)), Name(MoveTemp(InName)), Path(MoveTemp(InPath)), Index(Index), Plugin(MoveTemp(Plugin)) {} | ||||
|  | ||||
|     FName GetKey() const { return Key; } | ||||
|     const FText& GetDisplayName() const { return DisplayName; } | ||||
| 	const FString& GetName() const { return Name; } | ||||
|     const FString& GetPath() const { return Path; } | ||||
|     int32 GetIndex() const { return Index; } | ||||
|     const TSharedPtr<IPlugin>& GetPlugin() const { return Plugin; } | ||||
|  | ||||
| private: | ||||
|     FName Key; | ||||
|     FText DisplayName; | ||||
| 	FString Name; | ||||
|     FString Path; | ||||
|     int32 Index; | ||||
|     TSharedPtr<IPlugin> Plugin; | ||||
|  | ||||
|     friend uint32 GetTypeHash(const FCSProjectDestination& ProjectDestination) | ||||
|     { | ||||
|         return GetTypeHash(ProjectDestination.Key); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| class SCSNewProjectDialog : public SCompoundWidget | ||||
| { | ||||
|  | ||||
| public: | ||||
|  | ||||
| 	SLATE_BEGIN_ARGS(SCSNewProjectDialog) {} | ||||
| 	SLATE_END_ARGS() | ||||
|  | ||||
| 	void Construct(const FArguments& InArgs); | ||||
|  | ||||
| private: | ||||
|  | ||||
|     void OnProjectDestinationChanged(TSharedPtr<FCSProjectDestination> NewProjectDestination, ESelectInfo::Type SelectInfo); | ||||
|     static TSharedRef<SWidget> OnGenerateProjectDestinationWidget(TSharedRef<FCSProjectDestination> Destination); | ||||
| 	void OnPathSelected(const FString& NewPath); | ||||
| 	FReply OnExplorerButtonClicked(); | ||||
|  | ||||
| 	void OnCancel(); | ||||
| 	void OnFinish(); | ||||
|  | ||||
| 	bool CanFinish() const; | ||||
|  | ||||
| 	void CloseWindow(); | ||||
|  | ||||
| private: | ||||
|  | ||||
| 	TSharedPtr<SEditableTextBox> PathTextBox; | ||||
|     TSharedPtr<SComboBox<TSharedRef<FCSProjectDestination>>> ProjectDestinationComboBox; | ||||
| 	TSharedPtr<SEditableTextBox> NameTextBox; | ||||
|  | ||||
| 	FString SuggestedProjectName; | ||||
|     TArray<TSharedRef<FCSProjectDestination>> ProjectDestinations; | ||||
|     int32 SelectedProjectDestinationIndex = INDEX_NONE; | ||||
|  | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user