/** *\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 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