core/vgui/impl/qt/vgui_qt.h
Go to the documentation of this file.
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_