/** *\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(FixedPortsModel* model,QObject *parent = 0); virtual ~CreatingSelector(); public: virtual void mousePressEvent(QGraphicsSceneMouseEvent*, DesignerScene*); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*, DesignerScene*); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*, DesignerScene*); void setCreatingItem(modelStateInfo& info) { m_creatingItemInfo=info; } private: CreatingMethod m_creatingMethod; modelStateInfo m_creatingItemInfo; GraphicsBaseItem* m_pCreatingItem; QPointF m_scalBasePoint; }; #endif