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

SoQtDevice Class Reference
[Qt Device Classes]

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. More...

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

Inheritance diagram for SoQtDevice:
SoQtObject SoQtKeyboard SoQtMouse

List of all members.

Public Member Functions

virtual SoType getTypeId (void) const
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 initClass (void)
static SoType getClassTypeId (void)
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::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 SoQtObject.

Reimplemented in SoQtKeyboard, and SoQtMouse.

Referenced by initClasses().

SoType SoQtDevice::getClassTypeId ( void   )  [static]

This static method returns the SoType object associated with objects of this class.

Reimplemented from SoQtObject.

Reimplemented in SoQtKeyboard, and SoQtMouse.

SoType SoQtDevice::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
    }
  }

Implements SoQtObject.

Reimplemented in SoQtKeyboard, and SoQtMouse.

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 SoQtKeyboard, and SoQtMouse.

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

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

This method will disable the handler for the device.

Implemented in SoQtKeyboard, and SoQtMouse.

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 SoQtKeyboard, and SoQtMouse.

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 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.

Referenced by SoQtMouse::translateEvent(), and SoQtKeyboard::translateEvent().

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().


The documentation for this class was generated from the following files:

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated on Thu Mar 4 04:24:36 2010 for SoQt by Doxygen 1.6.1.