root/OpenSceneGraph/trunk/include/osgPresentation/deprecated/KeyEventHandler @ 13721

Revision 13721, 2.4 kB (checked in by robert, 3 hours ago)

From Mattias Helsing, "Seems I was only half right given what you asked for. CMP0017 only
says that modules that are found and ran from cmake modules dir should
prefer cmake-provided modules. find_package() and include() still look
in CMAKE_MODULE_PATH first.

After some investigating I've come up with a proposal examplified in
the attached FindGDAL.cmake script. It simply calls the cmake provided
FindGDAL.cmake if it exists and returns if it succeeds in finding GDAL
using that, otherwise continue with our local cmake code.
Pro: Wont clutter our root CMakeLists.txt
Con: If we begin to write more advanced Findxxx modules (using
COMPONENTS, REQUIRED etc.) we may have to revise this scheme.
"

Line 
1/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
2 *
3 * This software is open source and may be redistributed and/or modified under
4 * the terms of the GNU General Public License (GPL) version 2.0.
5 * The full license is in LICENSE.txt file included with this distribution,.
6 *
7 * This software is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 * include LICENSE.txt for more details.
11*/
12
13#ifndef KEYEVENTHANDLER
14#define KEYEVENTHANDLER 1
15
16#include <osg/StateSet>
17#include <osg/Point>
18
19#include <osgGA/GUIEventHandler>
20
21#include <osgPresentation/deprecated/SlideEventHandler>
22
23namespace osgPresentation
24{
25
26class OSGPRESENTATION_EXPORT KeyEventHandler : public osgGA::GUIEventHandler
27{
28    public:
29
30        KeyEventHandler(int key, osgPresentation::Operation operation, const JumpData& jumpData=JumpData());
31        KeyEventHandler(int key, const std::string& str, osgPresentation::Operation operation, const JumpData& jumpData=JumpData());
32        KeyEventHandler(int key, const osgPresentation::KeyPosition& keyPos, const JumpData& jumpData=JumpData());
33
34        void setKey(int key) { _key = key; }
35        int getKey() const { return _key; }
36
37        void setOperation(osgPresentation::Operation operation) { _operation = operation; }
38        osgPresentation::Operation getOperation() const { return _operation; }
39
40        void setCommand(const std::string& str) { _command = str; }
41        const std::string& getCommand() const { return _command; }
42
43        void setKeyPosition(const osgPresentation::KeyPosition& keyPos) { _keyPos = keyPos; }
44        const osgPresentation::KeyPosition&  getKeyPosition() const { return _keyPos; }
45
46        void setJumpData(const JumpData& jumpData) { _jumpData = jumpData; }
47        const JumpData& getJumpData() const { return _jumpData; }
48
49        virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa, osg::Object* object, osg::NodeVisitor* nv);
50
51        virtual void accept(osgGA::GUIEventHandlerVisitor& v);
52
53        virtual void getUsage(osg::ApplicationUsage& usage) const;
54
55        void doOperation();
56
57        int                                 _key;
58
59        std::string                         _command;
60        osgPresentation::KeyPosition        _keyPos;
61        osgPresentation::Operation          _operation;
62
63        JumpData                            _jumpData;
64};
65
66}
67
68#endif
Note: See TracBrowser for help on using the browser.