From fd5f5a71c2a14dd3b289a6c526304371ef77882b Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 8 Apr 2009 10:32:19 +0000 Subject: [PATCH] From Martin Beckett, added mouse wheel support --- examples/osgviewerQT/AdapterWidget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/examples/osgviewerQT/AdapterWidget.cpp b/examples/osgviewerQT/AdapterWidget.cpp index a9d0648ea..8598a7687 100644 --- a/examples/osgviewerQT/AdapterWidget.cpp +++ b/examples/osgviewerQT/AdapterWidget.cpp @@ -69,7 +69,7 @@ class AdapterWidget : public QGLWidget virtual void mousePressEvent( QMouseEvent* event ); virtual void mouseReleaseEvent( QMouseEvent* event ); virtual void mouseMoveEvent( QMouseEvent* event ); - + virtual void wheelEvent(QWheelEvent *event); osg::ref_ptr _gw; }; @@ -88,6 +88,7 @@ AdapterWidget::AdapterWidget( QWidget * parent, const char * name, const QGLWidg #endif } + void AdapterWidget::resizeGL( int width, int height ) { _gw->getEventQueue()->windowResize(0, 0, width, height ); @@ -145,6 +146,11 @@ void AdapterWidget::mouseMoveEvent( QMouseEvent* event ) _gw->getEventQueue()->mouseMotion(event->x(), event->y()); } +void AdapterWidget::wheelEvent(QWheelEvent *event) +{ + _gw->getEventQueue()->mouseScroll((event->delta()>0) ? + osgGA::GUIEventAdapter::SCROLL_UP : osgGA::GUIEventAdapter::SCROLL_DOWN); +} class ViewerQT : public osgViewer::Viewer, public AdapterWidget { @@ -264,6 +270,7 @@ int mainAdapterWidget(QApplication& a, osg::ArgumentParser& arguments) viewerWindow->setCameraManipulator(new osgGA::TrackballManipulator); viewerWindow->setSceneData(loadedModel.get()); + viewerWindow->addEventHandler(new osgViewer::StatsHandler); viewerWindow->show(); }