/** *\file connectingSelector.h * *\brief 用来实现图元连接的selector * *\author by */ #ifndef CONNECTINGSELECTOR_H #define CONNECTINGSELECTOR_H #include "baseSelector.h" class GraphicsProjectModelItem; class ConnectingSelector : public BaseSelector { Q_OBJECT public: explicit ConnectingSelector(FixedPortsModel* model,QObject *parent = 0); virtual ~ConnectingSelector(); public: bool targetCouldConnect(GraphicsProjectModelItem* p,QPointF pos); void setTargetHighLight(bool val); //设置目标高亮 void createConnectLline(GraphicsProjectModelItem* connecting,GraphicsProjectModelItem* touched,DesignerScene* scene); public: void mousePressEvent(QGraphicsSceneMouseEvent*, DesignerScene*,DiagramMode sceneMode); void mouseMoveEvent(QGraphicsSceneMouseEvent*, DesignerScene*,DiagramMode sceneMode); void mouseReleaseEvent(QGraphicsSceneMouseEvent*, DesignerScene*,DiagramMode sceneMode); private: GraphicsProjectModelItem* m_pConnectingItem; GraphicsProjectModelItem* m_pTouchedItem; //连线时接触的对象 bool m_bReadyConnect; //准备连接 }; #endif