SoQtDevice(3) The SoQtDevice class is the base class for the translation devices.

SYNOPSIS


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

Inherits SoQtObject.

Inherited by SoQtKeyboard, and SoQtMouse.

Public Member Functions


virtual ~SoQtDevice ()

virtual void enable (QWidget *w, SoQtEventHandler *handler, void *closure)=0

virtual void disable (QWidget *w, SoQtEventHandler *handler, void *closure)=0

virtual const SoEvent * translateEvent (QEvent *event)=0

void setWindowSize (const SbVec2s size)

SbVec2s getWindowSize (void) const

Static Public Member Functions


static void initClasses (void)

Protected Member Functions


SoQtDevice (void)

void setEventPosition (SoEvent *event, int x, int y) const

void addEventHandler (QWidget *, SoQtEventHandler *, void *)

void removeEventHandler (QWidget *, SoQtEventHandler *, void *)

void invokeHandlers (QEvent *event)

Static Protected Member Functions


static SbVec2s getLastEventPosition (void)

Friends


class SoQtDeviceP

Detailed Description

The SoQtDevice class is the base class for the translation devices.

The SoQt device classes provide glue functionality for translating native GUI events from the underlying toolkit to Inventor scenegraph SoEvent events.

The device classes are mainly of interest to application programmers when writing extensions for new types of devices, and seldom in other contexts -- so they can most often be ignored.

Constructor & Destructor Documentation

SoQtDevice::~SoQtDevice () [virtual]

Public virtual destructor.

SoQtDevice::SoQtDevice (void) [protected]

Constructor. Protected to only enable invocation from derived device classes.

Member Function Documentation

void SoQtDevice::enable (QWidget * widget, SoQtEventHandler * handler, void * closure) [pure virtual]

This method will enable the device for the widget.

handler is invoked with the closure argument when an event occur in widget.

Implemented in SoQtMouse, and SoQtKeyboard.

Referenced by SoQtRenderArea::registerDevice(), and SoQtRenderArea::widgetChanged().

void SoQtDevice::disable (QWidget * widget, SoQtEventHandler * handler, void * closure) [pure virtual]

This method will disable the handler for the device.

Implemented in SoQtMouse, and SoQtKeyboard.

Referenced by SoQtRenderArea::unregisterDevice().

const SoEvent * SoQtDevice::translateEvent (QEvent * event) [pure virtual]

This method translates from native events to Open Inventor SoEvent events.

Implemented in SoQtMouse, and SoQtKeyboard.

void SoQtDevice::setWindowSize (const SbVec2s size)

This method sets the cached size of the window the device is 'attached' to.

Referenced by SoQtRenderArea::registerDevice().

SbVec2s SoQtDevice::getWindowSize (void) const

This method returns the cached window size.

void SoQtDevice::initClasses (void) [static]

This function initializes the type system for all the SoQt device classes. It is called indirectly when calling SoQt::init(), so the application programmer doesn't have to bother with it.

References SoQtObject::initClass().

Referenced by SoQtObject::init().

void SoQtDevice::setEventPosition (SoEvent * event, int x, int y) const [protected]

This method fills in the position information of event, translating the coordinates into the correct coordinate system.

SbVec2s SoQtDevice::getLastEventPosition (void) [static], [protected]

Returns last event position that was set with SoQtDevice::setEventPosition().

Referenced by SoQtKeyboard::translateEvent().

void SoQtDevice::addEventHandler (QWidget * widget, SoQtEventHandler * handler, void * closure) [protected]

Stores an event handler for the widget, which can later be invoked with SoQtDevice::invokeHandlers(). Used by extension device types.

void SoQtDevice::removeEventHandler (QWidget * widget, SoQtEventHandler * handler, void * closure) [protected]

Remove a handler registered with SoQtDevice::addEventHandler().

void SoQtDevice::invokeHandlers (QEvent * event) [protected]

Invoke all handlers registered with SoQtDevice::addEventHandler().

Author

Generated automatically by Doxygen for SoQt from the source code.