aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Template/Template.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-06-05 19:44:54 -0700
committerrtk0c <[email protected]>2021-06-05 19:44:54 -0700
commita180e1b56025c6b7d81d2e587ad90531d29de44c (patch)
tree1c88361320371b508c81b52a28ae0579fcdd1fd7 /core/src/Model/Template/Template.hpp
parentd3fa128d5408673b0ea8d3ba3435c38b258a5e7a (diff)
Initial work on asset system (does not compile)
Diffstat (limited to 'core/src/Model/Template/Template.hpp')
-rw-r--r--core/src/Model/Template/Template.hpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/core/src/Model/Template/Template.hpp b/core/src/Model/Template/Template.hpp
index 131a6ac..d876650 100644
--- a/core/src/Model/Template/Template.hpp
+++ b/core/src/Model/Template/Template.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "Model/Assets.hpp"
#include "cplt_fwd.hpp"
#include <filesystem>
@@ -7,7 +8,7 @@
#include <memory>
#include <string>
-class Template
+class Template : public Asset
{
public:
enum Kind
@@ -18,6 +19,9 @@ public:
KindCount = InvalidKind,
};
+ using CategoryType = TemplateAssetCategory;
+ static constinit const TemplateAssetCategory Category;
+
private:
Kind mKind;
@@ -32,7 +36,7 @@ public:
Kind GetKind() const;
- enum class ReadResult
+ enum ReadResult
{
RR_Success,
RR_InvalidFormat,
@@ -41,13 +45,13 @@ public:
virtual void WriteTo(std::ostream& stream) const = 0;
};
-class TemplateInfo
+class TemplateAssetCategory : public AssetCategory
{
public:
- std::filesystem::path Path;
- std::string Name;
- std::string PathStringCache = Path.string();
- Template::Kind Kind;
-
- std::unique_ptr<Template> LoadFromDisk() const;
+ 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 void SetupDetailsTable(const char* tableId) const override;
+ virtual void DrawBigIcon(const SavedAsset& asset) const override;
+ virtual void DrawDetailsTableRow(const SavedAsset& asset) const override;
};