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
116 wlmtk_menu_item_t *menu_item_ptr);
117
125 wlmtk_menu_item_t *menu_item_ptr,
126 enum wlmtk_menu_mode mode);
127
130 wlmtk_menu_item_t *menu_item_ptr);
131
134 wlmtk_menu_item_t *menu_item_ptr);
135
143 wlmtk_menu_item_t *menu_item_ptr,
144 const char *text_ptr);
145
153 wlmtk_menu_item_t *menu_item_ptr,
154 bool enabled);
155
165 wlmtk_menu_item_t *menu_item_ptr,
166 bool highlighted);
167
173void wlmtk_menu_item_trigger(wlmtk_menu_item_t *menu_item_ptr);
174
176bs_dllist_node_t *wlmtk_dlnode_from_menu_item(
177 wlmtk_menu_item_t *menu_item_ptr);
178
180wlmtk_menu_item_t *wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr);
181
184
186extern const bs_test_case_t wlmtk_menu_item_test_cases[];
187
188#ifdef __cplusplus
189} // extern "C"
190#endif // __cplusplus
191
192#endif /* __WLMTK_MENU_ITEM_H__ */
193/* == End of menu_item.h =================================================== */
wlmtk_menu_mode
Definition menu.h:52
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:155
void wlmtk_menu_item_set_submenu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *submenu_ptr)
Definition menu_item.c:263
wlmtk_menu_item_state_t wlmtk_menu_item_get_state(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:327
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:375
wlmtk_menu_item_events_t * wlmtk_menu_item_events(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:233
void wlmtk_menu_item_set_enabled(wlmtk_menu_item_t *menu_item_ptr, bool enabled)
Definition menu_item.c:348
wlmtk_menu_item_t * wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition menu_item.c:418
bs_dllist_node_t * wlmtk_dlnode_from_menu_item(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:409
void wlmtk_menu_item_destroy(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:198
void wlmtk_menu_item_set_parent_menu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *menu_ptr)
Definition menu_item.c:240
wlmtk_element_t * wlmtk_menu_item_element(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:426
void wlmtk_menu_item_set_mode(wlmtk_menu_item_t *menu_item_ptr, enum wlmtk_menu_mode mode)
Definition menu_item.c:309
void wlmtk_menu_item_trigger(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:390
bool wlmtk_menu_item_set_text(wlmtk_menu_item_t *menu_item_ptr, const char *text_ptr)
Definition menu_item.c:334
const bs_test_case_t wlmtk_menu_item_test_cases[]
Definition menu_item.c:752
enum wlmtk_menu_mode wlmtk_menu_item_get_mode(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:320
wlmtk_menu_t * wlmtk_menu_item_get_submenu(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:302
Definition element.h:183
Definition menu_item.c:39
Definition menu.c:36
Definition menu_item.h:48
Definition style.h:126