Coin Logo http://www.sim.no
http://www.coin3d.org

Public Types | Public Member Functions | Static Public Member Functions | Friends

SoQtMouse Class Reference
[Qt Device Classes]

The SoQtMouse class is the mouse input device abstraction.The SoQtMouse class is the glue between native mouse handling and mouse interaction in the Inventor scenegraph. More...

#include <Inventor/Qt/devices/SoQtMouse.h>

Inheritance diagram for SoQtMouse:
SoQtDevice SoQtObject

List of all members.

Public Types

enum  Events {
  BUTTON_PRESS = 0x01, BUTTON_RELEASE = 0x02, POINTER_MOTION = 0x04, BUTTON_MOTION = 0x08,
  ALL_EVENTS = BUTTON_PRESS | BUTTON_RELEASE | POINTER_MOTION | BUTTON_MOTION
}

Public Member Functions

virtual SoType getTypeId (void) const
 SoQtMouse (int eventmask=ALL_EVENTS)
virtual ~SoQtMouse (void)
virtual void enable (QWidget *widget, SoQtEventHandler *handler, void *closure)
virtual void disable (QWidget *widget, SoQtEventHandler *handler, void *closure)
virtual const SoEvent * translateEvent (QEvent *event)

Static Public Member Functions

static void initClass (void)
static SoType getClassTypeId (void)
static void * createInstance (void)

Friends

class SoQtMouseP
class SoGuiMouseP

Detailed Description

The SoQtMouse class is the mouse input device abstraction.

The SoQtMouse class is the glue between native mouse handling and mouse interaction in the Inventor scenegraph.

All components derived from the SoQtRenderArea have got an SoQtMouse device attached by default.

One important note for application programmers: our mappings to SoMouseButtonEvent::BUTTON2 and SoMouseButtonEvent::BUTTON3 do not match the mappings in SGI's InventorXt library or TGS's SoWin library for 3-button mice. They map mouse buttons like this:

While in this SIM SoQt library the mappings are:

This is a conscious design decision we've made. The reason is that BUTTON2 should be the right mouse button whether you have a 2-button mouse or a 3-button mouse.


Member Enumeration Documentation

Enumeration over supported mouse events.

Enumerator:
BUTTON_PRESS 

Maskbit for mousebutton press events.

BUTTON_RELEASE 

Maskbit for mousebutton release events.

POINTER_MOTION 

Maskbit for mousepointer motion events.

BUTTON_MOTION 

Maskbit for mousepointer motion events with one or more mousebuttons pressed.

ALL_EVENTS 

Mask which includes all the maskbits in the enum (ie use this to signal interest in all kinds of events for the mouse device).


Constructor & Destructor Documentation

SoQtMouse::SoQtMouse ( int  mask = ALL_EVENTS  ) 

Constructor. The mask argument should contain the set of SoQtMouse::Events one is interested in tracking.

SoQtMouse::~SoQtMouse ( void   )  [virtual]

Destructor.


Member Function Documentation

void SoQtMouse::initClass ( void   )  [static]

Sets up initialization for data common to all instances of this class, submitting necessary information to the internal SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from SoQt type system.

Reimplemented from