Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk/gui: Image now Pressable; added Class EventBox to but the Image inside

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