SoQtMouse(3)

NAME

SoQtMouse

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.

SYNOPSIS

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

Inherits SoQtDevice.

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:

o left button: SoMouseButtonEvent::BUTTON1
o middle button: SoMouseButtonEvent::BUTTON2
o right button: SoMouseButtonEvent::BUTTON3
While in this SIM SoQt library the mappings are:
o left button: SoMouseButtonEvent::BUTTON1
o middle button: SoMouseButtonEvent::BUTTON3
o right button: SoMouseButtonEvent::BUTTON2
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

enum SoQtMouse::Events 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 SoQtDevice.
SoType SoQtMouse::getClassTypeId (void) [static] This static method returns
the SoType object associated with objects of this class. Reimplemented from SoQtDevice.
SoType SoQtMouse::getTypeId (void) const [virtual] Returns the type
identification of an object derived from a class inheriting SoQtObject. This is used for run-time type checking and 'downward' casting. Usage example:
void foo(SoQtViewer * comp)
{
if (comp->getTypeId() == SoQtExaminerViewer::getClassTypeId()) {
// safe downward cast, knows the type
SoQtExaminerViewer * exviewer = (SoQtExaminerViewer *)comp;
}
else if (comp->getTypeId().isOfType(SoQtFlyViewer::getClassTypeId())) {
// safe downward cast, knows the type
SoQtFlyViewer * flyviewer = (SoQtFlyViewer *)comp;
// then something else
}
}
Reimplemented from SoQtDevice.
void SoQtMouse::enable (QWidget * widget, SoQtEventHandler * handler, void
* closure) [virtual] This method will enable the device for the widget. handler is invoked with the closure argument when an event occur in widget.
Implements SoQtDevice.
void SoQtMouse::disable (QWidget * widget, SoQtEventHandler * handler, void
* closure) [virtual] This method will disable the handler for the device.
Implements SoQtDevice.
const SoEvent * SoQtMouse::translateEvent (QEvent * event) [virtual]
Translates a native event from the underlying toolkit into a generic event.
This is then returned in the form of an instance of a subclass of the
Inventor API's SoEvent class, either an SoMouseButtonEvent or an
SoLocation2Event, depending on whether the native event is a
mousebutton press / release, or a mousecursor movement event.
The mapping of the mousebuttons upon generation of SoMouseButtonEvent
events will be done as follows:
o left mousebutton: SoMouseButtonEvent::BUTTON1
o right mousebutton: SoMouseButtonEvent::BUTTON2
o middle mousebutton, if available: SoMouseButtonEvent::BUTTON3
o forward motion on a wheel mouse: SoMouseButtonEvent::BUTTON4
o backward motion on a wheel mouse: SoMouseButtonEvent::BUTTON5
Note that the rightmost mousebutton will always map to
SoMouseButtonEvent::BUTTON2, even on a 3-button mouse.
Implements SoQtDevice.
References BUTTON_PRESS, POINTER_MOTION, and
SoQtDevice::setEventPosition().

Author

Generated automatically by Doxygen for SoQt from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout