LeviLamina
Loading...
Searching...
No Matches
VisualTree.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/controls/ControlScreenAction.h"
8#include "mc/deps/json/Value.h"
9
10// auto generated forward declare list
11// clang-format off
12class TaskGroup;
13class UIControl;
16class VisualTreeProxy;
17// clang-format on
18
19class VisualTree : public ::ControlScreenAction {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIControl>> mRootControl;
24 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mInitialSelectedControl;
25 ::ll::TypedStorage<8, 32, ::std::string> mRootControlName;
26 ::ll::TypedStorage<4, 4, ::ui::DirtyFlag> mDirty;
27 ::ll::TypedStorage<1, 1, bool> mClearPersistantMeshes;
28 ::ll::TypedStorage<8, 8, ::UIMeasureStrategy*> mMeasureStrategy;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<void*, ::std::weak_ptr<::UIControl>>>>
30 mNeedsToRemoveDeadDependencies;
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIControl>>> mControlsToUpdate;
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIControl>>> mControlsToUpdateBacklog;
33 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIControl>>> mControlsToRemoveFromCollections;
34 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIControl>>> mControlsToBind;
35 ::ll::TypedStorage<1, 1, bool> mUpdateCollectionsFromRoot;
36 ::ll::TypedStorage<1, 1, bool> mUpdateBindsFromRoot;
37 ::ll::TypedStorage<1, 1, bool> mTextEditFocusChanged;
38 ::ll::TypedStorage<1, 1, bool> mTextEditAlwaysListeningChanged;
39 ::ll::TypedStorage<8, 16, ::Json::Value> mInitGlobalVars;
40 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VisualTreeProxy>> mProxy;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 VisualTree();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~VisualTree() /*override*/;
51
52 virtual ::std::shared_ptr<::UIControl> getControlWithName(::std::string const& name) /*override*/;
53
54 virtual bool getDirty() /*override*/;
55
56 virtual bool getDirty(::ui::DirtyFlag flag) /*override*/;
57
58 virtual ::ui::DirtyFlag getDirtyValue() /*override*/;
59
60 virtual void addDirtyFlag(::ui::DirtyFlag flag) /*override*/;
61
62 virtual void measureControls(::UIControl& measureRoot) /*override*/;
63
64 virtual void markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control) /*override*/;
65
66 virtual void updateControlCollection(::std::shared_ptr<::UIControl> control) /*override*/;
67
68 virtual void updateControlCollectionFromRoot() /*override*/;
69
70 virtual void removeFromControlCollection(::std::shared_ptr<::UIControl> control) /*override*/;
71
72 virtual void updateControlBinds(::std::shared_ptr<::UIControl> control) /*override*/;
73
74 virtual void updateBindsFromRoot() /*override*/;
75
76 virtual void markTextEditFocusChanged() /*override*/;
77
78 virtual void markTextEditAlwaysListeningChanged() /*override*/;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI VisualTree(::std::string const& rootControlName, ::Json::Value const& initGlobalVars);
85
86 MCAPI void clearControlsUpdate(bool clearBacklog);
87
88 MCAPI ::std::shared_ptr<::UIControl> getControlByName(::std::string const& name, bool visibleOnly);
89
90 MCAPI ::std::vector<::std::shared_ptr<::UIControl>>
91 getControls(::std::function<bool(::UIControl const&)> predicate);
92
93 MCAPI ::std::shared_ptr<::UIControl> getFirstControl(::std::function<bool(::UIControl const&)> const& predicate);
94
95 MCAPI ::std::shared_ptr<::UIControl>
96 getFirstControl(::UIControl& control, ::std::function<bool(::UIControl const&)> const& predicate);
97
98 MCAPI ::std::shared_ptr<::UIControl>
99 getFirstVisibleControl(::std::function<bool(::UIControl const&)> const& predicate);
100
101 MCAPI ::std::vector<::std::shared_ptr<::UIControl>>
102 getVisibleControls(::std::function<bool(::UIControl const&)> predicate);
103
104 MCAPI void initRootControl(::std::shared_ptr<::UIControl> rootControl);
105
106 MCAPI ::std::unique_ptr<::VisualTree> recreateControlTree(::UIControlFactory& controlFactory);
107
108 MCAPI void removeDeadDependencies();
109
110 MCAPI void setRootControlName(::std::string const& name);
111 // NOLINTEND
112
113public:
114 // static functions
115 // NOLINTBEGIN
116 MCAPI static void _destroyAsync(::TaskGroup& taskGroup, ::std::shared_ptr<::UIControl> control);
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor(::std::string const& rootControlName, ::Json::Value const& initGlobalVars);
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::shared_ptr<::UIControl> $getControlWithName(::std::string const& name);
135
136 MCAPI bool $getDirty();
137
138 MCAPI bool $getDirty(::ui::DirtyFlag flag);
139
140 MCFOLD ::ui::DirtyFlag $getDirtyValue();
141
142 MCAPI void $addDirtyFlag(::ui::DirtyFlag flag);
143
144 MCAPI void $measureControls(::UIControl& measureRoot);
145
146 MCAPI void $markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control);
147
148 MCAPI void $updateControlCollection(::std::shared_ptr<::UIControl> control);
149
150 MCAPI void $updateControlCollectionFromRoot();
151
152 MCAPI void $removeFromControlCollection(::std::shared_ptr<::UIControl> control);
153
154 MCAPI void $updateControlBinds(::std::shared_ptr<::UIControl> control);
155
156 MCAPI void $updateBindsFromRoot();
157
158 MCAPI void $markTextEditFocusChanged();
159
160 MCAPI void $markTextEditAlwaysListeningChanged();
161 // NOLINTEND
162
163public:
164 // vftables
165 // NOLINTBEGIN
166 MCNAPI static void** $vftable();
167 // NOLINTEND
168};
Definition ControlScreenAction.h:5
Definition TaskGroup.h:57
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition UIMeasureStrategy.h:5
Definition VisualTreeProxy.h:5
Definition VisualTree.h:5
static MCAPI void ** $vftable()