PickingInterface.hh 3.53 KB
 Jan Möbius committed Aug 29, 2008 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ``````//============================================================================= // // 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. `````` Jan Möbius committed Jan 27, 2009 15 ``````// `````` Jan Möbius committed Aug 29, 2008 16 17 18 19 ``````// 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. `````` Jan Möbius committed Jan 27, 2009 20 ``````// `````` Jan Möbius committed Aug 29, 2008 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ``````// You should have received a copy of the GNU Lesser General Public License // along with OpenFlipper. If not, see . // //----------------------------------------------------------------------------- // // \$Revision\$ // \$Author\$ // \$Date\$ // //============================================================================= // // C++ Interface: PickingInterface // `````` Jan Möbius committed Jan 27, 2009 38 ``````// Description: `````` Jan Möbius committed Aug 29, 2008 39 40 41 42 43 ``````// // // Author: Jan Moebius , (C) 2007 // `````` Jan Möbius committed Jan 27, 2009 44 45 ``````#ifndef PICKINGINTERFACE_HH #define PICKINGINTERFACE_HH `````` Jan Möbius committed Aug 29, 2008 46 47 48 49 `````` #include #include #include `````` Jan Möbius committed Jan 27, 2009 50 `````` `````` Jan Möbius committed Aug 29, 2008 51 `````` /** `````` Mike Kremer committed Feb 04, 2009 52 53 54 `````` * \brief Allow access to picking functions. * * Interface Class which allows access to picking functions `````` Jan Möbius committed Aug 29, 2008 55 56 57 `````` */ class PickingInterface { signals : `````` Jan Möbius committed Jan 27, 2009 58 59 `````` /** \brief Add a new picking mode to the examiner * `````` Jan Möbius committed Aug 29, 2008 60 61 `````` * @param _mode Identifier of Picking mode or "Separator" to add a Separator */ `````` Dirk Wilden committed Dec 09, 2008 62 `````` virtual void addPickMode( const std::string /*_mode*/) {}; `````` Jan Möbius committed Jan 27, 2009 63 `````` `````` Jan Möbius committed Aug 29, 2008 64 `````` /** \brief Add a new picking mode to the examiner which will be invisible `````` Jan Möbius committed Jan 27, 2009 65 `````` * `````` Jan Möbius committed Aug 29, 2008 66 67 68 `````` * The added PickMode will not appear in the context menus Picking menu. * You have to provide a button or menuentry yourself if you want to switch to * the picking mode provided here. `````` Jan Möbius committed Jan 27, 2009 69 `````` * `````` Jan Möbius committed Aug 29, 2008 70 71 `````` * @param _mode Identifier of Picking mode or "Separator" to add a Separator */ `````` Jan Möbius committed Jan 27, 2009 72 73 `````` virtual void addHiddenPickMode( const std::string /*_mode*/ ) {}; `````` Dirk Wilden committed Dec 09, 2008 74 `````` /** \brief Set the cursor of the given PickMode `````` Jan Möbius committed Jan 27, 2009 75 `````` * `````` Dirk Wilden committed Dec 09, 2008 76 `````` * Set the cursor that should be used inside the pickMode `````` Jan Möbius committed Jan 27, 2009 77 `````` * `````` Dirk Wilden committed Dec 09, 2008 78 79 `````` * @param _mode Identifier of Picking mode * @param _cursor the new cursor `````` Jan Möbius committed Aug 29, 2008 80 `````` */ `````` Dirk Wilden committed Dec 09, 2008 81 82 83 `````` virtual void setPickModeCursor( const std::string /*_mode*/ , QCursor /*_cursor*/ ) {}; /** \brief Set mouse tracking for the given PickMode `````` Jan Möbius committed Jan 27, 2009 84 `````` * `````` Dirk Wilden committed Dec 09, 2008 85 86 `````` * Enable mouseTracking for the given PickMode. When MouseTracking is enabled * you receive mouseMove events also when no button is pressed (via MouseInterface) `````` Jan Möbius committed Jan 27, 2009 87 `````` * `````` Dirk Wilden committed Dec 09, 2008 88 89 `````` * @param _mode Identifier of Picking mode * @param _mouseTracking new state of mouseTracking `````` Jan Möbius committed Aug 29, 2008 90 `````` */ `````` Dirk Wilden committed Dec 09, 2008 91 92 `````` virtual void setPickModeMouseTracking( const std::string /*_mode*/ , bool /*_mouseTracking*/ ) {}; `````` Jan Möbius committed Aug 29, 2008 93 `````` /** \brief The pickingMode has changed `````` Jan Möbius committed Jan 27, 2009 94 `````` * `````` Jan Möbius committed Aug 29, 2008 95 96 97 `````` * This slot is called if the user changes the current picking mode * @param _mode Identifier of Picking mode */ `````` Dirk Wilden committed Sep 30, 2008 98 `````` virtual void slotPickModeChanged( const std::string& /*_mode*/) {}; `````` Jan Möbius committed Jan 27, 2009 99 100 101 `````` public : `````` Jan Möbius committed Aug 29, 2008 102 103 `````` /// Destructor virtual ~PickingInterface() {}; `````` Jan Möbius committed Jan 27, 2009 104 `````` `````` Jan Möbius committed Aug 29, 2008 105 106 ``````}; `````` Dirk Wilden committed Dec 09, 2008 107 ``````Q_DECLARE_INTERFACE(PickingInterface,"OpenFlipper.PickingInterface/1.1") `````` Jan Möbius committed Jan 27, 2009 108 `````` `````` Jan Möbius committed Aug 29, 2008 109 ``#endif // PICKINGINTERFACE_HH``