3#include "mc/_HeaderOutputPredefine.h"
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"
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;
48 DataBinding& operator=(DataBinding
const&);
54 MCAPI DataBinding(::DataBindingComponent::DataBinding
const&);
62 MCAPI
void* $ctor(::DataBindingComponent::DataBinding
const&);
75 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mBindings;
76 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mPriorityBindings;
77 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mAlwaysBindings;
78 ::ll::TypedStorage<1, 1, bool> mDirty;
83 DataBindingComponent();
88 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
90 virtual void reset() ;
96 MCAPI
explicit DataBindingComponent(::UIControl& owner);
98 MCAPI
void _addBindings(
99 ::BindingType bindingType,
100 ::std::string
const& collectionName,
101 ::UiExpression& bindingExpression,
102 ::std::string
const& bindingNameOverride,
103 ::BindingCondition bindingCondition
107 _bind(::ScreenController& controller,
bool visible, ::std::vector<::DataBindingComponent::DataBinding>& bindings);
109 MCAPI
bool _isCollectionSizeBinding(::DataBindingComponent::DataBinding
const& binding)
const;
111 MCAPI
void _updateCollectionBindingIndicies();
114 _updateCustomComponentsPostBinding(::std::string_view propertyName, ::UIControl& owner, ::UiExpression expression);
116 MCAPI
void addCollectionBinding(
117 ::std::string
const& collectionName,
118 ::UiExpression bindingExpression,
119 ::std::string
const& bindingNameOverride,
120 ::BindingCondition bindingCondition
123 MCAPI
void addCollectionDetailsBinding(
124 ::std::string
const& collectionName,
125 ::std::string
const& collectionPrefix,
126 ::BindingCondition bindingCondition
129 MCAPI
void addGlobalBinding(
130 ::UiExpression bindingExpression,
131 ::std::string
const& bindingNameOverride,
132 ::BindingCondition bindingCondition
135 MCAPI
void addViewBinding(
136 ::std::shared_ptr<::UIControl>& sourceControl,
137 ::UiExpression sourcePropertyName,
138 ::std::string
const& targetPropertyName
141 MCAPI
void bindAlwaysBinds(::ScreenController& controller,
bool visible);
143 MCAPI
void bindHighPriorityBinds(::ScreenController& controller,
bool visible);
145 MCAPI
void bindLowPriorityBinds(::ScreenController& controller,
bool visible);
147 MCFOLD
bool getDirty()
const;
149 MCAPI
bool hasAlwaysBinds()
const;
151 MCFOLD
void setDirty(
bool dirty);
157 MCAPI
void* $ctor(::UIControl& owner);
163 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
Definition DataBindingComponent.h:5
static MCAPI void ** $vftable()
Definition ScreenController.h:5
Definition UIComponent.h:5
Definition DataBindingComponent.h:13