Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/mount_points/src/lib/gui/qt/qt_gui_datadir_fallback.cc @ 10182

Last change on this file since 10182 was 8750, checked in by bensch, 18 years ago

orxonox/trunk: now one can also close orxonox when the datadir is not found by the user

File size: 2.6 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_datadir_fallback.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  QtGuiDataDirFallback::QtGuiDataDirFallback(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      QLabel* label = new QLabel();
53      label->setText("ORXONOX needs its DataDirectory to be configured.\n Just Select the ORXONOX-dataDirectory with the browse-button, and start the Game\n");
54
55      mainLayout->addWidget(label, 0,1);
56
57      mainLayout->addWidget(new GuiGeneral(this), 1, 1, 1, 3);
58
59      QPushButton* start = new QPushButton("start");
60      connect(start, SIGNAL(released()), this, SLOT(startApp()));
61      mainLayout->addWidget(start, 2,2);
62
63      QPushButton* quit = new QPushButton("quit");
64      connect(quit, SIGNAL(released()), this, SLOT(quitApp()));
65      mainLayout->addWidget(quit, 2,3);
66
67    }
68
69    connect(this->mainWindow, SIGNAL(destroyed()), this, SLOT(quitApp()));
70    this->mainWindow->setCentralWidget(groupBox);
71    this->mainWindow->show();
72
73    this->loadAll();
74    this->exec();
75    this->saveAll();
76
77  }
78
79  QtGuiDataDirFallback::~QtGuiDataDirFallback()
80  {
81    delete this->mainWindow;
82  }
83
84  void QtGuiDataDirFallback::startGui()
85  {
86  }
87
88  void QtGuiDataDirFallback::stopGui()
89  {}
90
91  void QtGuiDataDirFallback::suspend()
92  {}
93
94    //! Update the Gui.
95  void QtGuiDataDirFallback::update()
96  {
97    this->processEvents();
98  }
99
100
101  void QtGuiDataDirFallback::quitApp()
102  {
103    Gui::quitEvent();
104    this->quit();
105  }
106
107  void QtGuiDataDirFallback::startApp()
108  {
109    Gui::startEvent();
110    this->quit();
111  }
112
113}
Note: See TracBrowser for help on using the repository browser.