Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/gui/orxonox_gui.h @ 2587

Last change on this file since 2587 was 2587, checked in by bensch, 20 years ago

orxonox/trunk/gui: added init-routine to Menu as promised in last comit-message

File size: 3.8 KB
Line 
1#ifndef _ORXONOX_GUI_H
2#define _ORXONOX_GUI_H
3
4#include <stdlib.h>
5#include <string.h>
6#include <gtk/gtkmain.h>
7#include <gtk/gtkwindow.h>
8#include <gtk/gtkframe.h>
9#include <gtk/gtkhbox.h>
10#include <gtk/gtkvbox.h>
11#include <gtk/gtkbutton.h>
12#include <gtk/gtkcheckbutton.h>
13#include <gtk/gtkhscale.h>
14#include <gtk/gtkoptionmenu.h>
15#include <gtk/gtkmenu.h>
16#include <gtk/gtkmenuitem.h>
17#include <gtk/gtklabel.h>
18#include <gtk/gtkimage.h>
19#include <gtk/gtkeventbox.h>
20
21class OrxonoxGui
22{
23 public:
24  OrxonoxGui (int argc, char *argv[]);
25  ~OrxonoxGui ();
26
27};
28
29class Widget
30{
31 private:
32 public:
33  Widget* next;
34  GtkWidget* widget;
35  virtual void init(void);
36  int is_option;
37
38  void connectSignal (char* event, gint (*signal)(GtkWidget*, GdkEvent*, void *));
39  void connectSignal (char* event, gint (*signal)(GtkWidget*, Widget *));
40  void connectSignal (char* event, void* extObj, gint (*signal)(GtkWidget*, GdkEvent*, void *));
41  void show ();
42
43  void walkThrough (void (*function)(Widget*));
44  static void listOptions (Widget* widget);
45  static void setOptions (Widget* widget);
46
47};
48
49
50
51class Container : public Widget
52{
53 private:
54  int borderwidth;
55  int policy;
56  char* label;
57 
58 public:
59  void init(void);
60  Widget* down;
61  void setBorderWidth (int borderwidth);
62  virtual void setTitle (char* title) = 0;
63  void fill (Widget *lowerWidget);
64};
65
66class Window : public Container
67{
68 public:
69  Window (char* windowName);
70  Window (void);
71  ~Window ();
72  void init ();
73 
74  void setTitle (char* title);
75  void showall ();
76  static gint orxonox_gui_quit (GtkWidget *widget, GdkEvent *event, gpointer data);
77};
78
79class Frame :public Container
80{
81 public:
82  Frame (char* frameName);
83  Frame (void);
84  ~Frame ();
85  void init(void);
86 
87  void setTitle (char* title);
88};
89
90class EventBox : public Container
91{
92 public:
93  EventBox (char* eventBoxName);
94  EventBox (void);
95  ~EventBox ();
96  void init(void);
97 
98  void setTitle (char* title);
99};
100
101class Box : public Widget
102{
103 public:
104  Box (void);
105  Box (char boxtype);
106  ~Box (void);
107  void init(char boxtype);
108
109  Widget* down;
110  void fill (Widget* lowerWidget);
111
112};
113
114class Image : public Widget
115{
116 public:
117  Image (char* imgaename);
118  ~Image ();
119  void init(void);
120};
121
122class Option : public Widget
123{
124 public:
125  //virtual gint OptionChange (GtkWidget *widget, GdkEvent *event, gpointer data);
126  void init(void);
127
128  int value;
129  char* option_name;
130  char* flag_name;
131  char* flag_name_short;
132  int default_value;
133
134  void setFlagName (char* flagname, int defaultvalue);
135  void setFlagName (char* flagname, char* flagnameshort, int defaultvalue);
136  virtual void redraw () = 0;
137};
138
139class Button : public Option
140{
141 public:
142  Button (char* buttonname);
143  ~Button (void);
144  void init(void);
145
146  void setTitle(char* title);
147 
148  void redraw();
149};
150
151class CheckButton : public Option
152{
153 public:
154  CheckButton (char* buttonname);
155  ~CheckButton (void);
156  static gint OptionChange (GtkWidget* widget, Widget* checkbutton);
157 
158  void init(void);
159  void setTitle(char* title);
160
161  void redraw ();
162};
163
164class Slider : public Option
165{
166 public:
167  Slider (char* slidername,int start, int end);
168  ~Slider ();
169  void init(int start, int end);
170
171  void setTitle(char* title);
172  void setValue(int value);
173
174  static gint OptionChange (GtkWidget* widget, Widget* slider);
175  void redraw();
176};
177
178class Menu : public Option
179{
180 private:
181  GtkWidget* menu;
182  GtkWidget* item;
183  va_list itemlist;
184 
185 public:
186  Menu (char* menuname, ...);
187  ~Menu ();
188  void init(void);
189
190  void setTitle(char* title);
191
192  void addItem(char* itemName);
193  static gint OptionChange (GtkWidget* widget, Widget* menu);
194  void redraw();
195};
196
197class Label : public Widget
198{
199 public:
200  Label ();
201  Label (char* text);
202  ~Label ();
203  void init(void);
204 
205  void setText (char * text);
206  char* getText ();
207};
208
209//gint orxonox_gui_quit (GtkWidget *widget, GdkEvent *event, gpointer data);
210
211#endif /* _ORXONOX_GUI_H */
Note: See TracBrowser for help on using the repository browser.