BALL  1.5.0
interactionMode.h
Go to the documentation of this file.
1 #ifndef BALL_VIEW_KERNEL_MODES_INTERACTIONMODE_H
2 #define BALL_VIEW_KERNEL_MODES_INTERACTIONMODE_H
3 
4 #include <BALL/COMMON/global.h>
5 
6 #include <QtCore/QPoint>
7 #include <QtCore/QSize>
8 #include <QtCore/QObject>
9 
10 class QAction;
11 class QKeyEvent;
12 class QMouseEvent;
13 class QWheelEvent;
14 class QToolBar;
15 class QMenu;
16 
17 namespace BALL
18 {
19  namespace VIEW
20  {
21  class Scene;
22  class MainControl;
23 
25  {
26  Q_OBJECT
27 
28  public:
30 
31  virtual ~InteractionMode();
32  virtual void keyPressEvent(QKeyEvent* evt);
33  virtual void keyReleaseEvent(QKeyEvent* evt);
34 
35  virtual void mouseDoubleClickEvent(QMouseEvent* evt);
39 
40  virtual void wheelEvent(QWheelEvent* evt);
41 
42  virtual void addToolBarEntries(QToolBar* tb);
43  virtual void populateContextMenu(QMenu*) {};
44 
45  virtual Qt::Key getKey() const = 0;
46  virtual QString getName() const = 0;
47 
48  virtual void deactivate();
49  virtual void activate();
50 
51  void setMouseSensitivity(float sens);
52  void setMouseWheelSensitivity(float sens);
53 
54  QAction* getMainAction();
55 
56  bool isCurrent() const { return is_current_; }
57  void setCurrent(bool current) { is_current_ = current; }
58 
59  Q_SIGNALS:
61  protected Q_SLOTS:
63 
64  protected:
71  QAction* main_action_;
73 
74  virtual void mouseMoveEventImpl_ (QMouseEvent* evt);
75  virtual void mousePressEventImpl_ (QMouseEvent* evt);
76  virtual void mouseReleaseEventImpl_(QMouseEvent* evt);
77 
78  float getXDiff_() const;
79  float getYDiff_() const;
80  void zoomSystem_();
81  };
82 
83  }
84 }
85 
86 #endif //BALL_VIEW_KERNEL_MODES_INTERACTIONMODE_H
Definition: constants.h:13
virtual void mouseReleaseEventImpl_(QMouseEvent *evt)
virtual void mouseMoveEventImpl_(QMouseEvent *evt)
virtual void wheelEvent(QWheelEvent *evt)
virtual Qt::Key getKey() const =0
void mousePressEvent(QMouseEvent *evt)
virtual void mousePressEventImpl_(QMouseEvent *evt)
void setCurrent(bool current)
void requestModeChange(InteractionMode *mode)
void setMouseWheelSensitivity(float sens)
void setMouseSensitivity(float sens)
virtual QString getName() const =0
void mouseReleaseEvent(QMouseEvent *evt)
void mouseMoveEvent(QMouseEvent *evt)
virtual void keyReleaseEvent(QKeyEvent *evt)
virtual void populateContextMenu(QMenu *)
virtual void keyPressEvent(QKeyEvent *evt)
virtual void addToolBarEntries(QToolBar *tb)
virtual void mouseDoubleClickEvent(QMouseEvent *evt)
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52