Static Public Member Functions

QmitkEventAdapter Class Reference

#include <QmitkEventAdapter.h>

List of all members.

Static Public Member Functions

static mitk::MouseEvent AdaptMouseEvent (mitk::BaseRenderer *sender, QMouseEvent *mouseEvent)
static mitk::WheelEvent AdaptWheelEvent (mitk::BaseRenderer *sender, QWheelEvent *wheelEvent)
static mitk::KeyEvent AdaptKeyEvent (mitk::BaseRenderer *sender, QKeyEvent *keyEvent, const QPoint &point)

Detailed Description

Definition at line 27 of file QmitkEventAdapter.h.


Member Function Documentation

mitk::KeyEvent QmitkEventAdapter::AdaptKeyEvent ( mitk::BaseRenderer sender,
QKeyEvent *  keyEvent,
const QPoint &  point 
) [static]

Definition at line 95 of file QmitkEventAdapter.cpp.

References mitk::BS_AltButton, mitk::BS_ControlButton, mitk::BS_MetaButton, mitk::BS_NoButton, and mitk::BS_ShiftButton.

Referenced by QmitkRenderWindow::keyPressEvent().

{
  int key = keyEvent->key();
  
  // Those keycodes changed in Qt 4
  if (key >= 0x01000000 && key <= 0x01000060)
    key -= (0x01000000 - 0x1000);
  else if(key >= 0x01001120 && key <= 0x01001262)
    key -= 0x01000000;

  mitk::Point2D p;
  p[0] = cp.x(); 
  p[1] = cp.y();

  int modifiers = keyEvent->modifiers();
  int state = 0;
  if (modifiers & Qt::ShiftModifier)
    state |= mitk::BS_ShiftButton;
  if (modifiers & Qt::ControlModifier)
    state |= mitk::BS_ControlButton;
  if (modifiers & Qt::AltModifier)
    state |= mitk::BS_AltButton;
  if (modifiers & Qt::MetaModifier)
    state |= mitk::BS_MetaButton;
  //if (modifiers & Qt::KeypadModifier)
  //  state |= mitk::BS_Keypad;

  mitk::KeyEvent mke(sender, keyEvent->type(), mitk::BS_NoButton, state, key, keyEvent->text().toStdString(), p);
  
  return mke;
}
mitk::MouseEvent QmitkEventAdapter::AdaptMouseEvent ( mitk::BaseRenderer sender,
QMouseEvent *  mouseEvent 
) [static]

Definition at line 26 of file QmitkEventAdapter.cpp.

References mitk::BS_AltButton, mitk::BS_ControlButton, mitk::BS_Keypad, mitk::BS_MetaButton, mitk::BS_ShiftButton, and mitk::Key_none.

Referenced by QmitkRenderWindow::mouseMoveEvent(), QmitkRenderWindow::mousePressEvent(), and QmitkRenderWindow::mouseReleaseEvent().

{
  mitk::Point2D p;
  p[0] = mouseEvent->x(); 
  p[1] = mouseEvent->y();
  
  int modifiers = mouseEvent->modifiers();
  int state = 0;
  
  switch (mouseEvent->type())
  {
  case QEvent::MouseButtonRelease:
    state |= mouseEvent->button();
    break;
  case QEvent::MouseMove:
    state |= mouseEvent->buttons();
    break;
  default:
    break;
  }
  
  if (modifiers & Qt::ShiftModifier)
    state |= mitk::BS_ShiftButton;
  if (modifiers & Qt::ControlModifier)
    state |= mitk::BS_ControlButton;
  if (modifiers & Qt::AltModifier)
    state |= mitk::BS_AltButton;
  if (modifiers & Qt::MetaModifier)
    state |= mitk::BS_MetaButton;
  if (modifiers & Qt::KeypadModifier)
    state |= mitk::BS_Keypad;
  
  mitk::MouseEvent mitkEvent(sender, mouseEvent->type(), mouseEvent->button(), 
                             state, mitk::Key_none, p);
  
  return mitkEvent;
}
mitk::WheelEvent QmitkEventAdapter::AdaptWheelEvent ( mitk::BaseRenderer sender,
QWheelEvent *  wheelEvent 
) [static]

Definition at line 65 of file QmitkEventAdapter.cpp.

References mitk::BS_AltButton, mitk::BS_ControlButton, mitk::BS_Keypad, mitk::BS_MetaButton, mitk::BS_ShiftButton, and mitk::Key_none.

Referenced by QmitkRenderWindow::wheelEvent().

{
  mitk::Point2D p;
  p[0] = wheelEvent->x(); 
  p[1] = wheelEvent->y();

  int modifiers = wheelEvent->modifiers();
  int state = 0;

  state = wheelEvent->buttons();

  if (modifiers & Qt::ShiftModifier)
    state |= mitk::BS_ShiftButton;
  if (modifiers & Qt::ControlModifier)
    state |= mitk::BS_ControlButton;
  if (modifiers & Qt::AltModifier)
    state |= mitk::BS_AltButton;
  if (modifiers & Qt::MetaModifier)
    state |= mitk::BS_MetaButton;
  if (modifiers & Qt::KeypadModifier)
    state |= mitk::BS_Keypad;

  mitk::WheelEvent mitkEvent(sender, wheelEvent->type(), wheelEvent->buttons(), 
    state, mitk::Key_none, p, wheelEvent->delta());

  return mitkEvent;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines