#include "stdafx.h" #include "MapToolPan.h" #include "ImageViewer.h" #include #include MapToolPan::MapToolPan(QObject* parent) : MapTool(parent) { setCursor(Qt::OpenHandCursor); } MapToolPan::~MapToolPan() { } void MapToolPan::activate() { MapTool::activate(); if (canvas()) { canvas()->setDragMode(QGraphicsView::NoDrag); } } void MapToolPan::deactivate() { m_dragging = false; MapTool::deactivate(); } void MapToolPan::canvasMousePressEvent(QMouseEvent* e) { if (e->button() == Qt::LeftButton) { m_dragging = true; m_lastPos = e->pos(); if (canvas()) { canvas()->viewport()->setCursor(Qt::ClosedHandCursor); } } } void MapToolPan::canvasMouseMoveEvent(QMouseEvent* e) { if (m_dragging && canvas()) { QPointF delta = canvas()->mapToScene(e->pos()) - canvas()->mapToScene(m_lastPos); canvas()->translate(delta.x(), delta.y()); m_lastPos = e->pos(); } } void MapToolPan::canvasMouseReleaseEvent(QMouseEvent* e) { if (e->button() == Qt::LeftButton) { m_dragging = false; if (canvas()) { canvas()->viewport()->setCursor(Qt::OpenHandCursor); } } }