void OSCItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { if (doPan_) { QPointF newPos = event->scenePos(); path_->translate(newPos-lastPos_); lastPos_ = newPos; setPath(*path_); QVector2D vec; RSystemElementRoad * nearestRoad = oscEditor_->findClosestRoad( newPos, s_, t_, vec); if (!nearestRoad) { nearestRoad = road_; } if (nearestRoad != closestRoad_) { RoadItem *nearestRoadItem = roadSystemItem_->getRoadItem(nearestRoad->getID()); nearestRoadItem->setHighlighting(true); setZValue(nearestRoadItem->zValue() + 1); roadSystemItem_->getRoadItem(closestRoad_->getID())->setHighlighting(false); closestRoad_ = nearestRoad; } GraphElement::mouseMoveEvent(event); } }
void BridgeItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { if (doPan_) { QPointF newPos = event->scenePos(); path_->translate(newPos - lastPos_); lastPos_ = newPos; setPath(*path_); QPointF to = road_->getGlobalPoint(bridge_->getSStart()) + lastPos_ - pressPos_; double s; QVector2D vec; double dist; RSystemElementRoad * nearestRoad = signalEditor_->findClosestRoad( to, s, dist, vec); if (!nearestRoad) { nearestRoad = road_; } if (nearestRoad != closestRoad_) { RoadItem *nearestRoadItem = roadSystemItem_->getRoadItem(nearestRoad->getID()); nearestRoadItem->setHighlighting(true); setZValue(nearestRoadItem->zValue() + 1); roadSystemItem_->getRoadItem(closestRoad_->getID())->setHighlighting(false); closestRoad_ = nearestRoad; } GraphElement::mouseMoveEvent(event); } }