52 |
public: |
public: |
53 |
virtual ~Widget() {} |
virtual ~Widget() {} |
54 |
|
|
55 |
virtual bool has_changed() const { return false; } |
/* |
56 |
virtual void draw(px::GC &gc, const px::Rect &r) = 0; |
** Widget interface |
57 |
|
*/ |
58 |
|
virtual void draw (px::GC &gc, const px::Rect &r) = 0; |
59 |
virtual void activate() {} |
virtual void activate() {} |
60 |
virtual void deactivate() {} |
virtual void deactivate() {} |
61 |
|
virtual bool on_event(const SDL_Event &e) { return false; } |
62 |
|
|
63 |
virtual void move(int x, int y) { area.x = x; area.y = y; } |
virtual void move(int x, int y) { area.x = x; area.y = y; } |
64 |
|
|
65 |
virtual bool on_event(const SDL_Event &e) { return false; } |
/* |
66 |
|
** Accessors |
67 |
|
*/ |
68 |
void set_size(int w, int h) {area.w = w; area.h = h;} |
void set_size(int w, int h) {area.w = w; area.h = h;} |
69 |
|
|
70 |
px::Rect get_area() const { return area; } |
px::Rect get_area() const { return area; } |
98 |
}; |
}; |
99 |
|
|
100 |
//---------------------------------------- |
//---------------------------------------- |
101 |
// List, HList, VList |
// Container, List, HList, VList |
102 |
//---------------------------------------- |
//---------------------------------------- |
103 |
|
|
104 |
class Container : public Widget { |
class Container : public Widget { |
220 |
std::string fname_sel, fname_unsel; |
std::string fname_sel, fname_unsel; |
221 |
}; |
}; |
222 |
|
|
223 |
|
//---------------------------------------- |
224 |
|
// Menu. |
225 |
|
//---------------------------------------- |
226 |
class Menu : public Container { |
class Menu : public Container { |
227 |
public: |
public: |
228 |
Menu(); |
Menu(); |
229 |
virtual ~Menu(); |
virtual ~Menu(); |
230 |
|
|
231 |
/* true: ok, false: menu aborted by user */ |
//! true: ok, false: menu aborted by user |
232 |
bool manage(px::Screen *scr); |
bool manage(px::Screen *scr); |
233 |
|
|
234 |
void add(Widget *w); |
void add(Widget *w); |