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
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
17typedef 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
38
40
43
46
48
50
51typedef struct kest_menu_page_str
52{
53 int type;
54
55 char *name;
56
57 kest_menu_item_pll *items;
59
60 void *data;
61
63
79
81int create_menu_item_ui(kest_menu_item *item, lv_obj_t *parent);
85
87
89int configure_menu_page(kest_ui_page *page, void *data);
94
96
98int configure_main_menu(kest_ui_page *page, void *data);
101
103
104void enter_main_menu_cb(lv_event_t *e);
105
107
108void profile_listing_delete_button_cb(lv_event_t *e);
109void disappear_profile_listing_delete_button(lv_timer_t *timer);
110void menu_item_profile_listing_released_cb(lv_event_t *e);
112
114int profile_listing_menu_item_change_name(struct kest_menu_item *item, char *name);
115
116#endif
#define DECLARE_LINKED_PTR_LIST(X)
kest_menu_item * create_profile_listing_menu_item(char *text, kest_profile *profile, kest_ui_page *parent)
Definition kest_menu.c:208
int init_menu_item(kest_menu_item *item)
Definition kest_menu.c:11
void menu_item_profile_listing_released_cb(lv_event_t *e)
Definition kest_menu.c:306
int configure_menu_page(kest_ui_page *page, void *data)
Definition kest_menu.c:581
int free_menu_page_ui(kest_ui_page *page)
Definition kest_menu.c:716
int menu_page_add_item(kest_menu_page_str *str, kest_menu_item *item)
Definition kest_menu.c:726
void profile_listing_delete_button_cb(lv_event_t *e)
Definition kest_menu.c:277
int profile_listing_menu_item_change_name(struct kest_menu_item *item, char *name)
Definition kest_menu.c:262
int refresh_menu_item(kest_menu_item *item)
Definition kest_menu.c:126
void disappear_profile_listing_delete_button(lv_timer_t *timer)
Definition kest_menu.c:297
int create_menu_page_ui(kest_ui_page *page)
Definition kest_menu.c:620
int init_main_menu(kest_ui_page *page)
Definition kest_menu.c:748
int delete_menu_item_ui(kest_menu_item *item)
Definition kest_menu.c:97
int menu_page_remove_item(kest_ui_page *page, kest_menu_item *item)
Definition kest_menu.c:926
int configure_main_menu(kest_ui_page *page, void *data)
Definition kest_menu.c:779
int refresh_menu_page(kest_ui_page *page)
Definition kest_menu.c:695
void enter_main_menu_cb(lv_event_t *e)
Definition kest_menu.c:743
int init_menu_page(kest_ui_page *page)
Definition kest_menu.c:559
int create_menu_item_ui(kest_menu_item *item, lv_obj_t *parent)
Definition kest_menu.c:357
void menu_item_profile_listing_long_pressed_cb(lv_event_t *e)
Definition kest_menu.c:336
int create_main_menu_ui(kest_ui_page *page)
Definition kest_menu.c:858
int enter_main_menu(kest_ui_page *page)
Definition kest_menu.c:918
int free_menu_item(kest_menu_item *item)
Definition kest_menu.c:114
int profile_listing_menu_item_refresh_active(struct kest_menu_item *item)
Definition kest_menu.c:231
int enter_menu_page(kest_ui_page *page)
Definition kest_menu.c:661
int init_menu_page_str(kest_menu_page_str *str)
Definition kest_menu.c:545
kest_button sequences_button
Definition kest_menu.h:73
kest_parameter_widget output_gain
Definition kest_menu.h:70
kest_button msc_button
Definition kest_menu.h:75
lv_obj_t * pw_pad
Definition kest_menu.h:67
lv_obj_t * gains_container
Definition kest_menu.h:68
kest_parameter_widget input_gain
Definition kest_menu.h:69
lv_obj_t * top_pad
Definition kest_menu.h:66
kest_danger_button erase_sd_card_button
Definition kest_menu.h:77
kest_button profiles_button
Definition kest_menu.h:72
lv_obj_t * label
Definition kest_menu.h:31
void(* click_cb)(lv_event_t *e)
Definition kest_menu.h:25
void(* action_cb)(void *arg)
Definition kest_menu.h:24
kest_representation rep
Definition kest_menu.h:44
kest_ui_page * linked_page
Definition kest_menu.h:36
void * cb_arg
Definition kest_menu.h:26
lv_timer_t * timer
Definition kest_menu.h:34
kest_ui_page * parent
Definition kest_menu.h:39
void * lp_configure_arg
Definition kest_menu.h:42
lv_obj_t * obj
Definition kest_menu.h:30
lv_obj_t ** extra
Definition kest_menu.h:32
kest_ui_page ** linked_page_indirect
Definition kest_menu.h:37
kest_ui_page * next_page
Definition kest_menu.h:58
kest_menu_item_pll * items
Definition kest_menu.h:57