static void window_appear(Window *window) { // Session deletion from review UI could the selected row when returning to this window MenuIndex menu_index = menu_layer_get_selected_index(menu_layer_main_menu); uint16_t section = menu_index.section; uint16_t row = menu_index.row; uint16_t num_rows = num_rows_callback(menu_layer_main_menu, section, NULL); window_unload(window); window_load(window); if (row >= num_rows) { // Exception handling for review UI deleting a session menu_layer_set_selected_index(menu_layer_main_menu, MenuIndex(section,0), MenuRowAlignCenter, false); } else { menu_layer_set_selected_index(menu_layer_main_menu, MenuIndex(section,row), MenuRowAlignCenter, false); } layer_mark_dirty(menu_layer_get_layer(menu_layer_main_menu)); }
void multi_code_window_second_tick(int seconds) { if (refresh_required) { menu_layer_reload_data(multi_code_menu_layer); menu_layer_set_selected_index(multi_code_menu_layer, MenuIndex(0, otp_selected), MenuRowAlignCenter, true); if(fonts_changed) multi_code_set_fonts(); if (colors_changed) multi_code_apply_display_colors(); refresh_required = false; } }
void handle_group_window_appear(struct Window *window){ if(currentWindow == WINDOW_HOME){ device_count = 0; devices_loaded = 0; menu_layer_set_selected_index(&groupLayer, MenuIndex(0, 0), MenuRowAlignTop, false); } currentWindow = WINDOW_ROOM; if(devices_loaded < device_count || devices_loaded == 0){ if(!request_in_progress){ request_device_list(); } } }
multi_code_menu_layer = menu_layer_create(menu_bounds); menu_layer_set_click_config_onto_window(multi_code_menu_layer, window); menu_layer_set_callbacks(multi_code_menu_layer, NULL, (MenuLayerCallbacks) { .get_num_rows = (MenuLayerGetNumberOfRowsInSectionsCallback)multi_code_menu_get_num_rows_callback, .draw_row = (MenuLayerDrawRowCallback)multi_code_menu_draw_row_callback, .get_cell_height = (MenuLayerGetCellHeightCallback)multi_code_menu_get_cell_height_callback, .select_click = (MenuLayerSelectCallback)multi_code_menu_select_callback, .select_long_click = (MenuLayerSelectCallback)multi_code_menu_select_long_callback, .draw_header = (MenuLayerDrawHeaderCallback)multi_code_menu_draw_header_callback, .get_header_height = (MenuLayerGetHeaderHeightCallback)multi_code_menu_get_header_height_callback, .get_num_sections = (MenuLayerGetNumberOfSectionsCallback)multi_code_menu_get_num_sections_callback, .selection_changed = (MenuLayerSelectionChangedCallback)multi_code_menu_selection_changed_callback, }); scroll_layer_set_shadow_hidden(menu_layer_get_scroll_layer(multi_code_menu_layer), true); layer_add_child(window_layer, menu_layer_get_layer(multi_code_menu_layer)); menu_layer_set_selected_index(multi_code_menu_layer, MenuIndex(0, otp_selected), MenuRowAlignCenter, false); add_countdown_layer(window_layer); show_countdown_layer(); multi_code_apply_display_colors(); } void multi_code_window_unload(Window *window) { menu_layer_destroy(multi_code_menu_layer); window_destroy(multi_code_main_window); multi_code_main_window = NULL; } void multi_code_window_remove(void) { window_stack_remove(multi_code_main_window, false); }
s_list_message_layer = text_layer_create(GRect(5,130,160,50)); text_layer_set_font(s_list_message_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD)); text_layer_set_text_alignment(s_list_message_layer, GTextAlignmentLeft); update_text(2); // text_layer_set_text(s_list_message_layer, "1 2 3 4 5 6 7 8 9 10"); layer_add_child(window_layer, text_layer_get_layer(s_list_message_layer)); s_menu_layer = menu_layer_create(GRect(125, 2, 40, LIST_MESSAGE_WINDOW_MENU_HEIGHT)); // menu_layer_set_click_config_onto_window(s_menu_layer, window); menu_layer_set_callbacks(s_menu_layer, NULL, (MenuLayerCallbacks) { .get_num_rows = get_num_rows_callback, .draw_row = draw_row_callback, .get_cell_height = get_cell_height_callback, }); menu_layer_set_selected_index(s_menu_layer, MenuIndex(0,2), MenuRowAlignNone, true); layer_add_child(window_layer, menu_layer_get_layer(s_menu_layer)); //question layer s_question_layer = text_layer_create(GRect(3,5,122,130)); text_layer_set_font(s_question_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD)); text_layer_set_text_alignment(s_question_layer, GTextAlignmentLeft); text_layer_set_text(s_question_layer, "Please rate how tired/sleepy you are:"); layer_add_child(window_layer, text_layer_get_layer(s_question_layer)); primitives_layer = layer_create(bounds); layer_add_child(window_layer, primitives_layer); layer_set_update_proc(primitives_layer, canvas_update_proc); }