slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
ControlFactory.h
浏览该文件的文档.
1#pragma once
2
3#include <functional>
4#include <memory>
5#include <string>
6#include <unordered_map>
7
8namespace z8::ui {
9class BaseNode;
10
16public:
17 using Creator = std::function<std::unique_ptr<BaseNode>()>;
18
20 void Register(const std::string& type, Creator creator);
21 std::unique_ptr<BaseNode> Create(const std::string& type) const;
22
23 static ControlFactory& Instance();
24
25private:
26 std::unordered_map<std::string, Creator> Creators;
27};
28} // namespace z8::ui
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition ControlFactory.h:15
std::unordered_map< std::string, Creator > Creators
Definition ControlFactory.h:26
void Register(const std::string &type, Creator creator)
Definition ControlFactory.cpp:50
ControlFactory()
Definition ControlFactory.cpp:24
static ControlFactory & Instance()
Definition ControlFactory.cpp:60
std::function< std::unique_ptr< BaseNode >()> Creator
Definition ControlFactory.h:17
std::unique_ptr< BaseNode > Create(const std::string &type) const
Definition ControlFactory.cpp:55
Definition Application.h:18