Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5496 | leency | 1 | #ifndef __MGTK_BUTTON_H |
2 | #define __MGTK_BUTTON_H |
||
3 | |||
4 | #include |
||
5 | #include |
||
6 | |||
7 | #define bs_Normal 0 |
||
8 | #define bs_DontDraw 1 |
||
9 | |||
10 | class GTextButton; |
||
11 | |||
12 | class GButton: public GWidget |
||
13 | { |
||
14 | friend class GTextButton; |
||
15 | public: |
||
16 | GButton(GRect *,int flags,unsigned long color,int cmd); |
||
17 | virtual ~GButton(void); |
||
18 | virtual void HandleEvent(GEvent *); |
||
19 | virtual void DrawWidget(); |
||
20 | virtual void ClickProc(); |
||
21 | virtual void SetCommand(int); |
||
22 | private: |
||
23 | int bId; |
||
24 | int bFlags; |
||
25 | int bCmd; |
||
26 | unsigned long bColor; |
||
27 | }; |
||
28 | |||
29 | class GRadioButton; |
||
30 | |||
31 | class GCheckBox: public GWidget |
||
32 | { |
||
33 | friend class GRadioButton; |
||
34 | public: |
||
35 | GCheckBox(GRect *,bool); |
||
36 | virtual ~GCheckBox(); |
||
37 | virtual void DrawWidget(); |
||
38 | virtual void HandleEvent(GEvent *); |
||
39 | bool Checked(); |
||
40 | void Check(bool); |
||
41 | private: |
||
42 | bool state; |
||
43 | }; |
||
44 | |||
45 | class GRadioButton: public GCheckBox |
||
46 | { |
||
47 | public: |
||
48 | GRadioButton(GRect *,bool); |
||
49 | virtual ~GRadioButton(); |
||
50 | virtual void DrawWidget(); |
||
51 | }; |
||
52 | |||
53 | class GRadioGroup: public GGroup |
||
54 | { |
||
55 | public: |
||
56 | GRadioGroup(GRect *,int); |
||
57 | virtual ~GRadioGroup(); |
||
58 | virtual void HandleEvent(GEvent *); |
||
59 | virtual int ActualButton(); |
||
60 | private: |
||
61 | int actual; |
||
62 | GRadioButton * _current_click; |
||
63 | }; |
||
64 | |||
65 | class GTextButton: public GButton |
||
66 | { |
||
67 | public: |
||
68 | GTextButton(GRect *,char *,int); |
||
69 | virtual ~GTextButton(); |
||
70 | virtual void DrawWidget(); |
||
71 | private: |
||
72 | char * txt; |
||
73 | }; |
||
74 | |||
75 | class GButtonAllocator |
||
76 | { |
||
77 | public: |
||
78 | GButtonAllocator(int max); |
||
79 | virtual ~GButtonAllocator(); |
||
80 | int New(); |
||
81 | void Del(int); |
||
82 | private: |
||
83 | unsigned char * gbutton_bitmap; |
||
84 | int nr_buttons; |
||
85 | }; |
||
86 | |||
87 | extern GButtonAllocator * OSButtonAlloc; |
||
88 | |||
89 | class GImageButton: public GButton |
||
90 | { |
||
91 | public: |
||
92 | GImageButton(GRect *,struct GImageData *,int); |
||
93 | virtual ~GImageButton(); |
||
94 | virtual void DrawWidget(); |
||
95 | private: |
||
96 | struct GImageData * data; |
||
97 | }; |
||
98 | |||
99 | #endif |