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

SoQtKeyboard.h

00001 /**************************************************************************\
00002  *
00003  *  This file is part of the Coin 3D visualization library.
00004  *  Copyright (C) 1998-2005 by Systems in Motion.  All rights reserved.
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU General Public License
00008  *  ("GPL") version 2 as published by the Free Software Foundation.
00009  *  See the file LICENSE.GPL at the root directory of this source
00010  *  distribution for additional information about the GNU GPL.
00011  *
00012  *  For using Coin with software that can not be combined with the GNU
00013  *  GPL, and for taking advantage of the additional benefits of our
00014  *  support services, please contact Systems in Motion about acquiring
00015  *  a Coin Professional Edition License.
00016  *
00017  *  See <URL:http://www.coin3d.org/> for more information.
00018  *
00019  *  Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
00020  *  <URL:http://www.sim.no/>.
00021  *
00022 \**************************************************************************/
00023 
00024 #ifndef SOQT_KEYBOARD_H
00025 #define SOQT_KEYBOARD_H
00026 
00027 #include <Inventor/Qt/devices/SoQtDevice.h>
00028 
00029 class SoKeyboardEvent;
00030 
00031 // *************************************************************************
00032 
00033 #define SO_QT_ALL_KEYBOARD_EVENTS SoQtKeyboard::ALL
00034 
00035 class SOQT_DLL_API SoQtKeyboard : public SoQtDevice {
00036   SOQT_OBJECT_HEADER(SoQtKeyboard, SoQtDevice);
00037 
00038 public:
00039   enum Events {
00040     KEY_PRESS = 0x01,
00041     KEY_RELEASE = 0x02,
00042     ALL_EVENTS = KEY_PRESS | KEY_RELEASE
00043   };
00044 
00045   SoQtKeyboard(int eventmask = ALL_EVENTS);
00046   virtual ~SoQtKeyboard(void);
00047 
00048   virtual void enable(QWidget * widget, SoQtEventHandler * handler, void * closure);
00049   virtual void disable(QWidget * widget, SoQtEventHandler * handler, void * closure);
00050 
00051   virtual const SoEvent * translateEvent(QEvent * event);
00052 
00053 private:
00054   class SoQtKeyboardP * pimpl;
00055   friend class SoQtKeyboardP;
00056   friend class SoGuiKeyboardP;
00057 };
00058 
00059 // *************************************************************************
00060 
00061 #endif // ! SOQT_KEYBOARD_H

Copyright © 1998-2005 by Systems in Motion AS. All rights reserved.

Generated on Mon Mar 27 00:38:51 2006 for SoQt by Doxygen. 1.4.6