DiagramDesigner/include/util/creatingSelector.h

48 lines
1.0 KiB
C++

/**
*\file creatingSelector.h
*
*\brief 用来实现图元创建的selector
*
*\author dsc
*/
#ifndef CREATINGSELECTOR_H
#define CREATINGSELECTOR_H
#include "baseSelector.h"
#include "global.h"
enum CreatingMethod
{
CM_drag, //多拽,默认的创建方式
CM_click //单击点选,如多边形、线段等
};
class GraphicsBaseItem;
class DesignerScene;
class CreatingSelector : public BaseSelector
{
Q_OBJECT
public:
explicit CreatingSelector(QObject *parent = 0);
virtual ~CreatingSelector();
public:
virtual void mousePressEvent(QGraphicsSceneMouseEvent*, DesignerScene*);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*, DesignerScene*);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*, DesignerScene*);
void setCreatingItem(GraphicsItemType& type) { m_creatingItemType=type; }
private:
CreatingMethod m_creatingMethod;
GraphicsItemType m_creatingItemType;
GraphicsBaseItem* m_pCreatingItem;
QPointF m_scalBasePoint;
};
#endif