wlmaker
Loading...
Searching...
No Matches
include
toolkit
menu.h
Go to the documentation of this file.
1
/* ========================================================================= */
21
#ifndef __WLMTK_MENU_H__
22
#define __WLMTK_MENU_H__
23
25
typedef
struct
_wlmtk_menu_t
wlmtk_menu_t
;
26
28
typedef
struct
_wlmtk_menu_style_ref_t
wlmtk_menu_style_ref_t
;
29
30
enum
wlmtk_menu_mode
;
// IWYU pragma: keep
31
32
#include <libbase/libbase.h>
33
#include <libbase/plist.h>
34
#include <stdbool.h>
35
#include <stddef.h>
36
#include <wayland-server-core.h>
37
38
#include "
base.h
"
39
#include "
box.h
"
// IWYU pragma: keep
40
#include "
element.h
"
41
#include "
menu_item.h
"
// IWYU pragma: keep
42
#include "
style.h
"
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
// __cplusplus
47
49
struct
wlmtk_menu_style
{
51
struct
wlmtk_margin_style
margin
;
53
struct
wlmtk_margin_style
border
;
55
struct
wlmtk_menu_item_style
item
;
56
};
57
59
enum
wlmtk_menu_mode
{
61
WLMTK_MENU_MODE_NORMAL
,
66
WLMTK_MENU_MODE_RIGHTCLICK
67
};
68
70
typedef
struct
{
75
struct
wl_signal open_changed;
77
struct
wl_signal request_close;
79
struct
wl_signal destroy;
80
}
wlmtk_menu_events_t
;
81
89
wlmtk_menu_t
*
wlmtk_menu_create
(
90
wlmtk_menu_style_ref_t
*style_ref_ptr);
91
97
void
wlmtk_menu_destroy
(
wlmtk_menu_t
*menu_ptr);
98
100
wlmtk_element_t
*
wlmtk_menu_element
(
wlmtk_menu_t
*menu_ptr);
101
103
wlmtk_base_t
*
wlmtk_menu_base
(
wlmtk_menu_t
*menu_ptr);
104
106
wlmtk_menu_events_t
*
wlmtk_menu_events
(
wlmtk_menu_t
*menu_ptr);
107
116
bool
wlmtk_menu_set_style
(
117
wlmtk_menu_t
*menu_ptr,
118
wlmtk_menu_style_ref_t
*style_ref_ptr);
119
127
void
wlmtk_menu_set_open
(
wlmtk_menu_t
*menu_ptr,
bool
opened);
128
130
bool
wlmtk_menu_is_open
(
wlmtk_menu_t
*menu_ptr);
131
138
void
wlmtk_menu_set_mode
(
wlmtk_menu_t
*menu_ptr,
139
enum
wlmtk_menu_mode
mode);
140
142
enum
wlmtk_menu_mode
wlmtk_menu_get_mode
(
wlmtk_menu_t
*menu_ptr);
143
150
void
wlmtk_menu_add_item
(
wlmtk_menu_t
*menu_ptr,
151
wlmtk_menu_item_t
*menu_item_ptr);
152
159
void
wlmtk_menu_remove_item
(
wlmtk_menu_t
*menu_ptr,
160
wlmtk_menu_item_t
*menu_item_ptr);
161
170
void
wlmtk_menu_set_parent_item
(
wlmtk_menu_t
*menu_ptr,
171
wlmtk_menu_item_t
*menu_item_ptr);
172
174
wlmtk_menu_item_t
*
wlmtk_menu_get_parent_item
(
wlmtk_menu_t
*menu_ptr);
175
182
void
wlmtk_menu_request_item_highlight
(
183
wlmtk_menu_t
*menu_ptr,
184
wlmtk_menu_item_t
*menu_item_ptr);
185
191
size_t
wlmtk_menu_items_size
(
wlmtk_menu_t
*menu_ptr);
192
200
wlmtk_menu_item_t
*
wlmtk_menu_item_at
(
wlmtk_menu_t
*menu_ptr,
size_t
i);
201
207
struct
wlmtk_menu_style
*
wlmtk_menu_style_create
(
void
);
208
210
wlmtk_menu_style_ref_t
*
wlmtk_menu_style_to_ref
(
211
struct
wlmtk_menu_style
*menu_style_ptr);
212
214
const
struct
wlmtk_menu_style
*
wlmtk_menu_style_ref_retain
(
215
wlmtk_menu_style_ref_t
*ref_ptr);
217
void
wlmtk_menu_style_ref_release
(
wlmtk_menu_style_ref_t
*ref_ptr);
218
220
bool
wlmtk_menu_style_decode
(
221
bspl_object_t *object_ptr,
222
const
union
bspl_desc_value *desc_value_ptr,
223
void
*value_ptr);
225
bool
wlmtk_menu_style_decode_init
(
void
*dst_ptr);
227
void
wlmtk_menu_style_decode_fini
(
void
*dst_ptr);
228
230
extern
const
bs_test_set_t
wlmtk_menu_test_set
;
231
232
#ifdef __cplusplus
233
}
// extern "C"
234
#endif
// __cplusplus
235
236
#endif
/* __WLMTK_MENU_H__ */
237
/* == End of menu.h ======================================================== */
base.h
box.h
element.h
wlmtk_menu_items_size
size_t wlmtk_menu_items_size(wlmtk_menu_t *menu_ptr)
Definition
menu.c:334
wlmtk_menu_style_create
struct wlmtk_menu_style * wlmtk_menu_style_create(void)
Definition
menu.c:350
wlmtk_menu_get_mode
enum wlmtk_menu_mode wlmtk_menu_get_mode(wlmtk_menu_t *menu_ptr)
Definition
menu.c:266
wlmtk_menu_add_item
void wlmtk_menu_add_item(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition
menu.c:272
wlmtk_menu_set_parent_item
void wlmtk_menu_set_parent_item(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition
menu.c:302
wlmtk_menu_mode
wlmtk_menu_mode
Definition
menu.h:59
WLMTK_MENU_MODE_RIGHTCLICK
@ WLMTK_MENU_MODE_RIGHTCLICK
Definition
menu.h:66
WLMTK_MENU_MODE_NORMAL
@ WLMTK_MENU_MODE_NORMAL
Definition
menu.h:61
wlmtk_menu_style_decode
bool wlmtk_menu_style_decode(bspl_object_t *object_ptr, const union bspl_desc_value *desc_value_ptr, void *value_ptr)
Definition
menu.c:387
wlmtk_menu_style_decode_fini
void wlmtk_menu_style_decode_fini(void *dst_ptr)
Definition
menu.c:409
wlmtk_menu_destroy
void wlmtk_menu_destroy(wlmtk_menu_t *menu_ptr)
Definition
menu.c:172
wlmtk_menu_events
wlmtk_menu_events_t * wlmtk_menu_events(wlmtk_menu_t *menu_ptr)
Definition
menu.c:203
wlmtk_menu_set_style
bool wlmtk_menu_set_style(wlmtk_menu_t *menu_ptr, wlmtk_menu_style_ref_t *style_ref_ptr)
Definition
menu.c:209
wlmtk_menu_request_item_highlight
void wlmtk_menu_request_item_highlight(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition
menu.c:315
wlmtk_menu_style_ref_retain
const struct wlmtk_menu_style * wlmtk_menu_style_ref_retain(wlmtk_menu_style_ref_t *ref_ptr)
Definition
menu.c:371
wlmtk_menu_item_at
wlmtk_menu_item_t * wlmtk_menu_item_at(wlmtk_menu_t *menu_ptr, size_t i)
Definition
menu.c:340
wlmtk_menu_style_to_ref
wlmtk_menu_style_ref_t * wlmtk_menu_style_to_ref(struct wlmtk_menu_style *menu_style_ptr)
Definition
menu.c:359
wlmtk_menu_remove_item
void wlmtk_menu_remove_item(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition
menu.c:286
wlmtk_menu_set_mode
void wlmtk_menu_set_mode(wlmtk_menu_t *menu_ptr, enum wlmtk_menu_mode mode)
Definition
menu.c:254
wlmtk_menu_create
wlmtk_menu_t * wlmtk_menu_create(wlmtk_menu_style_ref_t *style_ref_ptr)
Definition
menu.c:136
wlmtk_menu_get_parent_item
wlmtk_menu_item_t * wlmtk_menu_get_parent_item(wlmtk_menu_t *menu_ptr)
Definition
menu.c:309
wlmtk_menu_style_decode_init
bool wlmtk_menu_style_decode_init(void *dst_ptr)
Definition
menu.c:401
wlmtk_menu_element
wlmtk_element_t * wlmtk_menu_element(wlmtk_menu_t *menu_ptr)
Definition
menu.c:191
wlmtk_menu_test_set
const bs_test_set_t wlmtk_menu_test_set
Definition
menu.c:670
wlmtk_menu_set_open
void wlmtk_menu_set_open(wlmtk_menu_t *menu_ptr, bool opened)
Definition
menu.c:232
wlmtk_menu_is_open
bool wlmtk_menu_is_open(wlmtk_menu_t *menu_ptr)
Definition
menu.c:248
wlmtk_menu_style_ref_release
void wlmtk_menu_style_ref_release(wlmtk_menu_style_ref_t *ref_ptr)
Definition
menu.c:381
wlmtk_menu_base
wlmtk_base_t * wlmtk_menu_base(wlmtk_menu_t *menu_ptr)
Definition
menu.c:197
menu_item.h
_wlmtk_base_t
Definition
base.h:38
_wlmtk_element_t
Definition
element.h:188
_wlmtk_menu_item_t
Definition
menu_item.c:41
_wlmtk_menu_style_ref_t
Definition
menu.c:65
_wlmtk_menu_t
Definition
menu.c:39
wlmtk_margin_style
Definition
style.h:116
wlmtk_menu_events_t
Definition
menu.h:70
wlmtk_menu_item_style
Definition
menu_item.h:37
wlmtk_menu_style
Definition
menu.h:49
wlmtk_menu_style::border
struct wlmtk_margin_style border
Definition
menu.h:53
wlmtk_menu_style::item
struct wlmtk_menu_item_style item
Definition
menu.h:55
wlmtk_menu_style::margin
struct wlmtk_margin_style margin
Definition
menu.h:51
style.h
Generated by
1.9.8