DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAGraphicsItemFactory.h
1#ifndef DAGRAPHICSITEMFACTORY_H
2#define DAGRAPHICSITEMFACTORY_H
3#include <QHash>
4#include "DAGraphicsViewGlobal.h"
5#include <functional>
6#include "DAGraphicsItem.h"
7namespace DA
8{
14class DAGRAPHICSVIEW_API DAGraphicsItemFactory
15{
16public:
17 using FpItemCreate = std::function< QGraphicsItem*() >;
18
19public:
21 virtual ~DAGraphicsItemFactory();
22 // 工厂初始化,此初始化会注册DAGraphicsView库里面的元件
23 static void initialization();
24 // 注册
25 static void registItem(const QString& className, FpItemCreate fp);
26 // 创建item
27 static QGraphicsItem* createItem(const QString& className);
28 static QGraphicsItem* createItem(int itemType);
29 // 销毁item
30 static void destoryItem(DAGraphicsItem* i);
31 // 生成一个id,rand建议传入对应指针的截断值
32 static uint64_t generateID(uint32_t rand);
33};
34}
35
36#endif // DAGRAPHICSITEMFACTORY_H
DAGraphicsItem的工厂类,工厂类负责DAGraphicsItem的反射工作
Definition DAGraphicsItemFactory.h:15
DAGraphicsView的基本元件
Definition DAGraphicsItem.h:19
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44