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 /* return 0 to continue work with dialog, non-zero to close */
17 typedef int (*bcback_fn
) (struct WButton
* button
, int action
);
19 /*** enums ***************************************************************************************/
29 /*** structures declarations (and typedefs of structures)*****************************************/
31 typedef struct WButton
34 int action
; /* what to do when pressed */
35 gboolean selected
; /* button state */
37 button_flags_t flags
; /* button flags */
38 hotkey_t text
; /* text of button, contain hotkey too */
39 int hotpos
; /* offset hot KEY char in text */
40 bcback_fn callback
; /* callback function */
43 /*** global variables defined in .c file *********************************************************/
45 /*** declarations of public functions ************************************************************/
47 WButton
*button_new (int y
, int x
, int action
, button_flags_t flags
, const char *text
,
49 const char *button_get_text (const WButton
* b
);
50 void button_set_text (WButton
* b
, const char *text
);
51 int button_get_len (const WButton
* b
);
53 /*** inline functions ****************************************************************************/
55 #endif /* MC__WIDGET_BUTTON_H */