diff --git a/tools/moldyn/moldyn.cpp b/tools/moldyn/moldyn.cpp index 2294dd0fdf0c91e75515de3092efd2101f622845..3dfab9a4a49b18293f57e4d848ad96e2e3bcb06c 100644 --- a/tools/moldyn/moldyn.cpp +++ b/tools/moldyn/moldyn.cpp @@ -215,6 +215,7 @@ MolDynDlg::MolDynDlg(QWidget* pParent) : QMainWindow{pParent}, m::create<t_vec_gl>({1,0,0,0}), m::create<t_vec_gl>({0,0,1,0})); connect(m_plot, &GlPlot::AfterGLInitialisation, this, &MolDynDlg::AfterGLInitialisation); + connect(m_plot, &GlPlot::GLInitialisationFailed, this, &MolDynDlg::GLInitialisationFailed); connect(m_plot->GetImpl(), &GlPlot_impl::PickerIntersection, this, &MolDynDlg::PickerIntersection); connect(m_plot, &GlPlot::MouseDown, this, &MolDynDlg::PlotMouseDown); connect(m_plot, &GlPlot::MouseUp, this, &MolDynDlg::PlotMouseUp); @@ -1146,6 +1147,15 @@ void MolDynDlg::AfterGLInitialisation() } +void MolDynDlg::GLInitialisationFailed() +{ + std::string err = "GL initialisation failed."; + err += " Need GL version " + std::to_string(_GL_MAJ_VER) + "." + std::to_string(_GL_MIN_VER); + err += " and shader version " + std::to_string(_GLSL_MAJ_VER) + std::to_string(_GLSL_MIN_VER) + "0."; + QMessageBox::critical(this, PROG_NAME, err.c_str()); +} + + void MolDynDlg::closeEvent(QCloseEvent *evt) { if(m_sett) diff --git a/tools/moldyn/moldyn.h b/tools/moldyn/moldyn.h index 12d4c66316d8e2e2c5720c04eac9939a176aea55..e499d951ebc9a370b26c43c2a1eac5c1d27da1c0 100644 --- a/tools/moldyn/moldyn.h +++ b/tools/moldyn/moldyn.h @@ -53,6 +53,7 @@ protected: void PlotMouseClick(bool left, bool mid, bool right); void PickerIntersection(const t_vec3_gl* pos, std::size_t objIdx, const t_vec3_gl* posSphere); void AfterGLInitialisation(); + void GLInitialisationFailed(); std::tuple<bool, std::size_t, std::size_t, std::size_t> GetAtomIndexFromHandle(std::size_t handle) const;