25#include <QGraphicsView>
26#include <QGraphicsSceneMouseEvent>
27#include <QGestureEvent>
43: QGraphicsScene(parent)
48 m_qvView->grabGesture(Qt::PanGesture);
49 m_qvView->grabGesture(Qt::PinchGesture);
58 m_qvView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
61 double scaleFactor = 1.15;
62 if(
event->delta() > 0) {
64 m_qvView->scale(scaleFactor, scaleFactor);
67 m_qvView->scale(1.0 / scaleFactor, 1.0 / scaleFactor);
75 if(mouseEvent->button() == Qt::LeftButton)
76 m_qvView->fitInView(this->itemsBoundingRect(), Qt::KeepAspectRatio);
78 QGraphicsScene::mouseDoubleClickEvent(mouseEvent);
85 switch(mouseEvent->button()) {
87 m_qvView->setDragMode(QGraphicsView::RubberBandDrag);
97 m_qvView->setDragMode(QGraphicsView::NoDrag);
106 QGraphicsScene::mousePressEvent(mouseEvent);
119 m_qvView->verticalScrollBar()->setValue(
m_qvView->verticalScrollBar()->value() - diffY);
120 m_qvView->horizontalScrollBar()->setValue(
m_qvView->horizontalScrollBar()->value() - diffX);
123 QGraphicsScene::mouseMoveEvent(mouseEvent);
161 QGraphicsScene::mouseReleaseEvent(mouseEvent);
171 QGraphicsScene::keyPressEvent(keyEvent);
181 QGraphicsScene::keyReleaseEvent(keyEvent);
188 if (
event->type() == QEvent::Gesture) {
189 QGestureEvent* gestureEventCast =
static_cast<QGestureEvent*
>(
event);
196 return gestureEvent(
static_cast<QGestureEvent*
>(gestureEventCast));
199 return QGraphicsScene::event(
event);
207 if (QGesture *pan =
event->gesture(Qt::PanGesture))
211 if (QGesture *pinch =
event->gesture(Qt::PinchGesture))
221 QPointF delta = gesture->delta();
223 m_qvView->verticalScrollBar()->setValue(
m_qvView->verticalScrollBar()->value() + delta.y());
224 m_qvView->horizontalScrollBar()->setValue(
m_qvView->horizontalScrollBar()->value() + delta.x());
231 m_qvView->setTransformationAnchor(QGraphicsView::NoAnchor);
232 m_qvView->scale(gesture->scaleFactor(), gesture->scaleFactor());
239 if (
object ==
m_qvView &&
event->type() == QEvent::Gesture) {
240 QGestureEvent* gestureEventCast =
static_cast<QGestureEvent*
>(
event);
242 return gestureEvent(
static_cast<QGestureEvent*
>(gestureEventCast));
Base QGraphicsScene providing pan, pinch-zoom and swipe gesture handling for the sensor-layout scenes...
2-D display widgets and visualisation helpers (charts, topography, colour maps).
void keyPressEvent(QKeyEvent *keyEvent)
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
LayoutScene(QGraphicsView *view, QObject *parent=0)
bool eventFilter(QObject *object, QEvent *event)
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
void panTriggered(QPanGesture *)
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
void wheelEvent(QGraphicsSceneWheelEvent *event)
bool gestureEvent(QGestureEvent *event)
bool event(QEvent *event)
void keyReleaseEvent(QKeyEvent *keyEvent)
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
QPointF m_mousePressPosition
void pinchTriggered(QPinchGesture *)