#include "util/movingSelector.h" #include "graphicsItem/itemPort.h" #include #include #include MovingSelector::MovingSelector(FixedPortsModel* model,QObject *parent) : BaseSelector(model,parent) { m_type = ST_moving; } MovingSelector::~MovingSelector() { } void MovingSelector::mousePressEvent(QGraphicsSceneMouseEvent* event, DesignerScene* scene,DiagramMode sceneMode) { ms_ptMouseLast = event->scenePos(); QList items = scene->selectedItems(); //updateConnectLine(items); updateConnectLineByTopology(items); } void MovingSelector::mouseMoveEvent(QGraphicsSceneMouseEvent* event, DesignerScene* scene,DiagramMode sceneMode) { ms_ptMouseLast = event->scenePos(); QList items = scene->selectedItems(); for(int n = 0; n < items.size(); n++) { GraphicsBaseItem* item = qgraphicsitem_cast(items.at(n)); if(item){ if(item->getMoveable()){ item->moveOperationCopy(ms_ptMouseLast - ms_ptMouseDown); } } } } void MovingSelector::mouseReleaseEvent(QGraphicsSceneMouseEvent* event, DesignerScene* scene,DiagramMode sceneMode) { QList items = scene->selectedItems(); for(int n = 0; n < items.size(); n++) { AbstractShape* item = qgraphicsitem_cast(items.at(n)); if(item) item->removeOperationCopy(); } updateConnectLineByTopology(items); setCursor(scene, Qt::ArrowCursor); scene->callParentEvent(event); emit setWorkingSelector(ST_base); }