core/vgui/impl/qt/vgui_qt_window.h
Go to the documentation of this file.
00001 // This is core/vgui/impl/qt/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 // \endverbatim
00014 
00015 #include <vgui/vgui_window.h>
00016 #include <vgui/vgui_menu.h>
00017 
00018 #include "vgui_qt_statusbar.h"
00019 #include "vgui_qt_adaptor.h"
00020 
00021 #include <qmainwindow.h>
00022 #include <qobject.h>
00023 
00024 class vgui_gtk_adaptor;
00025 
00026 //: QT implementation of vgui_window.
00027 class vgui_qt_window :
00028    public QMainWindow,
00029    public vgui_window
00030 {
00031  public:
00032    vgui_qt_window(int w, int h, const vgui_menu& menu, const char* title);
00033    vgui_qt_window(int w, int h, const char* title);
00034   ~vgui_qt_window() {}
00035 
00036    void set_menubar(const vgui_menu &menu);
00037 
00038    vgui_statusbar* get_statusbar() { return &statusbar; }
00039    vgui_adaptor* get_adaptor() { return adaptor; }
00040 
00041    void show() { QMainWindow::show(); }
00042    void hide() { QMainWindow::hide(); }
00043 
00044  private:
00045    void setup_widget(int w, int h, const char* title);
00046 
00047    vgui_qt_adaptor*  adaptor ;
00048    vgui_qt_statusbar statusbar;
00049 
00050    bool use_menubar;
00051    bool use_statusbar;
00052 };
00053 
00054 #endif // VGUI_QT_WINDOW_H_