diff options
author | rtk0c <[email protected]> | 2021-06-07 12:19:51 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-06-07 12:19:51 -0700 |
commit | d7ee2efaca226fc478e3f0c78abdbe86a887f17a (patch) | |
tree | 81670fefb7cdba3c5fa0ab890f7d84e24c194bdb /core/src/Model/Template/Template.hpp | |
parent | a180e1b56025c6b7d81d2e587ad90531d29de44c (diff) |
Complete asset loading/saving and UI management logic
Diffstat (limited to 'core/src/Model/Template/Template.hpp')
-rw-r--r-- | core/src/Model/Template/Template.hpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/core/src/Model/Template/Template.hpp b/core/src/Model/Template/Template.hpp index d876650..600bb26 100644 --- a/core/src/Model/Template/Template.hpp +++ b/core/src/Model/Template/Template.hpp @@ -19,8 +19,7 @@ public: KindCount = InvalidKind, }; - using CategoryType = TemplateAssetCategory; - static constinit const TemplateAssetCategory Category; + using CategoryType = TemplateAssetList; private: Kind mKind; @@ -45,12 +44,20 @@ public: virtual void WriteTo(std::ostream& stream) const = 0; }; -class TemplateAssetCategory : public AssetCategory +class TemplateAssetList final : public AssetListTyped<Template> { -public: +protected: virtual void DiscoverFiles(const std::function<void(SavedAsset)>& callback) const override; - virtual Template* CreateEmpty(const SavedAsset& diskForm) const override; - virtual Template* Load(const SavedAsset& diskForm) const override; + + virtual std::string RetrieveNameFromFile(const std::filesystem::path& file) const override; + virtual uuids::uuid RetrieveUuidFromFile(const std::filesystem::path& file) const override; + virtual std::filesystem::path RetrievePathFromAsset(const SavedAsset& asset) const override; + + virtual void SaveEmptyInstance(const SavedAsset& asset) const override; + virtual Template* CreateEmptyInstance(const SavedAsset& diskForm) const override; + + virtual Template* LoadImpl(const SavedAsset& diskForm) const override; + virtual void SetupDetailsTable(const char* tableId) const override; virtual void DrawBigIcon(const SavedAsset& asset) const override; virtual void DrawDetailsTableRow(const SavedAsset& asset) const override; |