Index: sources/model/MAbstract.h =================================================================== diff -u -r61f16c988a159401c92730b4cbfca5085c77222f -r97d593e2e7adb36f2f9f97f9bb9958dcef740bc1 --- sources/model/MAbstract.h (.../MAbstract.h) (revision 61f16c988a159401c92730b4cbfca5085c77222f) +++ sources/model/MAbstract.h (.../MAbstract.h) (revision 97d593e2e7adb36f2f9f97f9bb9958dcef740bc1) @@ -73,19 +73,37 @@ }; private: - const QMap _typeText { - {Type_Enum::eDatum, "D"}, - {Type_Enum::eEvent, "E"} - }; + typedef QMap TypeMap; + static const TypeMap _typeText; + static const TypeMap _typeText_make() { + static const TypeMap map { + {MAbstract::Type_Enum::eDatum, "D"}, + {MAbstract::Type_Enum::eEvent, "E"} + }; + return map; + } - const QMap _unitText { - {Unit_Enum::eUI, "UI"}, - {Unit_Enum::eHD, "HD"}, - {Unit_Enum::eDG, "DG"}, - {Unit_Enum::eDV, "DV"} - }; + typedef QMap UnitMap; + static const UnitMap _unitText; + static const UnitMap _unitText_make() { + static const UnitMap map { + {MAbstract::Unit_Enum::eUI, "UI"}, + {MAbstract::Unit_Enum::eHD, "HD"}, + {MAbstract::Unit_Enum::eDG, "DG"}, + {MAbstract::Unit_Enum::eDV, "DV"} + }; + return map; + } public: + static const QString unitText(const Unit_Enum &vEnum) { + return _unitText[vEnum]; + } + static const QString typeText(const Type_Enum &vEnum) { + return _typeText[vEnum]; + } + + // the model needs to implement these since each model have different meaning of the bytes from different source(unit). /*!