BALL  1.5.0
interactionModeManager.h
Go to the documentation of this file.
1 #ifndef BALL_VIEW_KERNEL_MODES_MODEMANAGER_H
2 #define BALL_VIEW_KERNEL_MODES_MODEMANAGER_H
3 
4 #ifndef BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
6 #endif
7 
8 #include <list>
9 
10 #include <QtCore/QObject>
11 
12 class QAction;
13 class QMenu;
14 class QActionGroup;
15 class QKeyEvent;
16 class QMouseEvent;
17 class QWheelEvent;
18 class QToolBar;
19 
20 namespace BALL
21 {
22  namespace VIEW
23  {
24  class InteractionMode;
25  class Scene;
26 
28  {
29  Q_OBJECT
30 
31  public:
34 
35  QString getCurrentModeName() const;
36 
37  virtual void keyPressEvent(QKeyEvent* evt);
38  virtual void keyReleaseEvent(QKeyEvent* evt);
39 
40  virtual void mouseDoubleClickEvent(QMouseEvent* evt);
41  virtual void mouseMoveEvent(QMouseEvent* evt);
42  virtual void mousePressEvent(QMouseEvent* evt);
43  virtual void mouseReleaseEvent(QMouseEvent* evt);
44 
45  virtual void wheelEvent(QWheelEvent* evt);
46 
47  virtual void addToolBarEntries(QToolBar* tb);
48  virtual void populateContextMenu(QMenu* menu);
49  void setStereoMode(bool stereo_mode);
50 
51  virtual void setMouseSensitivity(float sensitivity);
52  virtual void setMouseWheelSensitivity(float sensitivity);
53 
55 
56  protected Q_SLOTS:
57  void setMode_(InteractionMode* new_mode);
58 
59  protected:
63  QActionGroup* actions_;
64  std::list<InteractionMode*> modes_;
67 
68  void init_();
69  bool handleStereoKeyPress_(QKeyEvent* evt);
70  };
71  }
72 }
73 
74 #endif //BALL_VIEW_KERNEL_MODES_MODEMANAGER_H
Definition: constants.h:13
virtual void addToolBarEntries(QToolBar *tb)
virtual void mouseMoveEvent(QMouseEvent *evt)
bool handleStereoKeyPress_(QKeyEvent *evt)
void setMode_(InteractionMode *new_mode)
virtual void setMouseWheelSensitivity(float sensitivity)
virtual void setMouseSensitivity(float sensitivity)
virtual void populateContextMenu(QMenu *menu)
void setStereoMode(bool stereo_mode)
virtual void mouseReleaseEvent(QMouseEvent *evt)
virtual void keyPressEvent(QKeyEvent *evt)
virtual void mouseDoubleClickEvent(QMouseEvent *evt)
std::list< InteractionMode * > modes_
virtual void keyReleaseEvent(QKeyEvent *evt)
virtual void wheelEvent(QWheelEvent *evt)
virtual void mousePressEvent(QMouseEvent *evt)