GridFrame/diagramCavas/include/diagramEditor/editItemFactory.h

19 lines
483 B
C++

// 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;
};