Skip to content
LeviMC
English
AutoLightDark
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
47public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mBindings;
51 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mPriorityBindings;
52 ::ll::TypedStorage<8, 24, ::std::vector<::DataBindingComponent::DataBinding>> mAlwaysBindings;
53 ::ll::TypedStorage<1, 1, bool> mDirty;
54 // NOLINTEND
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
60
61 virtual void reset() /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI void _addBindings(
68 ::BindingType bindingType,
69 ::std::string const& collectionName,
70 ::UiExpression& bindingExpression,
71 ::std::string const& bindingNameOverride,
72 ::BindingCondition bindingCondition
73 );
74
75 MCNAPI void
76 _bind(::ScreenController& controller, bool visible, ::std::vector<::DataBindingComponent::DataBinding>& bindings);
77
78 MCNAPI void
79 _updateCustomComponentsPostBinding(::std::string_view propertyName, ::UIControl& owner, ::UiExpression expression);
80
82 ::std::string const& collectionName,
83 ::UiExpression bindingExpression,
84 ::std::string const& bindingNameOverride,
85 ::BindingCondition bindingCondition
86 );
87
89 ::std::string const& collectionName,
90 ::std::string const& collectionPrefix,
91 ::BindingCondition bindingCondition
92 );
93
94 MCNAPI void addGlobalBinding(
95 ::UiExpression bindingExpression,
96 ::std::string const& bindingNameOverride,
97 ::BindingCondition bindingCondition
98 );
99
100 MCNAPI void addViewBinding(
101 ::std::shared_ptr<::UIControl>& sourceControl,
102 ::UiExpression sourcePropertyName,
103 ::std::string const& targetPropertyName
104 );
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCNAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
111
112 MCNAPI void $reset();
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCNAPI static void** $vftable();
119 // NOLINTEND
120};
Definition DataBindingComponent.h:5
MCAPI ::std::unique_ptr<::UIComponent > $clone(::UIControl &cloneOwner) const
MCAPI void _bind(::ScreenController &controller, bool visible, ::std::vector<::DataBindingComponent::DataBinding > &bindings)
MCAPI void _addBindings(::BindingType bindingType, ::std::string const &collectionName, ::UiExpression &bindingExpression, ::std::string const &bindingNameOverride, ::BindingCondition bindingCondition)
MCAPI void addGlobalBinding(::UiExpression bindingExpression, ::std::string const &bindingNameOverride, ::BindingCondition bindingCondition)
static MCAPI void ** $vftable()
MCAPI void addViewBinding(::std::shared_ptr<::UIControl > &sourceControl, ::UiExpression sourcePropertyName, ::std::string const &targetPropertyName)
MCAPI void addCollectionBinding(::std::string const &collectionName, ::UiExpression bindingExpression, ::std::string const &bindingNameOverride, ::BindingCondition bindingCondition)
MCAPI void $reset()
MCAPI void addCollectionDetailsBinding(::std::string const &collectionName, ::std::string const &collectionPrefix, ::BindingCondition bindingCondition)
MCAPI void _updateCustomComponentsPostBinding(::std::string_view propertyName, ::UIControl &owner, ::UiExpression expression)
Definition ScreenController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition UiExpression.h:5
Definition DataBindingComponent.h:13