diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index dfa21ede0..be9d05022 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -109,11 +109,7 @@ IF (wxWidgets_FOUND) ENDIF(wxWidgets_FOUND) IF (QT_FOUND) - IF (QT4_FOUND) - ADD_SUBDIRECTORY(osgviewerQT4) - ELSE(QT4_FOUND) - ADD_SUBDIRECTORY(osgviewerQT3) - ENDIF(QT4_FOUND) + ADD_SUBDIRECTORY(osgviewerQT) ENDIF(QT_FOUND) IF (FLTK_FOUND) diff --git a/examples/osgviewerQT/CMakeLists.txt b/examples/osgviewerQT/CMakeLists.txt new file mode 100644 index 000000000..c89c7d404 --- /dev/null +++ b/examples/osgviewerQT/CMakeLists.txt @@ -0,0 +1,12 @@ +SET(TARGET_SRC osgviewerQT.cpp ) + +SET(TARGET_EXTERNAL_LIBRARIES ${QT_LIBRARIES} ) + +INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ) + +IF (QT4_FOUND) + ADD_DEFINITIONS(-DUSE_QT4) +ENDIF(QT4_FOUND) + +#### end var setup ### +SETUP_EXAMPLE(osgviewerQT) diff --git a/examples/osgviewerQT3/osgviewerQT3.cpp b/examples/osgviewerQT/osgviewerQT.cpp similarity index 99% rename from examples/osgviewerQT3/osgviewerQT3.cpp rename to examples/osgviewerQT/osgviewerQT.cpp index d0c91e676..ac12683b4 100644 --- a/examples/osgviewerQT3/osgviewerQT3.cpp +++ b/examples/osgviewerQT/osgviewerQT.cpp @@ -5,14 +5,7 @@ #include #include -#if USE_QT3 - - class QWidget; - #include - #include - #include - -#else +#if USE_QT4 #include #include @@ -20,6 +13,14 @@ #include using Qt::WFlags; + +#else + + class QWidget; + #include + #include + #include + #endif #include diff --git a/examples/osgviewerQT3/CMakeLists.txt b/examples/osgviewerQT3/CMakeLists.txt deleted file mode 100644 index 3c237703a..000000000 --- a/examples/osgviewerQT3/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -SET(TARGET_SRC osgviewerQT3.cpp ) - -SET(TARGET_EXTERNAL_LIBRARIES ${QT_LIBRARIES} ) - -INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ) - -ADD_DEFINITIONS(-DUSE_QT3) - -#### end var setup ### -SETUP_EXAMPLE(osgviewerQT3) diff --git a/examples/osgviewerQT4/CMakeLists.txt b/examples/osgviewerQT4/CMakeLists.txt deleted file mode 100644 index e07a89220..000000000 --- a/examples/osgviewerQT4/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -#configure what we need from Qt4 -SET(QT_USE_QTOPENGL yes) -INCLUDE(UseQt4) - -SET(TARGET_SRC osgviewerQT4.cpp ) - -SET(TARGET_EXTERNAL_LIBRARIES ${QT_LIBRARIES} ) - -INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ) - -#### end var setup ### -SETUP_EXAMPLE(osgviewerQT4) diff --git a/examples/osgviewerQT4/osgviewerQT4.cpp b/examples/osgviewerQT4/osgviewerQT4.cpp deleted file mode 100644 index 95eb96427..000000000 --- a/examples/osgviewerQT4/osgviewerQT4.cpp +++ /dev/null @@ -1,142 +0,0 @@ -// C++ source file - (C) 2003 Robert Osfield, released under the OSGPL. -// (C) 2005 Mike Weiblen http://mew.cx/ released under the OSGPL. -// Simple example using GLUT to create an OpenGL window and OSG for rendering. -// Derived from osgGLUTsimple.cpp and osgkeyboardmouse.cpp - -#include -#include -#include - -#include -#include -#include -#include - -#include - -class GraphicsWindowQT : public QGLWidget, virtual osgViewer::GraphicsWindow -{ -public: - - GraphicsWindowQT( QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, Qt::WFlags f = 0 ); - virtual ~GraphicsWindowQT() {} - -protected: - - virtual void resizeGL( int width, int height ); - virtual void keyPressEvent( QKeyEvent* event ); - virtual void keyReleaseEvent( QKeyEvent* event ); - virtual void mousePressEvent( QMouseEvent* event ); - virtual void mouseReleaseEvent( QMouseEvent* event ); - virtual void mouseMoveEvent( QMouseEvent* event ); - - QTimer _timer; -}; - -GraphicsWindowQT::GraphicsWindowQT( QWidget * parent, const char * /*name*/, const QGLWidget * shareWidget, Qt::WFlags f): - QGLWidget(parent, shareWidget, f) -{ - connect(&_timer, SIGNAL(timeout()), this, SLOT(updateGL())); - _timer.start(10); -} - -void GraphicsWindowQT::resizeGL( int width, int height ) -{ - getEventQueue()->windowResize(0, 0, width, height ); -} - -void GraphicsWindowQT::keyPressEvent( QKeyEvent* event ) -{ - getEventQueue()->keyPress( (osgGA::GUIEventAdapter::KeySymbol) event->key() ); -} - -void GraphicsWindowQT::keyReleaseEvent( QKeyEvent* event ) -{ - getEventQueue()->keyRelease( (osgGA::GUIEventAdapter::KeySymbol) event->key() ); -} - -void GraphicsWindowQT::mousePressEvent( QMouseEvent* event ) -{ - int button = 0; - switch(event->button()) - { - case(Qt::LeftButton): button = 1; break; - case(Qt::MidButton): button = 2; break; - case(Qt::RightButton): button = 3; break; - case(Qt::NoButton): button = 0; break; - default: button = 0; break; - } - getEventQueue()->mouseButtonPress(event->x(), event->y(), button); -} - -void GraphicsWindowQT::mouseReleaseEvent( QMouseEvent* event ) -{ - int button = 0; - switch(event->button()) - { - case(Qt::LeftButton): button = 1; break; - case(Qt::MidButton): button = 2; break; - case(Qt::RightButton): button = 3; break; - case(Qt::NoButton): button = 0; break; - default: button = 0; break; - } - getEventQueue()->mouseButtonRelease(event->x(), event->y(), button); -} - -void GraphicsWindowQT::mouseMoveEvent( QMouseEvent* event ) -{ - getEventQueue()->mouseMotion(event->x(), event->y()); -} - - -class SimpleViewerQT : public osgViewer::SimpleViewer, public GraphicsWindowQT -{ - public: - - SimpleViewerQT( QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, Qt::WFlags f = 0 ): - GraphicsWindowQT(parent, name, shareWidget, f) {} - - virtual void initializeGL() - { - QGLWidget::initializeGL(); - } - - virtual void paintGL() - { - frame(); - } - -}; - - -int main( int argc, char **argv ) -{ - QApplication a( argc, argv ); - - if (argc<2) - { - std::cout << argv[0] <<": requires filename argument." << std::endl; - return 1; - } - - // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFile(argv[1]); - if (!loadedModel) - { - std::cout << argv[0] <<": No data loaded." << std::endl; - return 1; - } - - - SimpleViewerQT* viewerWindow = new SimpleViewerQT; - - viewerWindow->setSceneData(loadedModel.get()); - viewerWindow->setCameraManipulator(new osgGA::TrackballManipulator); - - viewerWindow->show(); - a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) ); - - return a.exec(); -} - -/*EOF*/