blob: 9efbeae2e9016faed5e92097051e20983f25177e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
#include "Template.hpp"
#include "Model/GlobalStates.hpp"
#include "Model/Project.hpp"
#include <imgui.h>
#include <fstream>
using namespace std::literals::string_view_literals;
constinit const TemplateAssetCategory Template::Category{};
Template::Template(Kind kind)
: mKind{ kind }
{
}
Template::Kind Template::GetKind() const
{
return mKind;
}
void TemplateAssetCategory::DiscoverFiles(const std::function<void(SavedAsset)>& callback) const
{
auto& gs = GlobalStates::GetInstance();
DiscoverFilesByExtension(callback, gs.GetCurrentProject()->GetTemplatesDirectory(), ".cplt-template"sv);
}
Template* TemplateAssetCategory::CreateEmpty(const SavedAsset& diskForm) const
{
// TODO
}
Template* TemplateAssetCategory::Load(const SavedAsset& diskForm) const
{
std::ifstream ifs(diskForm.Path);
if (!ifs) return nullptr;
uint32_t iKind;
ifs >> iKind;
auto kind = (Template::Kind)iKind;
auto tmpl = Template::CreateByKind(kind);
auto res = tmpl->ReadFrom(ifs);
if (res != Template::RR_Success) {
return nullptr;
}
return tmpl.release();
}
void TemplateAssetCategory::SetupDetailsTable(const char* tableId) const
{
ImGui::BeginTable(tableId, 3);
ImGui::TableSetupColumn("Name");
ImGui::TableSetupColumn("Type");
ImGui::TableSetupColumn("Modified time");
ImGui::TableHeadersRow();
}
void TemplateAssetCategory::DrawBigIcon(const SavedAsset& asset) const
{
// TODO
}
void TemplateAssetCategory::DrawDetailsTableRow(const SavedAsset& asset) const
{
ImGui::TableNextColumn();
ImGui::TextUnformatted(asset.Name.c_str());
ImGui::TableNextColumn();
// TODO
//ImGui::TextUnformatted(Template::FormatKind(asset.));
ImGui::TableNextColumn();
// TODO
}
|