3 * \brief Header: WButton widget
6 #ifndef MC__WIDGET_BUTTON_H
7 #define MC__WIDGET_BUTTON_H
9 /*** typedefs(not structures) and defined constants **********************************************/
11 #define BUTTON(x) ((WButton *)(x))
16 typedef int (*bcback_fn
) (struct WButton
* button
, int action
);
18 /*** enums ***************************************************************************************/
28 /*** structures declarations (and typedefs of structures)*****************************************/
30 typedef struct WButton
33 int action
; /* what to do when pressed */
34 gboolean selected
; /* button state */
36 button_flags_t flags
; /* button flags */
37 hotkey_t text
; /* text of button, contain hotkey too */
38 int hotpos
; /* offset hot KEY char in text */
39 bcback_fn callback
; /* callback function */
42 /*** global variables defined in .c file *********************************************************/
44 /*** declarations of public functions ************************************************************/
46 WButton
*button_new (int y
, int x
, int action
, button_flags_t flags
, const char *text
,
48 const char *button_get_text (const WButton
* b
);
49 void button_set_text (WButton
* b
, const char *text
);
50 int button_get_len (const WButton
* b
);
52 /*** inline functions ****************************************************************************/
54 #endif /* MC__WIDGET_BUTTON_H */