Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
ViewPreview.cpp
1 #include <QGraphicsScene>
2 #include <QMouseEvent>
3 #include "ViewPreview.h"
4 
5 ViewPreview::ViewPreview(QGraphicsScene *scene,
6  ViewAspectRatio viewAspectRatio,
7  QWidget *parent) :
8  QGraphicsView (scene, parent),
9  m_viewAspectRatio (viewAspectRatio)
10 {
11  setMouseTracking(true);
12 }
13 
14 void ViewPreview::mouseMoveEvent(QMouseEvent *event)
15 {
16  QPointF pos = mapToScene (event->pos ());
17 
18  emit signalMouseMove (pos);
19 }
20 
21 void ViewPreview::resizeEvent(QResizeEvent *event)
22 {
23  if (m_viewAspectRatio == VIEW_ASPECT_RATIO_ONE_TO_ONE) {
24 
25  fitInView (scene()->sceneRect(),
26  Qt::KeepAspectRatio);
27 
28  } else {
29 
30  // Make image fit the new window size. This is needed since QGraphicsView ignores layout stretching
31  fitInView (scene()->itemsBoundingRect ());
32 
33  QGraphicsView::resizeEvent (event);
34  }
35 }
void signalMouseMove(QPointF pos)
Forward the mouse move events.
ViewAspectRatio
Prevent aspect ratio distortion in certain previews by providing fixed 1:1 aspect ratio option...
Definition: ViewPreview.h:15
virtual void mouseMoveEvent(QMouseEvent *event)
Intercept cursor move events and forward them.
Definition: ViewPreview.cpp:14
virtual void resizeEvent(QResizeEvent *event)
Intercept resize events so we can rescale to the graphics items just fit into the resized window...
Definition: ViewPreview.cpp:21
ViewPreview(QGraphicsScene *scene, ViewAspectRatio viewAspectRatio, QWidget *parent=0)
Single constructor.
Definition: ViewPreview.cpp:5