Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk/gui: walkThrough-function implemented, that walks down through all the widgets, and executes static functions (so far: listOptions, setOptions) on them

File size: 3.3 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 public:
32  Widget* next;
33  GtkWidget* widget;
34  int is_option;
35
36  //virtual void create ();
37  //  void addWidget ();
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  Widget* down;
60  void setBorderWidth (int borderwidth);
61  virtual void setTitle (char* title) = 0;
62  void fill (Widget *lowerWidget);
63};
64
65class Window : public Container
66{
67 public:
68  Window (char* windowName);
69  Window (void);
70  ~Window ();
71 
72  void setTitle (char* title);
73  void showall ();
74  static gint orxonox_gui_quit (GtkWidget *widget, GdkEvent *event, gpointer data);
75};
76
77class Frame :public Container
78{
79 public:
80  Frame (char* frameName);
81  Frame (void);
82  ~Frame ();
83 
84  void setTitle (char* title);
85};
86
87class EventBox : public Container
88{
89 public:
90  EventBox (char* eventBoxName);
91  EventBox (void);
92  ~EventBox ();
93
94  void setTitle (char* title);
95};
96
97class Box : public Widget
98{
99 public:
100  Box (void);
101  Box (char boxtype);
102  ~Box (void);
103
104  Widget* down;
105  void fill (Widget* lowerWidget);
106
107};
108
109class Image : public Widget
110{
111 public:
112  Image (char* imgaename);
113  ~Image ();
114};
115
116class Option : public Widget
117{
118 public:
119  //virtual gint OptionChange (GtkWidget *widget, GdkEvent *event, gpointer data);
120 
121  int value;
122  char* option_name;
123  char* flag_name;
124  char* flag_name_short;
125  int default_value;
126
127  void setFlagName (char* flagname, int defaultvalue);
128  void setFlagName (char* flagname, char* flagnameshort, int defaultvalue);
129  virtual void redraw () = 0;
130};
131
132class Button : public Option
133{
134 public:
135  Button (char* buttonname);
136  ~Button (void);
137 
138  void redraw();
139};
140
141class CheckButton : public Option
142{
143 public:
144  CheckButton (char* buttonname);
145  ~CheckButton (void);
146  static gint OptionChange (GtkWidget* widget, Widget* checkbutton);
147  void redraw ();
148};
149
150class Slider : public Option
151{
152 public:
153  Slider (char* slidername,int start, int end);
154  ~Slider ();
155  static gint OptionChange (GtkWidget* widget, Widget* slider);
156  void redraw();
157};
158
159class Menu : public Option
160{
161 public:
162  Menu (char* menuname, ...);
163  ~Menu ();
164
165  static gint OptionChange (GtkWidget* widget, Widget* menu);
166  void redraw();
167};
168
169class Label : public Widget
170{
171 public:
172  Label ();
173  Label (char* text);
174  ~Label ();
175 
176  void setText (char * text);
177  char* getText ();
178};
179
180//gint orxonox_gui_quit (GtkWidget *widget, GdkEvent *event, gpointer data);
181
182#endif /* _ORXONOX_GUI_H */
Note: See TracBrowser for help on using the repository browser.