Kestrel Interface
Loading...
Searching...
No Matches
kest_menu.h
Go to the documentation of this file.
1
#ifndef KEST_INT_MAIN_MENU_H_
2
#define KEST_INT_MAIN_MENU_H_
3
4
struct
kest_menu_page_str
;
5
6
#define MENU_ITEM_TEXT_MAX_LEN 256
7
8
#define MENU_ITEM_PAD 0
9
#define MENU_ITEM_PAGE_LINK 1
10
#define MENU_ITEM_PAGE_LINK_INDIRECT 2
11
#define MENU_ITEM_CALLBACK_BUTTON 3
12
#define MENU_ITEM_PROFILE_LISTING 4
13
#define MENU_ITEM_SEQUENCE_LISTING 5
14
#define MENU_ITEM_PARAMETER_WIDGET 6
15
#define MENU_ITEM_DANGER_BUTTON 7
16
17
typedef
struct
kest_menu_item
18
{
19
int
type
;
20
21
char
*
text
;
22
char
*
desc
;
23
24
void (*
action_cb
)(
void
*arg);
25
void (*
click_cb
)(lv_event_t *e);
26
void
*
cb_arg
;
27
28
void
*
data
;
29
30
lv_obj_t *
obj
;
31
lv_obj_t *
label
;
32
lv_obj_t **
extra
;
33
34
lv_timer_t *
timer
;
35
36
kest_ui_page
*
linked_page
;
37
kest_ui_page
**
linked_page_indirect
;
38
39
kest_ui_page
*
parent
;
40
41
int
long_pressed
;
42
void
*
lp_configure_arg
;
43
44
kest_representation
rep
;
45
}
kest_menu_item
;
46
47
DECLARE_LINKED_PTR_LIST
(
kest_menu_item
);
48
49
int
init_menu_item
(
kest_menu_item
*item);
50
51
typedef
struct
kest_menu_page_str
52
{
53
int
type
;
54
55
char
*
name
;
56
57
kest_menu_item_pll *
items
;
58
kest_ui_page
*
next_page
;
59
60
void
*
data
;
61
62
}
kest_menu_page_str
;
63
64
typedef
struct
kest_main_menu_str
65
{
66
lv_obj_t *
top_pad
;
67
lv_obj_t *
pw_pad
;
68
lv_obj_t *
gains_container
;
69
kest_parameter_widget
input_gain
;
70
kest_parameter_widget
output_gain
;
71
72
kest_button
profiles_button
;
73
kest_button
sequences_button
;
74
75
kest_button
msc_button
;
76
77
kest_danger_button
erase_sd_card_button
;
78
}
kest_main_menu_str
;
79
80
int
init_menu_item
(
kest_menu_item
*item);
81
int
create_menu_item_ui
(
kest_menu_item
*item, lv_obj_t *parent);
82
int
delete_menu_item_ui
(
kest_menu_item
*item);
83
int
free_menu_item
(
kest_menu_item
*item);
84
int
refresh_menu_item
(
kest_menu_item
*item);
85
86
int
init_menu_page_str
(
kest_menu_page_str
*str);
87
88
int
init_menu_page
(
kest_ui_page
*page);
89
int
configure_menu_page
(
kest_ui_page
*page,
void
*data);
90
int
create_menu_page_ui
(
kest_ui_page
*page);
91
int
free_menu_page_ui
(
kest_ui_page
*page);
92
int
enter_menu_page
(
kest_ui_page
*page);
93
int
refresh_menu_page
(
kest_ui_page
*page);
94
95
int
menu_page_add_item
(
kest_menu_page_str
*str,
kest_menu_item
*item);
96
97
int
init_main_menu
(
kest_ui_page
*page);
98
int
configure_main_menu
(
kest_ui_page
*page,
void
*data);
99
int
create_main_menu_ui
(
kest_ui_page
*page);
100
int
enter_main_menu
(
kest_ui_page
*page);
101
102
int
menu_page_remove_item
(
kest_ui_page
*page,
kest_menu_item
*item);
103
104
void
enter_main_menu_cb
(lv_event_t *e);
105
106
kest_menu_item
*
create_profile_listing_menu_item
(
char
*text,
kest_profile
*profile,
kest_ui_page
*parent);
107
108
void
profile_listing_delete_button_cb
(lv_event_t *e);
109
void
disappear_profile_listing_delete_button
(lv_timer_t *timer);
110
void
menu_item_profile_listing_released_cb
(lv_event_t *e);
111
void
menu_item_profile_listing_long_pressed_cb
(lv_event_t *e);
112
113
int
profile_listing_menu_item_refresh_active
(
struct
kest_menu_item
*item);
114
int
profile_listing_menu_item_change_name
(
struct
kest_menu_item
*item,
char
*name);
115
116
#endif
DECLARE_LINKED_PTR_LIST
#define DECLARE_LINKED_PTR_LIST(X)
Definition
kest_linked_list.h:212
create_profile_listing_menu_item
kest_menu_item * create_profile_listing_menu_item(char *text, kest_profile *profile, kest_ui_page *parent)
Definition
kest_menu.c:208
init_menu_item
int init_menu_item(kest_menu_item *item)
Definition
kest_menu.c:11
menu_item_profile_listing_released_cb
void menu_item_profile_listing_released_cb(lv_event_t *e)
Definition
kest_menu.c:306
configure_menu_page
int configure_menu_page(kest_ui_page *page, void *data)
Definition
kest_menu.c:581
free_menu_page_ui
int free_menu_page_ui(kest_ui_page *page)
Definition
kest_menu.c:716
menu_page_add_item
int menu_page_add_item(kest_menu_page_str *str, kest_menu_item *item)
Definition
kest_menu.c:726
profile_listing_delete_button_cb
void profile_listing_delete_button_cb(lv_event_t *e)
Definition
kest_menu.c:277
profile_listing_menu_item_change_name
int profile_listing_menu_item_change_name(struct kest_menu_item *item, char *name)
Definition
kest_menu.c:262
refresh_menu_item
int refresh_menu_item(kest_menu_item *item)
Definition
kest_menu.c:126
disappear_profile_listing_delete_button
void disappear_profile_listing_delete_button(lv_timer_t *timer)
Definition
kest_menu.c:297
create_menu_page_ui
int create_menu_page_ui(kest_ui_page *page)
Definition
kest_menu.c:620
init_main_menu
int init_main_menu(kest_ui_page *page)
Definition
kest_menu.c:748
delete_menu_item_ui
int delete_menu_item_ui(kest_menu_item *item)
Definition
kest_menu.c:97
menu_page_remove_item
int menu_page_remove_item(kest_ui_page *page, kest_menu_item *item)
Definition
kest_menu.c:926
configure_main_menu
int configure_main_menu(kest_ui_page *page, void *data)
Definition
kest_menu.c:779
refresh_menu_page
int refresh_menu_page(kest_ui_page *page)
Definition
kest_menu.c:695
enter_main_menu_cb
void enter_main_menu_cb(lv_event_t *e)
Definition
kest_menu.c:743
init_menu_page
int init_menu_page(kest_ui_page *page)
Definition
kest_menu.c:559
create_menu_item_ui
int create_menu_item_ui(kest_menu_item *item, lv_obj_t *parent)
Definition
kest_menu.c:357
menu_item_profile_listing_long_pressed_cb
void menu_item_profile_listing_long_pressed_cb(lv_event_t *e)
Definition
kest_menu.c:336
create_main_menu_ui
int create_main_menu_ui(kest_ui_page *page)
Definition
kest_menu.c:858
enter_main_menu
int enter_main_menu(kest_ui_page *page)
Definition
kest_menu.c:918
free_menu_item
int free_menu_item(kest_menu_item *item)
Definition
kest_menu.c:114
profile_listing_menu_item_refresh_active
int profile_listing_menu_item_refresh_active(struct kest_menu_item *item)
Definition
kest_menu.c:231
enter_menu_page
int enter_menu_page(kest_ui_page *page)
Definition
kest_menu.c:661
init_menu_page_str
int init_menu_page_str(kest_menu_page_str *str)
Definition
kest_menu.c:545
kest_button
Definition
kest_button.h:45
kest_danger_button
Definition
kest_button.h:125
kest_main_menu_str
Definition
kest_menu.h:65
kest_main_menu_str::sequences_button
kest_button sequences_button
Definition
kest_menu.h:73
kest_main_menu_str::output_gain
kest_parameter_widget output_gain
Definition
kest_menu.h:70
kest_main_menu_str::msc_button
kest_button msc_button
Definition
kest_menu.h:75
kest_main_menu_str::pw_pad
lv_obj_t * pw_pad
Definition
kest_menu.h:67
kest_main_menu_str::gains_container
lv_obj_t * gains_container
Definition
kest_menu.h:68
kest_main_menu_str::input_gain
kest_parameter_widget input_gain
Definition
kest_menu.h:69
kest_main_menu_str::top_pad
lv_obj_t * top_pad
Definition
kest_menu.h:66
kest_main_menu_str::erase_sd_card_button
kest_danger_button erase_sd_card_button
Definition
kest_menu.h:77
kest_main_menu_str::profiles_button
kest_button profiles_button
Definition
kest_menu.h:72
kest_menu_item
Definition
kest_menu.h:18
kest_menu_item::long_pressed
int long_pressed
Definition
kest_menu.h:41
kest_menu_item::desc
char * desc
Definition
kest_menu.h:22
kest_menu_item::label
lv_obj_t * label
Definition
kest_menu.h:31
kest_menu_item::data
void * data
Definition
kest_menu.h:28
kest_menu_item::click_cb
void(* click_cb)(lv_event_t *e)
Definition
kest_menu.h:25
kest_menu_item::action_cb
void(* action_cb)(void *arg)
Definition
kest_menu.h:24
kest_menu_item::rep
kest_representation rep
Definition
kest_menu.h:44
kest_menu_item::type
int type
Definition
kest_menu.h:19
kest_menu_item::linked_page
kest_ui_page * linked_page
Definition
kest_menu.h:36
kest_menu_item::cb_arg
void * cb_arg
Definition
kest_menu.h:26
kest_menu_item::timer
lv_timer_t * timer
Definition
kest_menu.h:34
kest_menu_item::parent
kest_ui_page * parent
Definition
kest_menu.h:39
kest_menu_item::lp_configure_arg
void * lp_configure_arg
Definition
kest_menu.h:42
kest_menu_item::text
char * text
Definition
kest_menu.h:21
kest_menu_item::obj
lv_obj_t * obj
Definition
kest_menu.h:30
kest_menu_item::extra
lv_obj_t ** extra
Definition
kest_menu.h:32
kest_menu_item::linked_page_indirect
kest_ui_page ** linked_page_indirect
Definition
kest_menu.h:37
kest_menu_page_str
Definition
kest_menu.h:52
kest_menu_page_str::name
char * name
Definition
kest_menu.h:55
kest_menu_page_str::data
void * data
Definition
kest_menu.h:60
kest_menu_page_str::next_page
kest_ui_page * next_page
Definition
kest_menu.h:58
kest_menu_page_str::type
int type
Definition
kest_menu.h:53
kest_menu_page_str::items
kest_menu_item_pll * items
Definition
kest_menu.h:57
kest_parameter_widget
Definition
kest_parameter_widget.h:43
kest_profile
Definition
kest_profile.h:15
kest_representation
Definition
kest_representation.h:5
kest_ui_page
Definition
kest_ui.h:85
components
ui
kest_menu.h
Generated by
1.14.0