wlmaker
Loading...
Searching...
No Matches
menu_item.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_MENU_ITEM_H__
21#define __WLMTK_MENU_ITEM_H__
22
23#include <libbase/libbase.h>
24#include <stdbool.h>
25#include <wayland-server-core.h>
26
27#include "element.h"
28#include "style.h"
29
32
33#include "menu.h" // IWYU pragma: keep
34
36
38typedef struct _wlmtk_menu_item_vmt_t wlmtk_menu_item_vmt_t;
39
41typedef enum {
42 WLMTK_MENU_ITEM_ENABLED,
43 WLMTK_MENU_ITEM_HIGHLIGHTED,
44 WLMTK_MENU_ITEM_DISABLED
46
48typedef struct {
50 struct wl_signal triggered;
52 struct wl_signal destroy;
54
55#ifdef __cplusplus
56extern "C" {
57#endif // __cplusplus
58
69 const wlmtk_menu_item_style_t *style_ptr);
70
77
80 wlmtk_menu_item_t *menu_item_ptr);
81
91 wlmtk_menu_item_t *menu_item_ptr,
92 wlmtk_menu_t *menu_ptr);
93
105 wlmtk_menu_item_t *menu_item_ptr,
106 wlmtk_menu_t *submenu_ptr);
107
115 wlmtk_menu_item_t *menu_item_ptr,
116 enum wlmtk_menu_mode mode);
117
120 wlmtk_menu_item_t *menu_item_ptr);
121
124 wlmtk_menu_item_t *menu_item_ptr);
125
133 wlmtk_menu_item_t *menu_item_ptr,
134 const char *text_ptr);
135
143 wlmtk_menu_item_t *menu_item_ptr,
144 bool enabled);
145
155 wlmtk_menu_item_t *menu_item_ptr,
156 bool highlighted);
157
159bs_dllist_node_t *wlmtk_dlnode_from_menu_item(
160 wlmtk_menu_item_t *menu_item_ptr);
161
163wlmtk_menu_item_t *wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr);
164
167
169extern const bs_test_case_t wlmtk_menu_item_test_cases[];
170
171#ifdef __cplusplus
172} // extern "C"
173#endif // __cplusplus
174
175#endif /* __WLMTK_MENU_ITEM_H__ */
176/* == End of menu_item.h =================================================== */
wlmtk_menu_mode
Definition menu.h:51
struct _wlmtk_menu_item_vmt_t wlmtk_menu_item_vmt_t
Definition menu_item.h:38
wlmtk_menu_item_t * wlmtk_menu_item_create(const wlmtk_menu_item_style_t *style_ptr)
Definition menu_item.c:149
void wlmtk_menu_item_set_submenu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *submenu_ptr)
Definition menu_item.c:252
wlmtk_menu_item_state_t wlmtk_menu_item_get_state(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:305
wlmtk_menu_item_state_t
Definition menu_item.h:41
bool wlmtk_menu_item_set_highlighted(wlmtk_menu_item_t *menu_item_ptr, bool highlighted)
Definition menu_item.c:353
wlmtk_menu_item_events_t * wlmtk_menu_item_events(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:222
void wlmtk_menu_item_set_enabled(wlmtk_menu_item_t *menu_item_ptr, bool enabled)
Definition menu_item.c:326
wlmtk_menu_item_t * wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition menu_item.c:375
bs_dllist_node_t * wlmtk_dlnode_from_menu_item(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:368
void wlmtk_menu_item_destroy(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:188
void wlmtk_menu_item_set_parent_menu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *menu_ptr)
Definition menu_item.c:229
wlmtk_element_t * wlmtk_menu_item_element(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:381
void wlmtk_menu_item_set_mode(wlmtk_menu_item_t *menu_item_ptr, enum wlmtk_menu_mode mode)
Definition menu_item.c:287
bool wlmtk_menu_item_set_text(wlmtk_menu_item_t *menu_item_ptr, const char *text_ptr)
Definition menu_item.c:312
const bs_test_case_t wlmtk_menu_item_test_cases[]
Definition menu_item.c:659
enum wlmtk_menu_mode wlmtk_menu_item_get_mode(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:298
Definition element.h:175
Definition menu_item.c:39
Definition menu.c:32
Definition menu_item.h:48
Definition style.h:126