00001 #ifndef VGUI_QT_H_ 00002 #define VGUI_QT_H_ 00003 //: 00004 // \file 00005 // \brief QT implementation of vgui_toolkit. 00006 // 00007 // vgui_qt is a QT implementation of vgui_toolkit. 00008 // Provides functions for controlling the event loop. 00009 // 00010 // \author 00011 // Joris Schouteden, ESAT, K.U.Leuven 00012 // 00013 // \verbatim 00014 // Modifications 00015 // 24.03.2000 JS Initial Version, adapted from vgui_gtk 00016 // 14.11.2005 Chanop Silpa-Anan adapted to QT 3.3.5 for X11/Mac 00017 // \endverbatim 00018 //----------------------------------------------------------------------------- 00019 00020 #include <vgui/vgui_toolkit.h> 00021 00022 class vgui_qt_adaptor; 00023 class vgui_qt_window; 00024 00025 //: QT implementation of vgui_toolkit. 00026 class vgui_qt : public vgui_toolkit 00027 { 00028 public: 00029 static vgui_qt* instance(); 00030 virtual vcl_string name() const { return "qt"; } 00031 virtual void run(); 00032 virtual void run_one_event(); 00033 virtual void run_till_idle(); 00034 virtual void flush(); 00035 virtual vgui_window* produce_window(int width, int height, 00036 const vgui_menu& menubar, 00037 const char* title="vgui qt window"); 00038 virtual vgui_window* produce_window(int width, int height, 00039 const char* title="vgui qt popup"); 00040 virtual vgui_dialog_impl* produce_dialog(const char* name); 00041 00042 protected: 00043 vgui_qt() {} 00044 void init(int &, char **); 00045 }; 00046 00047 #endif // VGUI_QT_H_