1 /*********************************************************************** 2 created: 24/9/2004 3 author: Paul D Turner 4 *************************************************************************/ 5 /*************************************************************************** 6 * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining 9 * a copy of this software and associated documentation files (the 10 * "Software"), to deal in the Software without restriction, including 11 * without limitation the rights to use, copy, modify, merge, publish, 12 * distribute, sublicense, and/or sell copies of the Software, and to 13 * permit persons to whom the Software is furnished to do so, subject to 14 * the following conditions: 15 * 16 * The above copyright notice and this permission notice shall be 17 * included in all copies or substantial portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 * OTHER DEALINGS IN THE SOFTWARE. 26 ***************************************************************************/ 27 #ifndef _GTK2CEGuiRendererSelector_h_ 28 #define _GTK2CEGuiRendererSelector_h_ 29 30 #include "CEGuiRendererSelector.h" 31 #include <gtk/gtk.h> 32 #include <string> 33 34 class GTK2CEGuiRendererSelector : public CEGuiRendererSelector 35 { 36 public: 37 GTK2CEGuiRendererSelector(); 38 ~GTK2CEGuiRendererSelector(); 39 40 bool invokeDialog(); 41 42 private: 43 // Renderer name strings 44 static const std::string OgreRendererName; 45 static const std::string OpenGLRendererName; 46 static const std::string IrrlichtRendererName; 47 48 // Static member funcs 49 void createDialog(); 50 static void on_cancelButton_clicked(GtkButton* button, gpointer user_data); 51 static void on_okButton_clicked(GtkButton* button, gpointer user_data); 52 static void on_combobox1_changed(GtkComboBox* combobox, gpointer user_data); 53 54 // general data 55 bool d_cancelled; 56 57 // GTK2 widgets 58 GtkWidget* d_dialog; 59 GtkWidget* d_vbox1; 60 GtkWidget* d_label1; 61 GtkWidget* d_hbox1; 62 GtkWidget* d_cancelButton; 63 GtkWidget* d_okButton; 64 GtkWidget* d_combobox1; 65 }; 66 67 #endif // end of guard _GTK2CEGuiRendererSelector_h_ 68