8#include <unordered_map>
25 virtual void Create()
override;
47 std::vector<Widget*>
FindByClass(
const std::string& className)
const;
51 void SetData(
const std::string& key,
const std::string& value);
52 const std::string&
GetData(
const std::string& key)
const;
55 void SetCallback(
const std::string& elementId,
const std::string& eventName,
const std::string& funcName);
56 void SetCallbackRef(
const std::string& elementId,
const std::string& eventName,
int luaRef);
63 void SetBasePath(
const std::string& basePath) { mBasePath = basePath; }
69 void UpdateDataBindings();
70 void DestroyWidgetTree();
73 std::string mXmlSource;
74 std::string mBasePath;
75 std::string mSourceFilePath;
78 Widget* mRootWidget =
nullptr;
79 Widget* mMountParent =
nullptr;
83 std::unordered_map<std::string, std::string> mDataStore;
88 std::string mFuncName;
92 std::unordered_map<std::string, EventCallback> mCallbacks;
98 std::string mElementId;
100 std::vector<ButtonTracker> mButtonTrackers;
Platform
Definition EngineTypes.h:31
Definition UIDocument.h:16
virtual glm::vec4 GetTypeColor() override
Definition UIDocument.cpp:113
const std::string & GetSourceFilePath() const
Definition UIDocument.h:64
void Unmount()
Definition UIDocument.cpp:239
virtual const char * GetTypeName() override
Definition UIDocument.cpp:118
void SetData(const std::string &key, const std::string &value)
Definition UIDocument.cpp:287
const std::string & GetBasePath() const
Definition UIDocument.h:62
void SetCallback(const std::string &elementId, const std::string &eventName, const std::string &funcName)
Definition UIDocument.cpp:343
virtual ~UIDocument()
Definition UIDocument.cpp:39
void Tick()
Definition UIDocument.cpp:361
virtual bool Import(const std::string &path, ImportOptions *options) override
Definition UIDocument.cpp:76
std::vector< Widget * > FindByClass(const std::string &className) const
Definition UIDocument.cpp:268
UIDocument()
Definition UIDocument.cpp:34
void Mount(Widget *parent)
Definition UIDocument.cpp:212
Widget * Instantiate()
Definition UIDocument.cpp:132
DECLARE_ASSET(UIDocument, Asset)
void SetSourceFilePath(const std::string &path)
Definition UIDocument.h:65
Widget * FindById(const std::string &id) const
Definition UIDocument.cpp:260
void SetBasePath(const std::string &basePath)
Definition UIDocument.h:63
virtual const char * GetTypeImportExt() override
Definition UIDocument.cpp:123
void SetCallbackRef(const std::string &elementId, const std::string &eventName, int luaRef)
Definition UIDocument.cpp:352
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition UIDocument.cpp:107
virtual void SaveStream(Stream &stream, Platform platform) override
Definition UIDocument.cpp:67
const std::string & GetData(const std::string &key) const
Definition UIDocument.cpp:293
void SetXmlSource(const std::string &xml)
Definition UIDocument.h:34
virtual void Create() override
Definition UIDocument.cpp:48
virtual void LoadStream(Stream &stream, Platform platform) override
Definition UIDocument.cpp:58
Widget * GetRootWidget() const
Definition UIDocument.cpp:276
const std::string & GetXmlSource() const
Definition UIDocument.h:61