LeviLamina
Loading...
Searching...
No Matches
UIPropertyBag.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/PropertyBag.h"
7
8// auto generated forward declare list
9// clang-format off
10class UIControl;
11namespace Json { class Value; }
12namespace mce { class Color; }
13// clang-format on
14
15class UIPropertyBag : public ::PropertyBag {
16public:
17 // UIPropertyBag inner types declare
18 // clang-format off
19 struct ContextObject;
21 // clang-format on
22
23 // UIPropertyBag inner types define
24 struct ContextObject {
25 public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, int> count;
29 // NOLINTEND
30 };
31
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 32, ::std::string> targetPropertyName;
37 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> targetControl;
38 ::ll::TypedStorage<
39 8,
40 64,
41 ::std::function<void(
42 ::std::weak_ptr<::UIControl> const&,
43 ::std::string_view,
44 ::Json::Value const&,
45 ::UIPropertyBag::ContextObject
46 )>>
47 callback;
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 PropertyChangedNotificationInfo& operator=(PropertyChangedNotificationInfo const&);
53 PropertyChangedNotificationInfo();
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI PropertyChangedNotificationInfo(::UIPropertyBag::PropertyChangedNotificationInfo const&);
59 // NOLINTEND
60
61 public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(::UIPropertyBag::PropertyChangedNotificationInfo const&);
65 // NOLINTEND
66 };
67
68 using PropertyChangedNotificationCallback = ::std::function<void(
69 ::std::weak_ptr<::UIControl> const&,
70 ::std::string_view,
71 ::Json::Value const&,
72 ::UIPropertyBag::ContextObject
73 )>;
74
75 using PropertyChangedNotificationInfoVector = ::std::vector<::UIPropertyBag::PropertyChangedNotificationInfo>;
76
77 using PropertyInfoList =
78 ::std::map<::std::string, ::std::vector<::UIPropertyBag::PropertyChangedNotificationInfo>, ::std::less<void>>;
79
80public:
81 // member variables
82 // NOLINTBEGIN
83 ::ll::TypedStorage<
84 8,
85 16,
86 ::std::map<::std::string, ::std::vector<::UIPropertyBag::PropertyChangedNotificationInfo>, ::std::less<void>>>
87 mPropertyChangedNotificationInfoMap;
88 // NOLINTEND
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 virtual ~UIPropertyBag();
94 // NOLINTEND
95
96public:
97 // member functions
98 // NOLINTBEGIN
99 MCAPI UIPropertyBag();
100
101 MCAPI explicit UIPropertyBag(::Json::Value const& jsonValue);
102
103 MCAPI void _handlePropertyChangedNotifications(
104 ::std::string_view sourcePropertyName,
105 ::Json::Value const& newValue,
106 ::UIPropertyBag::ContextObject context
107 );
108
109 MCAPI void append(::UIPropertyBag const& propertyBag);
110
111 MCAPI void appendNoOverwrite(::UIPropertyBag const& propertyBag);
112
113 MCAPI void clearWeakRegistrations();
114
115 MCAPI void registerForPropertyChangedNotification(
116 ::std::string const& sourcePropertyName,
117 ::std::string const& targetPropertyName,
118 ::std::weak_ptr<::UIControl> targetControl,
119 ::std::function<void(
120 ::std::weak_ptr<::UIControl> const&,
121 ::std::string_view,
122 ::Json::Value const&,
123 ::UIPropertyBag::ContextObject
124 )> const callback
125 );
126
127 MCAPI void set(::std::string_view key, ::mce::Color color);
128
129 MCAPI void set(::std::string_view key, ::glm::ivec2 gridSize);
130
131 MCAPI void set(::std::string_view key, ::glm::vec2 uv);
132 // NOLINTEND
133
134public:
135 // constructor thunks
136 // NOLINTBEGIN
137 MCAPI void* $ctor();
138
139 MCAPI void* $ctor(::Json::Value const& jsonValue);
140 // NOLINTEND
141
142public:
143 // destructor thunk
144 // NOLINTBEGIN
145 MCAPI void $dtor();
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
151 MCNAPI static void** $vftable();
152 // NOLINTEND
153};
Definition Value.h:16
Definition PropertyBag.h:8
Definition UIControl.h:5
Definition UIPropertyBag.h:5
static MCAPI void ** $vftable()
Definition Color.h:13
Definition UIPropertyBag.h:14