3static const char *FNAME =
"kest_sequence_list.c";
5#ifndef PRINTLINES_ALLOWED
6#define PRINTLINES_ALLOWED 0
13 if (!item || !sequence)
22 item->
text =
"Sequence";
25 item->
data = sequence;
39 KEST_PRINTF(
"sequence_listing_menu_item_refresh_active\n");
51 KEST_PRINTF(
"sequence is active. going about it\n");
55 lv_label_set_text(item->
extra[1], LV_SYMBOL_PLAY);
56 lv_obj_clear_flag(item->
extra[0], LV_OBJ_FLAG_HIDDEN);
57 lv_obj_clear_flag(item->
extra[0], LV_OBJ_FLAG_CLICKABLE);
62 KEST_PRINTF(
"sequence is not active. hiding play\n");
65 lv_label_set_text(item->
extra[1], LV_SYMBOL_TRASH);
66 lv_obj_add_flag(item->
extra[0], LV_OBJ_FLAG_HIDDEN);
67 lv_obj_add_flag(item->
extra[0], LV_OBJ_FLAG_CLICKABLE);
71 KEST_PRINTF(
"sequence_listing_menu_item_refresh_active done\n");
85 lv_label_set_text(item->
label, item->
text);
120 KEST_PRINTF(
"ERROR: Couldn't create new sequence\n");
126 if (new_sequence->view_page)
128 new_sequence->view_page->parent = page;
136 KEST_PRINTF(
"Failed to create sequence listing menu item\n");
161 str->
name =
"Sequences";
172 KEST_PRINTF(
"current = global_cxt.sequences = %p\n", current);
173 kest_menu_item_pll *nl;
179 current, current->data);
182 KEST_PRINTF(
"Add list item for sequence %d, %p = %s\n", i, current->data, current->data->name);
183 KEST_PRINTF(
"Sequence view page pointer: %p, dbl ptr: %p\n", current->data->view_page, ¤t->data->view_page);
187 current = current->next;
230 lv_obj_add_flag(item->
extra[0], LV_OBJ_FLAG_HIDDEN);
237 KEST_PRINTF(
"menu_item_sequence_listing_released_cb\n");
248 KEST_PRINTF(
"Error: sequence listing has no associated sequence!\n");
253 if (!sequence->view_page)
263 sequence->view_page->parent = item->
parent;
268 if (sequence && !sequence->
active)
271 lv_timer_set_repeat_count(item->
timer, 1);
289 if (sequence && !sequence->
active)
292 lv_obj_clear_flag(item->
extra[0], LV_OBJ_FLAG_HIDDEN);
297 lv_obj_clear_flag(item->
extra[0], LV_OBJ_FLAG_HIDDEN);
void * kest_alloc(size_t size)
char * kest_strndup(const char *str, size_t n)
int cxt_remove_sequence(kest_context *cxt, kest_sequence *sequence)
kest_sequence * kest_context_add_sequence_rp(kest_context *cxt)
const char * kest_error_code_to_string(int error_code)
int kest_sequence_add_menu_listing(kest_sequence *sequence, kest_menu_item *listing)
kest_sequence_pll sequence_ll
kest_menu_item * create_sequence_listing_menu_item(char *text, kest_sequence *sequence, kest_ui_page *parent)
void menu_item_sequence_listing_released_cb(lv_event_t *e)
int init_sequence_list(kest_ui_page *page)
void sequence_listing_delete_button_cb(lv_event_t *e)
int sequence_listing_menu_item_change_name(kest_menu_item *item, char *name)
void menu_item_sequence_listing_long_pressed_cb(lv_event_t *e)
void disappear_sequence_listing_delete_button(lv_timer_t *timer)
int free_sequence_list_ui(kest_ui_page *page)
void sequence_list_add_cb(lv_event_t *e)
int sequence_listing_menu_item_refresh_active(kest_menu_item *item)
int configure_sequence_list(kest_ui_page *page, void *data)
int create_sequence_view_for(kest_sequence *sequence)
kest_ui_page_panel * new_panel()
int enter_ui_page_forwards(kest_ui_page *page)
int ui_page_add_back_button(kest_ui_page *page)
kest_button * ui_page_add_bottom_button(kest_ui_page *page, const char *label, lv_event_cb_t cb)
#define CONTAINER_TYPE_STD_BTN_LIST
kest_ui_page_panel * panel
struct kest_ui_page * parent
int(* configure)(struct kest_ui_page *page, void *data)