00001 #ifndef TEXTUREPREVIEWCOMBO_H_ 00002 #define TEXTUREPREVIEWCOMBO_H_ 00003 00004 #include <string> 00005 00006 #include <gtk/gtkwidget.h> 00007 #include <gtk/gtkliststore.h> 00008 00009 namespace ui 00010 { 00011 00016 class TexturePreviewCombo 00017 { 00018 // Main container widget 00019 GtkWidget* _widget; 00020 00021 // The OpenGL preview widget 00022 GtkWidget* _glWidget; 00023 00024 // The texture to preview 00025 std::string _texName; 00026 00027 // Info table list store 00028 GtkListStore* _infoStore; 00029 00030 private: 00031 00032 /* GTK CALLBACKS */ 00033 00034 static void _onExpose (GtkWidget*, GdkEventExpose*, TexturePreviewCombo*); 00035 00036 // Refresh info table utility function 00037 void refreshInfoTable (); 00038 00039 public: 00040 00043 TexturePreviewCombo (); 00044 00050 void setTexture (const std::string& tex); 00051 00054 operator GtkWidget* () 00055 { 00056 return _widget; 00057 } 00058 }; 00059 } 00060 00061 #endif /*TEXTUREPREVIEWCOMBO_H_*/