LeviLamina
Loading...
Searching...
No Matches
DataBindingComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/UiExpression.h"
7#include "mc/client/gui/controls/BindingCondition.h"
8#include "mc/client/gui/controls/BindingType.h"
9#include "mc/client/gui/controls/UIComponent.h"
10
11// auto generated forward declare list
12// clang-format off
14class UIControl;
15// clang-format on
16
18public:
19 // DataBindingComponent inner types declare
20 // clang-format off
21 struct DataBinding;
22 // clang-format on
23
24 // DataBindingComponent inner types define
25 struct DataBinding {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, ::BindingType> bindingType;
30 ::ll::TypedStorage<4, 4, ::BindingCondition> bindingCondition;
31 ::ll::TypedStorage<8, 32, ::std::string> bindingName;
32 ::ll::TypedStorage<8, 32, ::UiExpression> bindingExpression;
33 ::ll::TypedStorage<8, 32, ::std::string> bindingNameOverride;
34 ::ll::TypedStorage<8, 32, ::std::string> collectionName;
35 ::ll::TypedStorage<8, 32, ::std::string> collectionPrefix;
36 ::ll::TypedStorage<8, 32, ::UiExpression> viewBindingSourcePropertyName;
37 ::ll::TypedStorage<8, 32, ::std::string> viewBindingTargetPropertyName;
38 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> viewBindingSourceControl;
39 ::ll::TypedStorage<4, 4, uint> collectionNameHash;
40 ::ll::TypedStorage<4, 4, uint> bindingNameHash;
41 ::ll::TypedStorage<4, 4, int> collectionIndex;
42 ::ll::TypedStorage<1, 1, bool> alreadyBoundOnce;
43 ::ll::TypedStorage<1, 1, bool> visible;
44 // NOLINTEND
45
46 public:
47 // prevent constructor by default
48 DataBinding& operator=(DataBinding const&);
49 DataBinding();
50
51 public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI DataBinding(::DataBindingComponent::DataBinding const&);
55
56 MCAPI DataBinding(::DataBindingComponent::DataBinding&&);
57
58 MCAPI ~DataBinding();
59 // NOLINTEND
60
61 public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(::DataBindingComponent::DataBinding const&);
65
66 MCAPI void* $ctor(::DataBindingComponent::DataBinding&&);
67 // NOLINTEND
68
69 public:
70 // destructor thunk
71 // NOLINTBEGIN
72 MCAPI void $dtor();
73 // NOLINTEND
74 };
75
76public:
77 // member variables
78 // NOLINTBEGIN
79 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mBindings;
80 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mPriorityBindings;
81 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mAlwaysBindings;
82 ::ll::TypedStorage<1, 1, bool> mDirty;
83 // NOLINTEND
84
85public:
86 // virtual functions
87 // NOLINTBEGIN
88 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
89
90 virtual void reset() /*override*/;
91
92 virtual ~DataBindingComponent() /*override*/;
93 // NOLINTEND
94
95public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI void _addBindings(
99 ::BindingType bindingType,
100 ::std::string const& collectionName,
101 ::UiExpression& bindingExpression,
102 ::std::string const& bindingNameOverride,
103 ::BindingCondition bindingCondition
104 );
105
106 MCAPI void
107 _bind(::ScreenController& controller, bool visible, ::std::vector<::DataBindingComponent::DataBinding>& bindings);
108
109 MCAPI void
110 _updateCustomComponentsPostBinding(::std::string_view propertyName, ::UIControl& owner, ::UiExpression expression);
111
112 MCAPI void addCollectionDetailsBinding(
113 ::std::string const& collectionName,
114 ::std::string const& collectionPrefix,
115 ::BindingCondition bindingCondition
116 );
117
118 MCAPI void addViewBinding(
119 ::std::shared_ptr<::UIControl>& sourceControl,
120 ::UiExpression sourcePropertyName,
121 ::std::string const& targetPropertyName
122 );
123 // NOLINTEND
124
125public:
126 // destructor thunk
127 // NOLINTBEGIN
128 MCAPI void $dtor();
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
135
136 MCAPI void $reset();
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCNAPI static void** $vftable();
143 // NOLINTEND
144};
Definition DataBindingComponent.h:5
static MCAPI void ** $vftable()
Definition ScreenController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition DataBindingComponent.h:13