From 64f0d4fb353ae2e447483897839d4df8b5b32f54 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 29 Dec 2015 12:27:48 +0200 Subject: Add a method for checking if context was successfully created Now it is possible to check after graph construction if the graph is actually usable in environments where the OpenGL support might not be sufficient. Task-number: QTRD-3748 Change-Id: Ia68b4e51386859f6d0c7b09cb44e50a74730ca55 Reviewed-by: Titta Heikkala --- examples/datavisualization/audiolevels/main.cpp | 6 ++++++ examples/datavisualization/bars/main.cpp | 8 ++++++++ examples/datavisualization/custominput/main.cpp | 8 ++++++++ examples/datavisualization/customitems/main.cpp | 8 ++++++++ examples/datavisualization/customproxy/customproxy.pro | 1 - examples/datavisualization/customproxy/main.cpp | 6 ++++++ examples/datavisualization/draggableaxes/main.cpp | 8 ++++++++ examples/datavisualization/itemmodel/main.cpp | 8 ++++++++ examples/datavisualization/rotations/main.cpp | 8 ++++++++ examples/datavisualization/scatter/main.cpp | 8 ++++++++ examples/datavisualization/surface/main.cpp | 8 ++++++++ examples/datavisualization/texturesurface/main.cpp | 8 ++++++++ examples/datavisualization/volumetric/main.cpp | 8 ++++++++ 13 files changed, 92 insertions(+), 1 deletion(-) (limited to 'examples/datavisualization') diff --git a/examples/datavisualization/audiolevels/main.cpp b/examples/datavisualization/audiolevels/main.cpp index a8de6adb..a526c2ef 100644 --- a/examples/datavisualization/audiolevels/main.cpp +++ b/examples/datavisualization/audiolevels/main.cpp @@ -31,6 +31,12 @@ int main(int argc, char *argv[]) QGuiApplication app(argc, argv); Q3DBars window; + + if (!window.hasContext()) { + qWarning() << QStringLiteral("Couldn't initialize the OpenGL context.") ; + return -1; + } + window.setFlags(window.flags() ^ Qt::FramelessWindowHint); window.resize(800, 500); window.setTitle("Qt Data Visualization - Microphone audio levels visualizer"); diff --git a/examples/datavisualization/bars/main.cpp b/examples/datavisualization/bars/main.cpp index f6d8752c..9eb7a526 100644 --- a/examples/datavisualization/bars/main.cpp +++ b/examples/datavisualization/bars/main.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,13 @@ int main(int argc, char **argv) QWidget *container = QWidget::createWindowContainer(widgetgraph); //! [0] + if (!widgetgraph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = widgetgraph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/custominput/main.cpp b/examples/datavisualization/custominput/main.cpp index a104854d..28d06d4f 100644 --- a/examples/datavisualization/custominput/main.cpp +++ b/examples/datavisualization/custominput/main.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -39,6 +40,13 @@ int main(int argc, char **argv) Q3DScatter *graph = new Q3DScatter(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/customitems/main.cpp b/examples/datavisualization/customitems/main.cpp index 1e96a64a..138b1467 100644 --- a/examples/datavisualization/customitems/main.cpp +++ b/examples/datavisualization/customitems/main.cpp @@ -27,6 +27,7 @@ #include #include #include +#include int main(int argc, char **argv) { @@ -34,6 +35,13 @@ int main(int argc, char **argv) Q3DSurface *graph = new Q3DSurface(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + container->setMinimumSize(QSize(800, 600)); container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); container->setFocusPolicy(Qt::StrongFocus); diff --git a/examples/datavisualization/customproxy/customproxy.pro b/examples/datavisualization/customproxy/customproxy.pro index 454c81e9..fd5e0852 100644 --- a/examples/datavisualization/customproxy/customproxy.pro +++ b/examples/datavisualization/customproxy/customproxy.pro @@ -23,4 +23,3 @@ RESOURCES += customproxy.qrc OTHER_FILES += doc/src/* \ doc/images/* \ data/raindata.txt - diff --git a/examples/datavisualization/customproxy/main.cpp b/examples/datavisualization/customproxy/main.cpp index 9c5373e4..b9118668 100644 --- a/examples/datavisualization/customproxy/main.cpp +++ b/examples/datavisualization/customproxy/main.cpp @@ -29,6 +29,12 @@ int main(int argc, char **argv) QGuiApplication app(argc, argv); Q3DBars *rainfall = new Q3DBars; + + if (!rainfall->hasContext()) { + qWarning() << QStringLiteral("Couldn't initialize the OpenGL context.") ; + return -1; + } + rainfall->setFlags(rainfall->flags() ^ Qt::FramelessWindowHint); rainfall->resize(1000, 800); rainfall->setPosition(QPoint(10, 30)); diff --git a/examples/datavisualization/draggableaxes/main.cpp b/examples/datavisualization/draggableaxes/main.cpp index a511935b..8d9bc8ec 100644 --- a/examples/datavisualization/draggableaxes/main.cpp +++ b/examples/datavisualization/draggableaxes/main.cpp @@ -26,6 +26,7 @@ #include #include #include +#include int main(int argc, char **argv) { @@ -33,6 +34,13 @@ int main(int argc, char **argv) Q3DScatter *graph = new Q3DScatter(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + container->setMinimumSize(800, 600); container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); container->setFocusPolicy(Qt::StrongFocus); diff --git a/examples/datavisualization/itemmodel/main.cpp b/examples/datavisualization/itemmodel/main.cpp index 77ec57a4..57fbb563 100644 --- a/examples/datavisualization/itemmodel/main.cpp +++ b/examples/datavisualization/itemmodel/main.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #define USE_STATIC_DATA @@ -248,6 +249,13 @@ int main(int argc, char **argv) QWidget *container = QWidget::createWindowContainer(graph); //! [0] + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/rotations/main.cpp b/examples/datavisualization/rotations/main.cpp index db38b401..40d160bb 100644 --- a/examples/datavisualization/rotations/main.cpp +++ b/examples/datavisualization/rotations/main.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include int main(int argc, char **argv) @@ -36,6 +37,13 @@ int main(int argc, char **argv) Q3DScatter *graph = new Q3DScatter(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/scatter/main.cpp b/examples/datavisualization/scatter/main.cpp index 5d417737..c734f86c 100644 --- a/examples/datavisualization/scatter/main.cpp +++ b/examples/datavisualization/scatter/main.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,13 @@ int main(int argc, char **argv) QWidget *container = QWidget::createWindowContainer(graph); //! [0] + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/surface/main.cpp b/examples/datavisualization/surface/main.cpp index ca5783af..5e7bd50c 100644 --- a/examples/datavisualization/surface/main.cpp +++ b/examples/datavisualization/surface/main.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,13 @@ int main(int argc, char **argv) QWidget *container = QWidget::createWindowContainer(graph); //! [0] + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.6)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/texturesurface/main.cpp b/examples/datavisualization/texturesurface/main.cpp index b2e7c9e3..adea272e 100644 --- a/examples/datavisualization/texturesurface/main.cpp +++ b/examples/datavisualization/texturesurface/main.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -37,6 +38,13 @@ int main(int argc, char **argv) Q3DSurface *graph = new Q3DSurface(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.6)); container->setMaximumSize(screenSize); diff --git a/examples/datavisualization/volumetric/main.cpp b/examples/datavisualization/volumetric/main.cpp index 0508a1b3..b31fa981 100644 --- a/examples/datavisualization/volumetric/main.cpp +++ b/examples/datavisualization/volumetric/main.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include int main(int argc, char **argv) @@ -38,6 +39,13 @@ int main(int argc, char **argv) Q3DScatter *graph = new Q3DScatter(); QWidget *container = QWidget::createWindowContainer(graph); + if (!graph->hasContext()) { + QMessageBox msgBox; + msgBox.setText("Couldn't initialize the OpenGL context."); + msgBox.exec(); + return -1; + } + QSize screenSize = graph->screen()->size(); container->setMinimumSize(QSize(screenSize.width() / 3, screenSize.height() / 3)); container->setMaximumSize(screenSize); -- cgit v1.2.3