From 8f0dda5eab181b0f14f2652b4e984aaaae3f258c Mon Sep 17 00:00:00 2001 From: rtk0c Date: Mon, 27 Jun 2022 18:27:13 -0700 Subject: Start from a clean slate --- core/src/Model/Workflow/Value.hpp | 94 --------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 core/src/Model/Workflow/Value.hpp (limited to 'core/src/Model/Workflow/Value.hpp') diff --git a/core/src/Model/Workflow/Value.hpp b/core/src/Model/Workflow/Value.hpp deleted file mode 100644 index 2198674..0000000 --- a/core/src/Model/Workflow/Value.hpp +++ /dev/null @@ -1,94 +0,0 @@ -#pragma once - -#include "Utils/Color.hpp" -#include "cplt_fwd.hpp" - -#include -#include -#include -#include - -class BaseValue -{ -public: - enum Kind - { - KD_Numeric, - KD_Text, - KD_DateTime, - KD_DatabaseRowId, - KD_List, - KD_Dictionary, - - KD_BaseObject, - KD_SaleDatabaseRow, - KD_PurchaseDatabaseRow, - KD_BaseObjectLast = KD_PurchaseDatabaseRow, - - /// An unspecified type, otherwise known as "any" in some contexts. - InvalidKind, - KindCount = InvalidKind, - }; - - struct KindInfo - { - ImGui::IconType PinIcon; - RgbaColor PinColor; - }; - -private: - Kind mKind; - -public: - static const KindInfo& QueryInfo(Kind kind); - static const char* Format(Kind kind); - static std::unique_ptr CreateByKind(Kind kind); - - static bool IsInstance(const BaseValue* value); - - BaseValue(Kind kind); - virtual ~BaseValue() = default; - - BaseValue(const BaseValue&) = delete; - BaseValue& operator=(const BaseValue&) = delete; - BaseValue(BaseValue&&) = default; - BaseValue& operator=(BaseValue&&) = default; - - Kind GetKind() const; - - // TODO get constant editor - - /// The functions \c ReadFrom, \c WriteTo will only be valid to call if this function returns true. - virtual bool SupportsConstant() const; - virtual void ReadFrom(std::istream& stream); - virtual void WriteTo(std::ostream& stream); -}; - -class BaseObjectDescription -{ -public: - struct Property - { - std::string Name; - BaseValue::Kind Kind; - bool Mutatable = true; - }; - -public: - std::vector Properties; -}; - -class BaseObjectValue : public BaseValue -{ -public: - /// \param kind A value kind enum, within the range of KD_BaseObject and KD_BaseObjectLast (both inclusive). - static const BaseObjectDescription& QueryObjectInfo(Kind kind); - - static bool IsInstance(const BaseValue* value); - BaseObjectValue(Kind kind); - - const BaseObjectDescription& GetObjectDescription() const; - - virtual const BaseValue* GetProperty(int idx) const = 0; - virtual bool SetProperty(int idx, std::unique_ptr value) = 0; -}; -- cgit v1.2.3-70-g09d2