KeyInterface.hh 3.24 KB
 Jan Möbius committed Aug 29, 2008 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 //============================================================================= // // OpenFlipper // Copyright (C) 2008 by Computer Graphics Group, RWTH Aachen // www.openflipper.org // //----------------------------------------------------------------------------- // // License // // OpenFlipper is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // OpenFlipper is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with OpenFlipper. If not, see . // //----------------------------------------------------------------------------- // // $Revision$ // $Author$ // $Date$ // //============================================================================= // // C++ Interface: Basic Interface for keyboard events received from the examiner widget // // Description: // // // Author: Jan Moebius , (C) 2007 #ifndef KEYINTERFACE_HH #define KEYINTERFACE_HH #include /** \brief Interface class for plugins which have to react on keyboard events * Dirk Wilden committed Sep 17, 2008 52 53 54 55 * Using this interface you can react on key events. You first have to register * a key (or key combination). For each registered key you will receive a keyEvent when * the key was pressed and a keyReleaseEvent when the key was released. * Mike Kremer committed Mar 26, 2009 56 57 58 * See our tutorial \ref ex3 for an example of how to use mouse and keyboard events * within a plugin. * Dirk Wilden committed Sep 17, 2008 59 */ Jan Möbius committed Aug 29, 2008 60 class KeyInterface { Dirk Wilden committed Sep 17, 2008 61 62 63 64 65 66 67 68 69 signals: /** \brief Register a key-combination for your plugin * * To obtain key events from the viewer for a certain key-combination, you have * to register that combination first * * @param _key the key that should be registered * @param _modifiers the keyboard modifiers * @param _description a short description about the functionality Dirk Wilden committed Sep 17, 2008 70 * @param _multiUse can the key additionally be registered by another plugin Dirk Wilden committed Sep 17, 2008 71 */ Dirk Wilden committed Sep 30, 2008 72 virtual void registerKey(int /*_key*/, Qt::KeyboardModifiers /*_modifiers*/, QString /*_description*/, bool /*_multiUse*/ = false) {}; Dirk Wilden committed Sep 17, 2008 73 74 public slots : Jan Möbius committed Aug 29, 2008 75 76 77 78 79 80 /** \brief Key Event from Main App * * This slot is called if a key event occured in the Viewer * @param _event Keyevent */ Dirk Wilden committed Sep 30, 2008 81 virtual void slotKeyEvent( QKeyEvent* /*_event*/ ) {}; Jan Möbius committed Aug 29, 2008 82 83 84 85 86 87 /** \brief Key Release Event from Main App * * This slot is called if a key release event occured in the Viewer * @param _event Keyevent */ Dirk Wilden committed Sep 30, 2008 88 virtual void slotKeyReleaseEvent( QKeyEvent* /*_event*/ ) {}; Jan Möbius committed Aug 29, 2008 89 90 91 92 93 94 95 96 public : /// Destructor virtual ~KeyInterface() {}; }; Dirk Wilden committed Sep 17, 2008 97 Q_DECLARE_INTERFACE(KeyInterface,"OpenFlipper.KeyInterface/1.1") Jan Möbius committed Aug 29, 2008 98 99 #endif // KEYINTERFACE_HH