// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Types/String.h" #include "Engine/Core/Collections/Array.h" /// /// Interface for GUI data object container. /// class IGuiData { public: /// /// The GUI data types. /// enum class Type { Unknown, Text, Files }; public: /// /// Gets the data type. /// /// The data type. virtual Type GetType() const = 0; /// /// Gets data value as text. /// /// The text. virtual String GetAsText() const = 0; /// /// Gets data value as array of file paths. /// /// An array to fill with paths. virtual void GetAsFiles(Array* files) const = 0; };