3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/ChildInsertPosition.h"
7#include "mc/client/gui/controls/UIComponent.h"
14namespace Json {
class Value; }
21 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControlFactory>> mControlFactory;
22 ::ll::TypedStorage<8, 32, ::std::string> mFactoryName;
23 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::string>> mControlIdToTemplateLookup;
24 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string const, ::Json::Value const>>> mVariables;
25 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIControl>> mControlTemplate;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::UIControl>>> mProgeny;
27 ::ll::TypedStorage<1, 1, bool> mFactoryIsChild;
28 ::ll::TypedStorage<4, 4, int> mMaxSize;
29 ::ll::TypedStorage<4, 4, ::ui::ChildInsertPosition> mInsertPosition;
39 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
41 virtual void reset() ;
47 MCAPI FactoryComponent(::UIControl& owner, ::std::weak_ptr<::UIControlFactory> factoryPtr);
49 MCAPI
void _prepareControlForDestruction(::std::shared_ptr<::UIControl> control);
53 MCAPI
void addControlIdToTemplateName(::std::string
const& controlId, ::std::string
const& templateName);
55 MCAPI
void addVariable(::std::string
const& varName, ::Json::Value
const& var);
57 MCAPI ::std::weak_ptr<::UIControl> create(::UIPropertyBag
const& properties,
bool ensureCreation);
59 MCAPI
void destroy(::std::string
const& name);
61 MCAPI
void destroyAll();
63 MCAPI
void destroyAllStartingAtIndex(uint index);
65 MCFOLD ::std::shared_ptr<::UIControl> getControlTemplate()
const;
67 MCFOLD ::std::string
const& getFactoryName()
const;
69 MCAPI
void removeExcessControls();
71 MCAPI
void setControlTemplate(::std::shared_ptr<::UIControl> controlTemplate);
73 MCAPI
void setFactoryIsChild(
bool isChild);
75 MCFOLD
void setFactoryName(::std::string
const& name);
77 MCFOLD
void setInsertPosition(::ui::ChildInsertPosition insertPosition);
79 MCAPI
void setMaxSize(
int maxSize);
85 MCAPI
void* $ctor(::UIControl& owner, ::std::weak_ptr<::UIControlFactory> factoryPtr);
91 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
Definition FactoryComponent.h:5
static MCAPI void ** $vftable()
Definition UIComponent.h:5
Definition UIControlFactory.h:5
Definition UIPropertyBag.h:5