DiagramDesigner/diagramCavas/include/util/connectingSelector.h

39 lines
1.2 KiB
C++

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