From fa4295e1f2cbb0b7df2a5ded82c5c8762cb9d960 Mon Sep 17 00:00:00 2001 From: Nemrav <> Date: Thu, 5 Sep 2024 17:38:19 -0300 Subject: in progress format type --- src/openvic-simulation/types/Format.hpp | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/openvic-simulation/types/Format.hpp diff --git a/src/openvic-simulation/types/Format.hpp b/src/openvic-simulation/types/Format.hpp new file mode 100644 index 0000000..301ffa6 --- /dev/null +++ b/src/openvic-simulation/types/Format.hpp @@ -0,0 +1,40 @@ +#pragma once + +#include "openvic-simulation/types/IdentifierRegistry.hpp" +#include +//#include "openvic-simulation/interface/GFXSprite.hpp" + +using namespace OpenVic; +using namespace OpenVic::NodeTools; + +struct AlignedElement { +public: + enum class format_t { + left, centre, right, justified + }; + +private: + format_t PROPERTY(format); + +protected: + AlignedElement(); + + //bool _fill_key_map(NodeTools::case_insensitive_key_map_t& key_map, UIManager const& ui_manager) override; + + bool _fill_key_map(case_insensitive_key_map_t& key_map) { + using enum format_t; + static const string_map_t format_map = { + { "left", left }, { "right", right }, { "centre", centre }, { "center", centre }, { "justified", justified } + }; + return add_key_map_entries(key_map, + "format", ZERO_OR_ONE, expect_identifier(expect_mapped_string(format_map, assign_variable_callback(format)) + )); + } + + +public: + AlignedElement(AlignedElement&&) = default; + virtual ~AlignedElement() = default; + + //OV_DETAIL_GET_TYPE +}; -- cgit v1.2.3-56-ga3b1