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 */
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 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 cb_ret_t
button_default_callback (Widget
* w
, Widget
* sender
, widget_msg_t msg
, int parm
,
54 void button_mouse_default_callback (Widget
* w
, mouse_msg_t msg
, mouse_event_t
* event
);
56 /*** inline functions ****************************************************************************/
58 #endif /* MC__WIDGET_BUTTON_H */