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 MCAPI void _addBindings(
68 ::BindingType bindingType,
69 ::std::string const& collectionName,
70 ::UiExpression& bindingExpression,
71 ::std::string const& bindingNameOverride,
72 ::BindingCondition bindingCondition
73 );
74
75 MCAPI void
76 _bind(::ScreenController& controller, bool visible, ::std::vector<::DataBindingComponent::DataBinding>& bindings);
77
78 MCAPI void
79 _updateCustomComponentsPostBinding(::std::string_view propertyName, ::UIControl& owner, ::UiExpression expression);
80
81 MCAPI void addCollectionBinding(
82 ::std::string const& collectionName,
83 ::UiExpression bindingExpression,
84 ::std::string const& bindingNameOverride,
85 ::BindingCondition bindingCondition
86 );
87
88 MCAPI void addCollectionDetailsBinding(
89 ::std::string const& collectionName,
90 ::std::string const& collectionPrefix,
91 ::BindingCondition bindingCondition
92 );
93
94 MCAPI void addGlobalBinding(
95 ::UiExpression bindingExpression,
96 ::std::string const& bindingNameOverride,
97 ::BindingCondition bindingCondition
98 );
99
100 MCAPI 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 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
111
112 MCAPI void $reset();
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCNAPI static void** $vftable();
119 // NOLINTEND
120};
Definition DataBindingComponent.h:5
static MCAPI void ** $vftable()
Definition ScreenController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition DataBindingComponent.h:13