Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/osx/src/lib/gui/qt_gui/gui_control.cc @ 7913

Last change on this file since 7913 was 7661, checked in by bensch, 19 years ago

orxonox/trunk: merged the QT_GUI back to the trunk
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/qt_gui . -r7607:HEAD

absolutely no conflicts :)

File size: 2.3 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   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software Foundation,
18   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
20
21   ### File Specific:
22   main-programmer: Benjamin Grauer
23
24*/
25
26
27#include "gui_control.h"
28
29#include <QtGui/QLayout>
30#include "globals.h"
31#include "debug.h"
32#include "qt_gui_elements.h"
33
34#include "lib/event/key_mapper.h"
35#include "lib/event/key_names.h"
36
37namespace OrxGui
38{
39  /**
40   *  Creates the Control-Option-Frame
41  */
42  GuiControl::GuiControl(OrxGui::Gui* gui)
43      : Element(CONFIG_SECTION_CONTROL, gui), QGroupBox()
44  {
45    QGridLayout* layout = new QGridLayout(this);
46
47    {
48      //QLabel* keyLabel = new QLabel;
49
50      const KeyMapper::KeyMapping* map = KeyMapper::getKeyMapping();
51      unsigned int i = 0;
52      while(!map->pName.empty())
53      {
54        QLabel* label = new QLabel(QString().fromStdString(map->pName));
55        layout->addWidget(label, i, 0);
56
57        GuiControlInput* input = new GuiControlInput(map->pName, this, EVToKeyName(map->defaultValue));
58        layout->addWidget(input, i, 1);
59
60        ++map;
61        ++i;
62      }
63    }
64
65
66  }
67
68  /**
69   *  Destructs the Control-stuff
70  */
71  GuiControl::~GuiControl()
72  {
73    // nothing to do here.
74  }
75
76  GuiControlInput::GuiControlInput(const std::string& name, SaveableGroup* group, const std::string& defaultValue)
77      : QPushButton(QString().fromStdString(name)), Saveable(name, group, defaultValue)
78  {
79  }
80
81  void GuiControlInput::load()
82  {
83    Saveable::load();
84    this->setText(QString().fromStdString(this->value().getString()));
85  }
86  void GuiControlInput::save()
87  {
88    this->value() = this->text().toStdString();
89    Saveable::save();
90  }
91
92
93}
Note: See TracBrowser for help on using the repository browser.