RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/maptoolpan.cpp

45 lines
830 B
C++

#include <QtCore/QEvent>
#include <maptoolpan.h>
#include <mapcanvas.h>
#pragma execution_character_set("utf-8")
namespace LAMPMainWidget {
void
MapToolPan::execute(QMouseEvent* event) {
if (!(event->button() & Qt::LeftButton)) {
return;
}
auto type = event->type();
if (QEvent::MouseButtonPress == type) {
mDragStartPos = event->pos();
}
if (QEvent::MouseButtonRelease == type) {
mDragEndPos = event->pos();
QRectF dragRect{ mDragStartPos, mDragEndPos };
mMapCanvas->mDragRect = dragRect;
mMapCanvas->updateViewExtent();
}
}
void
MapToolPan::setup() {
mMapCanvas->setDragMode(MapCanvas::DragMode::ScrollHandDrag);
}
QString
MapToolPan::id() {
return QString{ "pan_tool" };
}
void
MapToolPan::deSetup() {
mMapCanvas->setDragMode(MapCanvas::DragMode::NoDrag);
}
}