3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/controls/ControlScreenAction.h"
8#include "mc/deps/json/Value.h"
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;
50 virtual ~VisualTree() ;
52 virtual ::std::shared_ptr<::UIControl> getControlWithName(::std::string
const& name) ;
54 virtual bool getDirty() ;
56 virtual bool getDirty(::ui::DirtyFlag flag) ;
58 virtual ::ui::DirtyFlag getDirtyValue() ;
60 virtual void addDirtyFlag(::ui::DirtyFlag flag) ;
62 virtual void measureControls(::UIControl& measureRoot) ;
64 virtual void markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control) ;
66 virtual void updateControlCollection(::std::shared_ptr<::UIControl> control) ;
68 virtual void updateControlCollectionFromRoot() ;
70 virtual void removeFromControlCollection(::std::shared_ptr<::UIControl> control) ;
72 virtual void updateControlBinds(::std::shared_ptr<::UIControl> control) ;
74 virtual void updateBindsFromRoot() ;
76 virtual void markTextEditFocusChanged() ;
78 virtual void markTextEditAlwaysListeningChanged() ;
84 MCAPI VisualTree(::std::string
const& rootControlName, ::Json::Value
const& initGlobalVars);
86 MCAPI
void clearControlsUpdate(
bool clearBacklog);
88 MCAPI ::std::shared_ptr<::UIControl> getControlByName(::std::string
const& name,
bool visibleOnly);
90 MCAPI ::std::vector<::std::shared_ptr<::UIControl>>
91 getControls(::std::function<
bool(::UIControl
const&)> predicate);
93 MCAPI ::std::shared_ptr<::UIControl> getFirstControl(::std::function<
bool(::UIControl
const&)>
const& predicate);
95 MCAPI ::std::shared_ptr<::UIControl>
96 getFirstControl(::UIControl& control, ::std::function<
bool(::UIControl
const&)>
const& predicate);
98 MCAPI ::std::shared_ptr<::UIControl>
99 getFirstVisibleControl(::std::function<
bool(::UIControl
const&)>
const& predicate);
101 MCAPI ::std::vector<::std::shared_ptr<::UIControl>>
102 getVisibleControls(::std::function<
bool(::UIControl
const&)> predicate);
104 MCAPI
void initRootControl(::std::shared_ptr<::UIControl> rootControl);
106 MCAPI ::std::unique_ptr<::VisualTree> recreateControlTree(::UIControlFactory& controlFactory);
108 MCAPI
void removeDeadDependencies();
110 MCAPI
void setRootControlName(::std::string
const& name);
116 MCAPI
static void _destroyAsync(::TaskGroup& taskGroup, ::std::shared_ptr<::UIControl> control);
122 MCAPI
void* $ctor(::std::string
const& rootControlName, ::Json::Value
const& initGlobalVars);
134 MCAPI ::std::shared_ptr<::UIControl> $getControlWithName(::std::string
const& name);
136 MCAPI
bool $getDirty();
138 MCAPI
bool $getDirty(::ui::DirtyFlag flag);
140 MCFOLD ::ui::DirtyFlag $getDirtyValue();
142 MCAPI
void $addDirtyFlag(::ui::DirtyFlag flag);
144 MCAPI
void $measureControls(::UIControl& measureRoot);
146 MCAPI
void $markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control);
148 MCAPI
void $updateControlCollection(::std::shared_ptr<::UIControl> control);
150 MCAPI
void $updateControlCollectionFromRoot();
152 MCAPI
void $removeFromControlCollection(::std::shared_ptr<::UIControl> control);
154 MCAPI
void $updateControlBinds(::std::shared_ptr<::UIControl> control);
156 MCAPI
void $updateBindsFromRoot();
158 MCAPI
void $markTextEditFocusChanged();
160 MCAPI
void $markTextEditAlwaysListeningChanged();
Definition ControlScreenAction.h:5
Definition TaskGroup.h:57
Definition UIControlFactory.h:5
Definition UIMeasureStrategy.h:5
Definition VisualTreeProxy.h:5
Definition VisualTree.h:5
static MCAPI void ** $vftable()