// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. #pragma once #include "EditorStyle.h" #include "PropertyEditorModule.h" #include "IOSRuntimeSettings.h" ////////////////////////////////////////////////////////////////////////// // FIOSTargetSettingsCustomization class FIOSTargetSettingsCustomization : public IDetailCustomization { public: // Makes a new instance of this detail layout class for a specific detail view requesting it static TSharedRef MakeInstance(); // IDetailCustomization interface virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; // End of IDetailCustomization interface private: TArray IconNames; TArray LaunchImageNames; const FString EngineInfoPath; const FString GameInfoPath; const FString EngineGraphicsPath; const FString GameGraphicsPath; IDetailLayoutBuilder* SavedLayoutBuilder; // Is the manifest writable? TAttribute SetupForPlatformAttribute; private: FIOSTargetSettingsCustomization(); void BuildPListSection(IDetailLayoutBuilder& DetailLayout); void BuildIconSection(IDetailLayoutBuilder& DetailLayout); // Navigates to the plist in explorer or finder FReply OpenPlistFolder(); // Copies the setup files for the platform into the project void CopySetupFilesIntoProject(); // Called when a property that is really stored in the plist is modified void OnPlistPropertyModified(); // Builds an image row void BuildImageRow(class IDetailLayoutBuilder& DetailLayout, class IDetailCategoryBuilder& Category, const struct FPlatformIconInfo& Info, const FVector2D& MaxDisplaySize); };