core/vgui/impl/qt4/vgui_qt_window.h
Go to the documentation of this file.
00001 // This is core/vgui/impl/qt4/vgui_qt_window.h
00002 #ifndef vgui_qt_window_h_
00003 #define vgui_qt_window_h_
00004 //:
00005 // \file
00006 // \brief qt windows
00007 // \author Joris Schouteden, ESAT, K.U.Leuven
00008 //
00009 // \verbatim
00010 //  Modifications
00011 //   24.03.2000 JS  Initial Version, adapted from vgui_gtk_window
00012 //   14.11.2005 Chanop Silpa-Anan  adapted to QT 3.3.5 for X11/Mac
00013 //   02.05.2007 Christoph_John@gmx.de ported to QT 4.2.2
00014 //   23.05.2007 Matt Leotta  converted to QT3 compatibility functions to native QT4
00015 // \endverbatim
00016 
00017 #include <vgui/vgui_window.h>
00018 #include <vgui/vgui_menu.h>
00019 
00020 #include "vgui_qt_statusbar.h"
00021 #include "vgui_qt_adaptor.h"
00022 
00023 #include <QMainWindow>
00024 #include <QObject>
00025 
00026 
00027 //: QT implementation of vgui_window.
00028 class vgui_qt_window :
00029    public QMainWindow,
00030    public vgui_window
00031 {
00032  public:
00033    vgui_qt_window(int w, int h, const vgui_menu& menu, const char* title);
00034    vgui_qt_window(int w, int h, const char* title);
00035   ~vgui_qt_window() {}
00036 
00037    void set_menubar(const vgui_menu &menu);
00038 
00039    vgui_statusbar* get_statusbar() { return &statusbar; }
00040    vgui_adaptor* get_adaptor() { return adaptor; }
00041 
00042    void show() { QMainWindow::show(); }
00043    void hide() { QMainWindow::hide(); }
00044 
00045  private:
00046    void setup_widget(int w, int h, const char* title);
00047 
00048    vgui_qt_adaptor*  adaptor ;
00049    vgui_qt_statusbar statusbar;
00050 
00051    bool use_menubar;
00052    bool use_statusbar;
00053 };
00054 
00055 #endif // vgui_qt_window_h_