GUIFramework 1.1.0
Framework for desktop GUI applications in C++.
Loading...
Searching...
No Matches
ListTextIconListViewDeserializer.cpp
Go to the documentation of this file.
2
4#include "GUIFramework.h"
6
7using namespace std;
8
9namespace gui_framework
10{
11 namespace deserializers
12 {
13 BaseComponent* ListTextIconListViewDeserializer::deserialize(const string& componentName, const json::utility::jsonObject& description, BaseComposite* parent) const
14 {
15 using json::utility::jsonObject;
16
18
19 parser.parse(description);
20
21 ListTextIconListView* result = nullptr;
22 uint32_t codepage = interfaces::ISerializable::getCodepage();
24 vector<pair<wstring, filesystem::path>> values;
25
26 values.reserve(parser.values.size());
27
28 for (size_t i = 0; i < parser.values.size(); i++)
29 {
30 values.emplace_back(parser.values[i], parser.icons[i]);
31 }
32
34
35 result = static_cast<ListTextIconListView*>(creator->create(utility::to_wstring(componentName, codepage), parser.settings, creationData.getData(), parent));
36
37 result->setBackgroundColor(parser.backgroundColor[0], parser.backgroundColor[1], parser.backgroundColor[2]);
38
39 result->setTextColor(parser.textColor[0], parser.textColor[1], parser.textColor[2]);
40
41 return result;
42 }
43 }
44}
std::unique_ptr< T > smartPointerType
Compatible smart pointer type.
Base class for all windows, controls, etc.
Base class for all windows that has children windows.
virtual void setTextColor(uint8_t red, uint8_t green, uint8_t blue) override
virtual void setBackgroundColor(uint8_t red, uint8_t green, uint8_t blue) final override
const std::unordered_map< size_t, smartPointerType< utility::BaseComponentCreator > > & getCreators() const
Get all current registered creators.
static GUIFramework & get()
Singleton instance access.
Standard list view in list mode with text and icon items.
BaseComponent * deserialize(const std::string &componentName, const json::utility::jsonObject &description, BaseComposite *parent) const override
Created component pointer already handled by its parent.
Base templated class for component creators.
wstring to_wstring(const string &stringToConvert, uint32_t codepage)
Definition Utility.cpp:82
std::vector< std::filesystem::path > icons
Parse TextIconListView and ListTextIconListView specific properties.
void parse(const json::utility::jsonObject &description) override