From 7a325e1b3be04bc54941431458903022da1643ac Mon Sep 17 00:00:00 2001 From: rtk0c Date: Thu, 3 Jun 2021 10:06:55 -0700 Subject: Create template inheritance hierarchy, object value RTTI system --- core/src/Model/Template/TableTemplate.cpp | 10 ++++++++++ core/src/Model/Template/TableTemplate.hpp | 3 +++ core/src/Model/Template/Template.hpp | 8 ++++++++ core/src/Model/Template/Template_Main.cpp | 10 ++++++++++ core/src/Model/Template/Template_RTTI.cpp | 15 +++++++++++---- 5 files changed, 42 insertions(+), 4 deletions(-) (limited to 'core/src/Model/Template') diff --git a/core/src/Model/Template/TableTemplate.cpp b/core/src/Model/Template/TableTemplate.cpp index b8444b7..28a4d6e 100644 --- a/core/src/Model/Template/TableTemplate.cpp +++ b/core/src/Model/Template/TableTemplate.cpp @@ -58,6 +58,16 @@ const TableTemplate& TableInstanciationParameters::GetTable() const return *mTable; } +bool TableTemplate::IsInstance(const Template* tmpl) +{ + return tmpl->GetKind() == KD_Table; +} + +TableTemplate::TableTemplate() + : Template(KD_Table) +{ +} + int TableTemplate::GetTableWidth() const { return mColumnWidths.size(); diff --git a/core/src/Model/Template/TableTemplate.hpp b/core/src/Model/Template/TableTemplate.hpp index f7a79e9..ed1a96f 100644 --- a/core/src/Model/Template/TableTemplate.hpp +++ b/core/src/Model/Template/TableTemplate.hpp @@ -137,6 +137,9 @@ private: std::vector mColumnWidths; public: + static bool IsInstance(const Template* tmpl); + TableTemplate(); + int GetTableWidth() const; int GetTableHeight() const; void Resize(int newWidth, int newHeight); diff --git a/core/src/Model/Template/Template.hpp b/core/src/Model/Template/Template.hpp index f7dd898..131a6ac 100644 --- a/core/src/Model/Template/Template.hpp +++ b/core/src/Model/Template/Template.hpp @@ -18,12 +18,20 @@ public: KindCount = InvalidKind, }; +private: + Kind mKind; + public: static const char* FormatKind(Kind kind); static std::unique_ptr