CEDRIC  Revision_backup-2009-02
MDSView.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 2008 Boris Iven, Max Hermann
4  *
5  * This file is part of the "CEDRIC Event Display" application.
6  *
7  *****************************************************************************/
8 
9 #ifndef MDSVIEW_H
10 #define MDSVIEW_H
11 
12 #include <QtGui/QGraphicsView>
13 #include <QRectF>
14 
15 class QGraphicsView;
16 class QMouseEvent;
17 class QPainter;
18 class QRubberBand;
19 
20 #include <QtGui>
21 #include <QtGui/QGraphicsItem>
22 #include <QtGui/QStyleOptionGraphicsItem>
23 
24 
34 class MDSView : public QGraphicsView
35 {
36  Q_OBJECT
37 
38 signals:
39  void eventSelected( int index );
40 
41  void eventSelectedUserMode( int index, int mode );
42 
43  void immerse( int index, double radius );
44 
45  void zoom( const QRectF& );
46 
47 public:
48  enum ActionMode {
50  ZOOM,
53  };
54 
55  MDSView( QWidget* parent=0 );
56 
57 public slots:
58  void setActionMode( int mode );
59 
60 protected:
61  virtual void mousePressEvent ( QMouseEvent *event );
62  virtual void mouseMoveEvent ( QMouseEvent *event );
63  virtual void mouseReleaseEvent( QMouseEvent *event );
64 
65  virtual void drawForeground ( QPainter * painter, const QRectF & rect );
66 
67  void resetPivotRadius();
68 
69 private:
70  bool m_immerseBanding;
71  QRect m_immerseBandRect;
72  qreal m_immerseRadius;
73  QPointF m_immerseCenter;
74  QRectF m_immerseEllipseRect;
75 
76  int m_pivotIndex;
77 
78  int m_actionMode;
79 };
80 
81 
82 #endif // MDSVIEW_H
virtual void drawForeground(QPainter *painter, const QRectF &rect)
Definition: MDSView.cpp:172
MDSView(QWidget *parent=0)
Definition: MDSView.cpp:18
void resetPivotRadius()
Definition: MDSView.cpp:190
ActionMode
Definition: MDSView.h:48
virtual void mousePressEvent(QMouseEvent *event)
Definition: MDSView.cpp:45
void eventSelected(int index)
virtual void mouseReleaseEvent(QMouseEvent *event)
Definition: MDSView.cpp:133
Definition: MDSView.h:49
Selection mode (TODO: introduce extra SELECTION mode and let NO_ACTION mode do really nothing!) ...
Definition: MDSView.h:50
Definition: MDSView.h:34
Select radius around single event and "immerse" on it
Definition: MDSView.h:52
Rubberband zoom
Definition: MDSView.h:51
void eventSelectedUserMode(int index, int mode)
void setActionMode(int mode)
Definition: MDSView.cpp:32
void immerse(int index, double radius)
void zoom(const QRectF &)
virtual void mouseMoveEvent(QMouseEvent *event)
Definition: MDSView.cpp:98