Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/gui/gui.h @ 8765

Last change on this file since 8765 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: 1.1 KB
Line 
1/*!
2 * @file gui.h
3 * @brief Definition of ...
4*/
5
6#ifndef _GUI_H
7#define _GUI_H
8
9#include "base_object.h"
10#include <vector>
11
12// FORWARD DECLARATION
13
14namespace OrxGui
15{
16  class SaveableGroup;
17
18  //! A class for ...
19  class Gui : public BaseObject
20  {
21  public:
22    typedef enum {
23      Null          = 0,
24      Quitting      = 1,
25      Starting      = 2,
26      Saving        = 4,
27    } State;
28
29
30  public:
31    Gui();
32    virtual ~Gui();
33
34    //! Start the Gui
35    virtual void startGui() = 0;
36    //! Stop the gui
37    virtual void stopGui() = 0;
38    //! Suspend the Gui.
39    virtual void suspend() = 0;
40    //! Update the Gui.
41    virtual void update() = 0;
42
43    unsigned int getState() const { return this->state; };
44    void loadAll();
45    void saveAll();
46
47    void addSaveableGroup(SaveableGroup* saveableGroup);
48    void removeSaveableGroup(SaveableGroup* saveableGroup);
49
50  protected:
51    void quitEvent();
52    void startEvent();
53
54  private:
55    unsigned int                  state; //!< The State the Gui is in.
56    std::vector<SaveableGroup*>   groups;
57  };
58}
59#endif /* _GUI_H */
Note: See TracBrowser for help on using the repository browser.