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
BALL::VIEW::InteractionMode::getKey
virtual Qt::Key getKey() const =0
BALL::VIEW::InteractionMode::mouseDoubleClickEvent
virtual void mouseDoubleClickEvent(QMouseEvent *evt)
BALL::VIEW::InteractionMode::~InteractionMode
virtual ~InteractionMode()
global.h
BALL::VIEW::InteractionMode
Definition: interactionMode.h:25
BALL::VIEW::InteractionMode::keyReleaseEvent
virtual void keyReleaseEvent(QKeyEvent *evt)
BALL::VIEW::InteractionMode::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *evt)
BALL::VIEW::InteractionMode::isCurrent
bool isCurrent() const
Definition: interactionMode.h:56
BALL::VIEW::InteractionMode::main_action_
QAction * main_action_
Definition: interactionMode.h:71
BALL::VIEW::InteractionMode::addToolBarEntries
virtual void addToolBarEntries(QToolBar *tb)
BALL::VIEW::InteractionMode::getMainAction
QAction * getMainAction()
BALL::VIEW::InteractionMode::populateContextMenu
virtual void populateContextMenu(QMenu *)
Definition: interactionMode.h:43
BALL::VIEW::Scene
Definition: scene.h:141
BALL
Definition: constants.h:13
BALL::VIEW::InteractionMode::activate
virtual void activate()
BALL::VIEW::InteractionMode::is_current_
bool is_current_
Definition: interactionMode.h:72
BALL::VIEW::InteractionMode::setMouseSensitivity
void setMouseSensitivity(float sens)
BALL::VIEW::InteractionMode::getName
virtual QString getName() const =0
BALL::VIEW::InteractionMode::getXDiff_
float getXDiff_() const
BALL::VIEW::InteractionMode::requestModeChange
void requestModeChange(InteractionMode *mode)
BALL::VIEW::InteractionMode::setCurrent
void setCurrent(bool current)
Definition: interactionMode.h:57
BALL::VIEW::InteractionMode::getYDiff_
float getYDiff_() const
BALL::VIEW::InteractionMode::mousePressEvent
void mousePressEvent(QMouseEvent *evt)
BALL::VIEW::InteractionMode::mouse_pos_new_
QPoint mouse_pos_new_
Definition: interactionMode.h:67
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::VIEW::InteractionMode::mouse_sensitivity_
float mouse_sensitivity_
Definition: interactionMode.h:69
BALL::VIEW::InteractionMode::zoomSystem_
void zoomSystem_()
BALL::VIEW::InteractionMode::mouse_pos_old_
QPoint mouse_pos_old_
Definition: interactionMode.h:66
BALL::VIEW::InteractionMode::deactivate
virtual void deactivate()
BALL::VIEW::InteractionMode::mouseReleaseEventImpl_
virtual void mouseReleaseEventImpl_(QMouseEvent *evt)
BALL::VIEW::InteractionMode::wheelEvent
virtual void wheelEvent(QWheelEvent *evt)
BALL::VIEW::InteractionMode::mouse_wheel_sensitivity_
float mouse_wheel_sensitivity_
Definition: interactionMode.h:70
BALL::VIEW::InteractionMode::mousePressEventImpl_
virtual void mousePressEventImpl_(QMouseEvent *evt)
QMouseEvent
BALL::VIEW::InteractionMode::InteractionMode
InteractionMode(Scene *scene)
BALL::VIEW::InteractionMode::scene_
Scene * scene_
Definition: interactionMode.h:65
BALL::VIEW::InteractionMode::desktop_size_
QSize desktop_size_
Definition: interactionMode.h:68
BALL::VIEW::InteractionMode::modeChangeSlot_
void modeChangeSlot_()
BALL::VIEW::InteractionMode::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *evt)
BALL::VIEW::InteractionMode::mouseMoveEventImpl_
virtual void mouseMoveEventImpl_(QMouseEvent *evt)
QObject
BALL::VIEW::InteractionMode::keyPressEvent
virtual void keyPressEvent(QKeyEvent *evt)
BALL::VIEW::InteractionMode::setMouseWheelSensitivity
void setMouseWheelSensitivity(float sens)