diff options
author | rtk0c <[email protected]> | 2021-06-11 22:19:23 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-06-11 22:19:23 -0700 |
commit | bdee9dd0c92865e0cec2f4bbf170959df282a930 (patch) | |
tree | af9d40cb4378ee2166574faed9cc16e283110f31 /core/src/Model/Template | |
parent | 8f7daa9bd100345d7e23639604c9a3a50ce6448b (diff) |
More UI polishing and fix asset saving/reloading
Diffstat (limited to 'core/src/Model/Template')
-rw-r--r-- | core/src/Model/Template/TableTemplate.cpp | 10 | ||||
-rw-r--r-- | core/src/Model/Template/Template.hpp | 4 | ||||
-rw-r--r-- | core/src/Model/Template/Template_Main.cpp | 14 |
3 files changed, 14 insertions, 14 deletions
diff --git a/core/src/Model/Template/TableTemplate.cpp b/core/src/Model/Template/TableTemplate.cpp index 28a4d6e..f2524a0 100644 --- a/core/src/Model/Template/TableTemplate.cpp +++ b/core/src/Model/Template/TableTemplate.cpp @@ -88,17 +88,15 @@ void TableTemplate::Resize(int newWidth, int newHeight) int tableWidth = GetTableWidth(); int tableHeight = GetTableHeight(); - int yEnd = std::min(tableHeight, newHeight); - int xEnd = std::min(tableWidth, newWidth); - for (int y = 0; y < yEnd; ++y) { + for (int y = 0; y < newHeight; ++y) { if (y >= tableHeight) { - for (int x = 0; x < xEnd; ++x) { + for (int x = 0; x < newWidth; ++x) { cells.push_back(TableCell{}); } continue; } - for (int x = 0; x < xEnd; ++x) { + for (int x = 0; x < newWidth; ++x) { if (x >= tableWidth) { cells.push_back(TableCell{}); } else { @@ -109,6 +107,8 @@ void TableTemplate::Resize(int newWidth, int newHeight) } mCells = std::move(cells); + mColumnWidths.resize(newWidth); + mRowHeights.resize(newHeight); } int TableTemplate::GetRowHeight(int row) const diff --git a/core/src/Model/Template/Template.hpp b/core/src/Model/Template/Template.hpp index 7cfbb8b..7d43130 100644 --- a/core/src/Model/Template/Template.hpp +++ b/core/src/Model/Template/Template.hpp @@ -52,6 +52,10 @@ private: NameSelectionError mACNewNameError = NameSelectionError::Empty; Template::Kind mACNewKind = Template::InvalidKind; +public: + // Inherit constructors + using AssetListTyped::AssetListTyped; + protected: virtual void DiscoverFiles(const std::function<void(SavedAsset)>& callback) const override; diff --git a/core/src/Model/Template/Template_Main.cpp b/core/src/Model/Template/Template_Main.cpp index 7dd5f87..8b659cf 100644 --- a/core/src/Model/Template/Template_Main.cpp +++ b/core/src/Model/Template/Template_Main.cpp @@ -25,8 +25,8 @@ Template::Kind Template::GetKind() const void TemplateAssetList::DiscoverFiles(const std::function<void(SavedAsset)>& callback) const { - auto& gs = GlobalStates::GetInstance(); - DiscoverFilesByExtension(callback, gs.GetCurrentProject()->GetTemplatesDirectory(), ".cplt-template"sv); + auto dir = GetConnectedProject().GetTemplatesDirectory(); + DiscoverFilesByExtension(callback, dir, ".cplt-template"sv); } std::string TemplateAssetList::RetrieveNameFromFile(const fs::path& file) const @@ -46,12 +46,8 @@ uuids::uuid TemplateAssetList::RetrieveUuidFromFile(const fs::path& file) const fs::path TemplateAssetList::RetrievePathFromAsset(const SavedAsset& asset) const { - auto uuid = uuids::uuid_random_generator{}(); - auto fileName = uuids::to_string(uuid); - fileName.append(".cplt-template"); - - auto& gs = GlobalStates::GetInstance(); - return gs.GetCurrentProject()->GetTemplatePath(fileName); + auto fileName = uuids::to_string(asset.Uuid); + return GetConnectedProject().GetTemplatePath(fileName); } void TemplateAssetList::SaveEmptyInstance(const SavedAsset& asset) const @@ -183,7 +179,7 @@ void TemplateAssetList::DrawBigIcon(ListState& state, const SavedAsset& asset) c void TemplateAssetList::DrawDetailsTableRow(ListState& state, const SavedAsset& asset) const { ImGui::TableNextColumn(); - if (ImGui::Selectable(asset.Name.c_str(), state.SelectedAsset == &asset, ImGuiSelectableFlags_SpanAllColumns)) { + if (ImGui::Selectable(asset.Name.c_str(), state.SelectedAsset == &asset, ImGuiSelectableFlags_SpanAllColumns | ImGuiSelectableFlags_DontClosePopups)) { state.SelectedAsset = &asset; } |