Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/gui/qt_gui/qt_gui.cc @ 7903

Last change on this file since 7903 was 7855, checked in by bensch, 19 years ago

qtgui: cleanup as patrick sugested

File size: 2.5 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
17
18#include "qt_gui.h"
19
20#include <QtGui/QApplication>
21#include <QtGui/QToolBox>
22#include <QtGui/QGridLayout>
23
24#include "qt_gui_elements.h"
25#include "q_image_widget.h"
26
27#include "gui_general.h"
28#include "gui_video.h"
29#include "gui_audio.h"
30#include "gui_control.h"
31
32#include "banner.xpm"
33
34namespace OrxGui
35{
36  QtGui::QtGui(int argc, char** argv)
37  : QApplication(argc, argv)
38  {
39
40    this->mainWindow = new QMainWindow();
41    this->mainWindow->setMinimumSize(500, 200);
42
43    QGroupBox* groupBox = new QGroupBox(this->mainWindow);
44    QGridLayout* mainLayout = new QGridLayout(groupBox);
45    {
46      QImageWidget* bannerWidget = new QImageWidget();
47      QImage bannerImage(banner_xpm);
48      bannerImage.save("test.bmp", "bmp");
49      bannerWidget->setImage(bannerImage);
50      mainLayout->addWidget(bannerWidget, 0,0, 3, 1);
51
52
53      QToolBox* toolBox = new QToolBox(groupBox);
54      {
55        toolBox->addItem(new GuiGeneral(this), "General");
56        toolBox->addItem(new GuiVideo(this), "Video");
57        toolBox->addItem(new GuiAudio(this), "Audio");
58        toolBox->addItem(new GuiControl(this), "Control");
59      }
60      mainLayout->addWidget(toolBox,1,1, 1, 3);
61
62
63      QPushButton* start = new QPushButton("start");
64      connect(start, SIGNAL(released()), this, SLOT(startApp()));
65      mainLayout->addWidget(start, 2,2);
66
67      QPushButton* quit = new QPushButton("quit");
68      connect(quit, SIGNAL(released()), this, SLOT(quitApp()));
69      mainLayout->addWidget(quit, 2,3);
70
71    }
72
73    connect(this->mainWindow, SIGNAL(destroyed()), this, SLOT(quitApp()));
74    this->mainWindow->setCentralWidget(groupBox);
75    this->mainWindow->show();
76
77    this->loadAll();
78    this->exec();
79    this->saveAll();
80
81  }
82
83  QtGui::~QtGui()
84  {
85    delete this->mainWindow;
86  }
87
88  void QtGui::startGui()
89  {
90  }
91
92  void QtGui::stopGui()
93  {}
94
95  void QtGui::suspend()
96  {}
97
98    //! Update the Gui.
99  void QtGui::update()
100  {
101    this->processEvents();
102  }
103
104
105  void QtGui::quitApp()
106  {
107    Gui::quitEvent();
108    this->quit();
109  }
110
111  void QtGui::startApp()
112  {
113    Gui::startEvent();
114    this->quit();
115  }
116
117}
Note: See TracBrowser for help on using the repository browser.