DiagramDesigner/diagramCavas/include/util/connectingSelector.h

39 lines
1.1 KiB
C++

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