aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-06-13 21:33:26 -0700
committerrtk0c <[email protected]>2021-06-13 21:33:26 -0700
commit90796ccce3ef9087c1288d737738f65e188cff0b (patch)
tree6127c3833577af6cac3942736a0d357c96ea3786 /core/src/Model
parentbdee9dd0c92865e0cec2f4bbf170959df282a930 (diff)
Add table UI and single cell properties
Diffstat (limited to 'core/src/Model')
-rw-r--r--core/src/Model/Template/TableTemplate.cpp4
-rw-r--r--core/src/Model/Template/Template_Main.cpp10
-rw-r--r--core/src/Model/Workflow/Workflow_Main.cpp10
3 files changed, 20 insertions, 4 deletions
diff --git a/core/src/Model/Template/TableTemplate.cpp b/core/src/Model/Template/TableTemplate.cpp
index f2524a0..be61606 100644
--- a/core/src/Model/Template/TableTemplate.cpp
+++ b/core/src/Model/Template/TableTemplate.cpp
@@ -107,8 +107,8 @@ void TableTemplate::Resize(int newWidth, int newHeight)
}
mCells = std::move(cells);
- mColumnWidths.resize(newWidth);
- mRowHeights.resize(newHeight);
+ mColumnWidths.resize(newWidth, 80);
+ mRowHeights.resize(newHeight, 20);
}
int TableTemplate::GetRowHeight(int row) const
diff --git a/core/src/Model/Template/Template_Main.cpp b/core/src/Model/Template/Template_Main.cpp
index 8b659cf..a681c4a 100644
--- a/core/src/Model/Template/Template_Main.cpp
+++ b/core/src/Model/Template/Template_Main.cpp
@@ -8,6 +8,8 @@
#include <imgui.h>
#include <imgui_stdlib.h>
+#include <algorithm>
+#include <cstdint>
#include <fstream>
using namespace std::literals::string_view_literals;
@@ -34,8 +36,13 @@ std::string TemplateAssetList::RetrieveNameFromFile(const fs::path& file) const
std::ifstream ifs(file);
if (!ifs) return "";
+ uint64_t len;
+ ifs >> len;
+
std::string name;
- ifs >> name;
+ name.reserve(len);
+ std::copy_n(std::istreambuf_iterator(ifs), len, std::back_inserter(name));
+
return name;
}
@@ -56,6 +63,7 @@ void TemplateAssetList::SaveEmptyInstance(const SavedAsset& asset) const
std::ofstream ofs(path);
if (!ofs) return;
+ ofs << (uint64_t)asset.Name.size();
ofs << asset.Name;
ofs << static_cast<Template::Kind>(asset.Payload);
}
diff --git a/core/src/Model/Workflow/Workflow_Main.cpp b/core/src/Model/Workflow/Workflow_Main.cpp
index 77b64d3..af5103d 100644
--- a/core/src/Model/Workflow/Workflow_Main.cpp
+++ b/core/src/Model/Workflow/Workflow_Main.cpp
@@ -10,7 +10,9 @@
#include <imgui_node_editor.h>
#include <imgui_stdlib.h>
#include <tsl/robin_set.h>
+#include <algorithm>
#include <cassert>
+#include <cstdint>
#include <fstream>
#include <iostream>
#include <queue>
@@ -755,8 +757,13 @@ std::string WorkflowAssetList::RetrieveNameFromFile(const fs::path& file) const
std::ifstream ifs(file);
if (!ifs) return "";
+ uint64_t len;
+ ifs >> len;
+
std::string name;
- ifs >> name;
+ name.reserve(len);
+ std::copy_n(std::istreambuf_iterator(ifs), len, std::back_inserter(name));
+
return name;
}
@@ -777,6 +784,7 @@ void WorkflowAssetList::SaveEmptyInstance(const SavedAsset& asset) const
std::ofstream ofs(path);
if (!ofs) return;
+ ofs << (uint64_t)asset.Name.size();
ofs << asset.Name;
}