GridFrame/diagramCavas/include/diagramEditor/editItemFactory.h

19 lines
483 B
C
Raw Normal View History

2026-05-06 19:48:33 +08:00
// dataModel.h
#pragma once
#include "diagramEditor/editItems.h"
#include "diagramEditor/dataModel.h"
#include <QGraphicsLinearLayout>
class EditItemFactory {
public:
virtual ~EditItemFactory() = default;
virtual EditBaseItem* createItem(BlockDataPtr blockData) = 0;
virtual QGraphicsLinearLayout* createLayerLayout() = 0;
static EditItemFactory* getFactory(int itemType);
protected:
virtual void setupItem(EditBaseItem* item, BlockDataPtr blockData) = 0;
};