From Kristofer Tingdahl, with additions from Riccardo Corsi and Robert Milharcic, support for Qt5 build
This commit is contained in:
@@ -206,14 +206,14 @@ IF(DYNAMIC_OPENSCENEGRAPH)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF (QT_FOUND AND NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE AND NOT OSG_GL3_AVAILABLE)
|
||||
IF ( (QT4_FOUND OR Qt5Widgets_FOUND) AND NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE AND NOT OSG_GL3_AVAILABLE)
|
||||
|
||||
IF (QT_QTOPENGL_LIBRARY)
|
||||
IF ( QT4_FOUND OR Qt5Widgets_FOUND)
|
||||
ADD_SUBDIRECTORY(osgviewerQt)
|
||||
ADD_SUBDIRECTORY(osgqfont)
|
||||
ENDIF()
|
||||
|
||||
IF (QT4_FOUND AND QT_QTWEBKIT_FOUND)
|
||||
IF ( (QT4_FOUND AND QT_QTWEBKIT_FOUND) OR Qt5WebKitWidgets_FOUND )
|
||||
ADD_SUBDIRECTORY(osgQtWidgets)
|
||||
ADD_SUBDIRECTORY(osgQtBrowser)
|
||||
ENDIF()
|
||||
|
||||
@@ -7,10 +7,19 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
ENDIF()
|
||||
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${QT_QTWEBKIT_LIBRARY})
|
||||
INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
|
||||
if ( QT4_FOUND )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${QT_QTWEBKIT_LIBRARY})
|
||||
INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTOPENGL_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTWEBKIT_INCLUDE_DIR} )
|
||||
endif( QT4_FOUND )
|
||||
|
||||
SET(TARGET_ADDED_LIBRARIES osgWidget osgQt)
|
||||
|
||||
#### end var setup ###
|
||||
SETUP_EXAMPLE(osgQtBrowser)
|
||||
SET ( EXAMPLE_NAME osgQtBrowser )
|
||||
SETUP_EXAMPLE(${EXAMPLE_NAME})
|
||||
|
||||
IF ( Qt5Widgets_FOUND )
|
||||
qt5_use_modules( example_${EXAMPLE_NAME} Widgets OpenGL WebKitWidgets )
|
||||
ENDIF( Qt5Widgets_FOUND )
|
||||
|
||||
|
||||
|
||||
@@ -29,14 +29,20 @@
|
||||
#include <osgViewer/ViewerEventHandlers>
|
||||
#include <osgWidget/Browser>
|
||||
|
||||
#include <QtGlobal>
|
||||
#if QT_VERSION >= 0x050000
|
||||
# include <QtWebKitWidgets>
|
||||
#else
|
||||
# include <QtWebKit>
|
||||
#endif
|
||||
|
||||
#include <QtWebKit/QWebSettings>
|
||||
#include <QtWebKit/QtWebKit>
|
||||
#include <QtGui/QGraphicsScene>
|
||||
#include <QtGui/QGraphicsView>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QtEvents>
|
||||
#include <QWebSettings>
|
||||
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsView>
|
||||
#include <QApplication>
|
||||
#include <QPainter>
|
||||
#include <QtEvents>
|
||||
|
||||
#include <osgQt/QGraphicsViewAdapter>
|
||||
#include <osgQt/QWebViewImage>
|
||||
|
||||
@@ -7,10 +7,17 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
ENDIF()
|
||||
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${QT_QTWEBKIT_LIBRARY})
|
||||
INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
|
||||
if ( QT4_FOUND )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${QT_QTWEBKIT_LIBRARY})
|
||||
INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTOPENGL_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTWEBKIT_INCLUDE_DIR} )
|
||||
endif( QT4_FOUND )
|
||||
|
||||
SET(TARGET_ADDED_LIBRARIES osgWidget osgQt)
|
||||
|
||||
#### end var setup ###
|
||||
SETUP_EXAMPLE(osgQtWidgets)
|
||||
SET ( EXAMPLE_NAME osgQtWidgets )
|
||||
SETUP_EXAMPLE(${EXAMPLE_NAME})
|
||||
|
||||
IF ( Qt5Widgets_FOUND )
|
||||
qt5_use_modules( example_${EXAMPLE_NAME} OpenGL WebKitWidgets )
|
||||
ENDIF( Qt5Widgets_FOUND )
|
||||
|
||||
@@ -36,17 +36,16 @@
|
||||
#include <osgWidget/Browser>
|
||||
|
||||
|
||||
//#include <QtWebKit/QWebSettings>
|
||||
//#include <QtWebKit/QtWebKit>
|
||||
#include <QtGui/QGraphicsScene>
|
||||
#include <QtGui/QGraphicsView>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QtEvents>
|
||||
#include <QtGui/QDialog>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QMainWindow>
|
||||
#include <QtOpenGL/QtOpenGL>
|
||||
//#include <QWebSettings>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsView>
|
||||
#include <QApplication>
|
||||
#include <QPainter>
|
||||
#include <QtEvents>
|
||||
#include <QDialog>
|
||||
#include <QVBoxLayout>
|
||||
#include <QMainWindow>
|
||||
#include <QtOpenGL>
|
||||
|
||||
#include <osgQt/QGraphicsViewAdapter>
|
||||
#include <osgQt/QWebViewImage>
|
||||
@@ -98,7 +97,11 @@ protected:
|
||||
virtual void mousePressEvent(QMouseEvent* e)
|
||||
{
|
||||
bool ok = false;
|
||||
#if QT_VERSION >= 0x040500
|
||||
int val = QInputDialog::getInt(this, "Get integer", "Please enter an integer between 0 and pi", 0, 0, 3, 1, &ok);
|
||||
#else
|
||||
int val = QInputDialog::getInteger(this, "Get integer", "Please enter an integer between 0 and pi", 0, 0, 3, 1, &ok);
|
||||
#endif
|
||||
std::cout << "Ok was " << (ok ? "" : "not") << " pressed, val is " << val << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
#this file is automatically generated
|
||||
|
||||
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
|
||||
ADD_DEFINITIONS(-DUSE_QT4)
|
||||
|
||||
SET(TARGET_SRC osgqfont.cpp )
|
||||
SET(TARGET_ADDED_LIBRARIES osgQt osgText)
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY_RELEASE} ${QT_QTGUI_LIBRARY_RELEASE} ${QT_QTOPENGL_LIBRARY_RELEASE} )
|
||||
IF ( NOT Qt5Widgets_FOUND )
|
||||
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTOPENGL_INCLUDE_DIR} )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY_RELEASE} ${QT_QTGUI_LIBRARY_RELEASE} ${QT_QTOPENGL_LIBRARY_RELEASE} )
|
||||
ENDIF()
|
||||
|
||||
#### end var setup ###
|
||||
SETUP_EXAMPLE(osgqfont)
|
||||
SET ( EXAMPLE_NAME osgqfont )
|
||||
SETUP_EXAMPLE(${EXAMPLE_NAME})
|
||||
|
||||
IF ( Qt5Widgets_FOUND )
|
||||
qt5_use_modules( example_${EXAMPLE_NAME} Widgets OpenGL )
|
||||
ENDIF( Qt5Widgets_FOUND )
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QGridLayout>
|
||||
#include <QtGui/QWidget>
|
||||
#include <QApplication>
|
||||
#include <QGridLayout>
|
||||
#include <QWidget>
|
||||
|
||||
#include <osgQt/GraphicsWindowQt>
|
||||
#include <osgQt/QFontImplementation>
|
||||
|
||||
@@ -2,15 +2,26 @@ SET( TARGET_SRC
|
||||
osgviewerQt.cpp
|
||||
)
|
||||
|
||||
IF( QT4_FOUND )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY_RELEASE} ${QT_QTGUI_LIBRARY_RELEASE} ${QT_QTOPENGL_LIBRARY_RELEASE} )
|
||||
IF ( NOT Qt5Widgets_FOUND )
|
||||
IF( QT4_FOUND )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_QTCORE_LIBRARY_RELEASE} ${QT_QTGUI_LIBRARY_RELEASE}
|
||||
${QT_QTOPENGL_LIBRARY_RELEASE} )
|
||||
ADD_DEFINITIONS(-DUSE_QT4)
|
||||
ELSE( QT4_FOUND )
|
||||
ELSE( QT4_FOUND )
|
||||
SET(TARGET_EXTERNAL_LIBRARIES ${QT_LIBRARIES} )
|
||||
ENDIF( QT4_FOUND )
|
||||
ENDIF( QT4_FOUND )
|
||||
|
||||
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR}
|
||||
${QT_QTOPENGL_INCLUDE_DIR} )
|
||||
ENDIF()
|
||||
|
||||
SET(TARGET_ADDED_LIBRARIES osgWidget osgQt)
|
||||
|
||||
SETUP_EXAMPLE( osgviewerQt )
|
||||
SET( EXAMPLE_NAME osgviewerQt )
|
||||
|
||||
SETUP_EXAMPLE( ${EXAMPLE_NAME} )
|
||||
|
||||
IF ( Qt5Widgets_FOUND )
|
||||
qt5_use_modules( example_${EXAMPLE_NAME} Widgets OpenGL )
|
||||
ENDIF( Qt5Widgets_FOUND )
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <QtCore/QTimer>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QGridLayout>
|
||||
#include <QTimer>
|
||||
#include <QApplication>
|
||||
#include <QGridLayout>
|
||||
|
||||
#include <osgViewer/CompositeViewer>
|
||||
#include <osgViewer/ViewerEventHandlers>
|
||||
@@ -19,6 +19,9 @@ public:
|
||||
ViewerWidget(osgViewer::ViewerBase::ThreadingModel threadingModel=osgViewer::CompositeViewer::SingleThreaded) : QWidget()
|
||||
{
|
||||
setThreadingModel(threadingModel);
|
||||
|
||||
// disable the default setting of viewer.done() by pressing Escape.
|
||||
setKeyEventSetsDone(0);
|
||||
|
||||
QWidget* widget1 = addViewWidget( createCamera(0,0,100,100), osgDB::readNodeFile("cow.osgt") );
|
||||
QWidget* widget2 = addViewWidget( createCamera(0,0,100,100), osgDB::readNodeFile("glider.osgt") );
|
||||
|
||||
Reference in New Issue
Block a user