configure.c: fix AX_GCC_FUNC_ATTRIBUTE detection on custom CFLAGS
[midnight-commander.git] / lib / widget / buttonbar.h
blob922240e9ac5bf793ceeeacf9607b8c1c44e2a3e3
2 /** \file buttonbar.h
3 * \brief Header: WButtonBar widget
4 */
6 #ifndef MC__WIDGET_BUTTONBAR_H
7 #define MC__WIDGET_BUTTONBAR_H
9 /*** typedefs(not structures) and defined constants **********************************************/
11 #define BUTTONBAR(x) ((WButtonBar *)(x))
13 /* number of bttons in buttonbar */
14 #define BUTTONBAR_LABELS_NUM 10
16 #define buttonbar_clear_label(bb, idx, recv) buttonbar_set_label (bb, idx, "", NULL, recv)
18 /*** enums ***************************************************************************************/
20 /*** structures declarations (and typedefs of structures)*****************************************/
22 typedef struct WButtonBar
24 Widget widget;
25 gboolean visible; /* Is it visible? */
26 struct
28 char *text;
29 long command;
30 Widget *receiver;
31 int end_coord; /* cumulative width of buttons so far */
32 } labels[BUTTONBAR_LABELS_NUM];
33 } WButtonBar;
35 /*** global variables defined in .c file *********************************************************/
37 /*** declarations of public functions ************************************************************/
39 WButtonBar *buttonbar_new (gboolean visible);
40 void buttonbar_set_label (WButtonBar * bb, int idx, const char *text,
41 const global_keymap_t * keymap, Widget * receiver);
42 WButtonBar *find_buttonbar (const WDialog * h);
44 /*** inline functions ****************************************************************************/
46 static inline void
47 buttonbar_set_visible (WButtonBar * bb, gboolean visible)
49 bb->visible = visible;
52 #endif /* MC__WIDGET_BUTTONBAR_H */