aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Template/Template.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Model/Template/Template.hpp')
-rw-r--r--core/src/Model/Template/Template.hpp19
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;