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:
33  virtual ~InteractionModeManager();
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 
54  void switchToLastMode();
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
BALL::VIEW::InteractionMode
Definition: interactionMode.h:24
BALL::VIEW::InteractionModeManager::~InteractionModeManager
virtual ~InteractionModeManager()
BALL::VIEW::InteractionModeManager::mouseReleaseEvent
virtual void mouseReleaseEvent(QMouseEvent *evt)
BALL::VIEW::InteractionModeManager::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *evt)
QObject
BALL::VIEW::InteractionModeManager::setMode_
void setMode_(InteractionMode *new_mode)
BALL::VIEW::InteractionModeManager::mouseDoubleClickEvent
virtual void mouseDoubleClickEvent(QMouseEvent *evt)
BALL::VIEW::InteractionModeManager::scene_
Scene * scene_
Definition: interactionModeManager.h:65
BALL::VIEW::InteractionModeManager::InteractionModeManager
InteractionModeManager(Scene *scene)
BALL::VIEW::InteractionModeManager::current_mode_
InteractionMode * current_mode_
Definition: interactionModeManager.h:61
BALL::VIEW::Renderer::StereoMode
StereoMode
Definition: renderer.h:59
BALL::VIEW::InteractionModeManager::mousePressEvent
virtual void mousePressEvent(QMouseEvent *evt)
BALL::VIEW::Scene
Definition: scene.h:138
BALL::VIEW::InteractionModeManager::populateContextMenu
virtual void populateContextMenu(QMenu *menu)
BALL
Definition: constants.h:12
BALL::VIEW::InteractionModeManager::last_mode_
InteractionMode * last_mode_
Definition: interactionModeManager.h:62
BALL::VIEW::InteractionModeManager
Definition: interactionModeManager.h:27
BALL::VIEW::InteractionModeManager::wheelEvent
virtual void wheelEvent(QWheelEvent *evt)
BALL::VIEW::InteractionModeManager::addToolBarEntries
virtual void addToolBarEntries(QToolBar *tb)
BALL::VIEW::InteractionModeManager::need_update_
bool need_update_
Definition: interactionModeManager.h:66
BALL::VIEW::InteractionModeManager::keyReleaseEvent
virtual void keyReleaseEvent(QKeyEvent *evt)
BALL::VIEW::InteractionModeManager::getCurrentModeName
QString getCurrentModeName() const
renderer.h
BALL::VIEW::InteractionModeManager::stereo_mode_
Renderer::StereoMode stereo_mode_
Definition: interactionModeManager.h:60
BALL::VIEW::InteractionModeManager::init_
void init_()
BALL::VIEW::InteractionModeManager::setMouseWheelSensitivity
virtual void setMouseWheelSensitivity(float sensitivity)
BALL::VIEW::InteractionModeManager::setMouseSensitivity
virtual void setMouseSensitivity(float sensitivity)
BALL::VIEW::InteractionModeManager::keyPressEvent
virtual void keyPressEvent(QKeyEvent *evt)
BALL::VIEW::InteractionModeManager::handleStereoKeyPress_
bool handleStereoKeyPress_(QKeyEvent *evt)
BALL::VIEW::InteractionModeManager::actions_
QActionGroup * actions_
Definition: interactionModeManager.h:63
BALL::VIEW::InteractionModeManager::setStereoMode
void setStereoMode(bool stereo_mode)
QMouseEvent
BALL::VIEW::InteractionModeManager::modes_
std::list< InteractionMode * > modes_
Definition: interactionModeManager.h:64
BALL::VIEW::InteractionModeManager::switchToLastMode
void switchToLastMode()