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<1, 1, bool> mRootControlDestroyed;
40 ::ll::TypedStorage<1, 1, bool> mRootControlWasInitialized;
41 ::ll::TypedStorage<8, 16, ::Json::Value> mInitGlobalVars;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VisualTreeProxy>> mProxy;
52 virtual ~VisualTree() ;
54 virtual ::std::shared_ptr<::UIControl> getControlWithName(::std::string
const& name) ;
56 virtual bool getDirty() ;
58 virtual bool getDirty(::ui::DirtyFlag flag) ;
60 virtual ::ui::DirtyFlag getDirtyValue() ;
62 virtual void addDirtyFlag(::ui::DirtyFlag flag) ;
64 virtual void measureControls(::UIControl& measureRoot) ;
66 virtual void markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control) ;
68 virtual void updateControlCollection(::std::shared_ptr<::UIControl> control) ;
70 virtual void updateControlCollectionFromRoot() ;
72 virtual void removeFromControlCollection(::std::shared_ptr<::UIControl> control) ;
74 virtual void updateControlBinds(::std::shared_ptr<::UIControl> control) ;
76 virtual void updateBindsFromRoot() ;
78 virtual void markTextEditFocusChanged() ;
80 virtual void markTextEditAlwaysListeningChanged() ;
86 MCAPI VisualTree(::std::string
const& rootControlName, ::Json::Value
const& initGlobalVars);
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::vector<::std::shared_ptr<::UIControl>>
94 getVisibleControls(::std::function<
bool(::UIControl
const&)> predicate);
96 MCAPI ::std::unique_ptr<::VisualTree> recreateControlTree(::UIControlFactory& controlFactory);
98 MCAPI
void removeDeadDependencies();
104 MCAPI
static void _destroyAsync(::TaskGroup& taskGroup, ::std::shared_ptr<::UIControl> control);
110 MCAPI
void* $ctor(::std::string
const& rootControlName, ::Json::Value
const& initGlobalVars);
122 MCAPI ::std::shared_ptr<::UIControl> $getControlWithName(::std::string
const& name);
124 MCAPI
bool $getDirty();
126 MCAPI
bool $getDirty(::ui::DirtyFlag flag);
128 MCFOLD ::ui::DirtyFlag $getDirtyValue();
130 MCAPI
void $addDirtyFlag(::ui::DirtyFlag flag);
132 MCAPI
void $measureControls(::UIControl& measureRoot);
134 MCAPI
void $markToRemoveDeadDependencies(::std::shared_ptr<::UIControl> control);
136 MCAPI
void $updateControlCollection(::std::shared_ptr<::UIControl> control);
138 MCAPI
void $updateControlCollectionFromRoot();
140 MCAPI
void $removeFromControlCollection(::std::shared_ptr<::UIControl> control);
142 MCAPI
void $updateControlBinds(::std::shared_ptr<::UIControl> control);
144 MCAPI
void $updateBindsFromRoot();
146 MCAPI
void $markTextEditFocusChanged();
148 MCAPI
void $markTextEditAlwaysListeningChanged();
Definition ControlScreenAction.h:5
Definition TaskGroup.h:61
Definition UIControlFactory.h:5
Definition UIMeasureStrategy.h:5
Definition VisualTreeProxy.h:5
Definition VisualTree.h:5