MenuIndex get_current_session_from_time() { time_t now = time(NULL); struct tm *tm_now = localtime(&now); MenuIndex current = {.section = 0, .row = 0}; if (tm_now->tm_mon != event_month - 1 || tm_now->tm_mday != event_day) { return current; } for(int ts_idx=0; ts_idx<schedule.num_slots; ts_idx++) { TimeSlot *ts = &schedule.slots[ts_idx]; if (tm_now->tm_hour < ts->start_hour) { break; } else if(tm_now->tm_hour == ts->start_hour && tm_now->tm_min < ts->start_min) { break; } current.section = ts_idx; } return current; } MenuIndex get_current_session_from_args() { int args = launch_get_args(); MenuIndex current = {.section = args / 10, .row = args % 10}; return current; } MenuIndex get_current_session() { #ifdef PBL_COLOR if (launch_reason() == APP_LAUNCH_TIMELINE_ACTION && launch_get_args() > 0) { return get_current_session_from_args(); } #endif return get_current_session_from_time(); } static void main_window_load(Window *window) { Layer *window_layer = window_get_root_layer(window); GRect bounds = layer_get_frame(window_layer); menu_schedule = menu_layer_create(bounds); #ifdef PBL_COLOR menu_layer_set_normal_colors(menu_schedule, ROW_BG_COLOR, ROW_FG_COLOR); menu_layer_set_highlight_colors(menu_schedule, HIGHLIGHT_BG_COLOR, HIGHLIGHT_FG_COLOR); #endif menu_layer_set_callbacks(menu_schedule, NULL, (MenuLayerCallbacks) { .get_num_sections = menu_get_num_sections_callback, .get_num_rows = menu_get_num_rows_callback, .get_header_height = menu_get_header_height_callback, .get_cell_height = menu_get_height_callback, .draw_header = menu_draw_header_callback, .draw_row = menu_draw_row_callback, .select_click = menu_select_callback, }); menu_layer_set_click_config_onto_window(menu_schedule, window); MenuIndex idx = get_current_session(); menu_layer_set_selected_index(menu_schedule, idx, MenuRowAlignCenter, false); layer_add_child(window_layer, menu_layer_get_layer(menu_schedule)); }
static void main_window_load(Window *window) { Layer *window_layer; GRect window_bounds; window_set_background_color(window, COLOR_WINDOW_BG); window_layer = window_get_root_layer(window); window_bounds = layer_get_bounds(window_layer); APP_LOG(APP_LOG_LEVEL_INFO, "bounds of window: %d,%d:%d,%d", window_bounds.origin.x, window_bounds.origin.y, window_bounds.size.w, window_bounds.size.h); main_menu_layer = menu_layer_create(window_bounds); #ifdef PBL_SDK_3 menu_layer_set_highlight_colors(main_menu_layer, COLOR_MENU_BG, COLOR_MENU_FG); menu_layer_set_normal_colors(main_menu_layer, COLOR_MENU_BG_HL, COLOR_MENU_FG_HL); #endif menu_layer_set_click_config_onto_window(main_menu_layer, window); layer_add_child(window_layer, menu_layer_get_layer(main_menu_layer)); menu_layer_set_callbacks(main_menu_layer, NULL, (MenuLayerCallbacks) { .get_header_height = main_menu_header_height, .draw_header = main_menu_header, .draw_row = main_menu_draw_row, .get_num_rows = main_menu_num_rows, .select_click = main_menu_select_click, });
void multi_code_apply_display_colors() { window_set_background_color(multi_code_main_window, bg_color); set_countdown_layer_color(fg_color); #ifdef PBL_COLOR menu_layer_set_normal_colors(multi_code_menu_layer, bg_color, fg_color); #endif }
void process_tuple(Tuple *t){ int key = t->key; if(key == 9000){ app_timer_register(1000, send_initial_request, NULL); tick_timer_service_subscribe(MINUTE_UNIT, handle_tick); return; } if(key < 10){ //HOME switch(key){ case 0: strncpy(home_matchup_subtitle, t->value->cstring, sizeof(home_matchup_subtitle)); break; case 1: strncpy(home_league_subtitle, t->value->cstring, sizeof(home_league_subtitle)); break; case 2: strncpy(home_team_subtitle, t->value->cstring, sizeof(home_team_subtitle)); break; } } else if(key < 100){ //MATCHUP switch(key){ case 10: strncpy(matchup_ally_name, t->value->cstring, sizeof(matchup_ally_name)); break; case 11: matchup_ally_score_int = atoi(t->value->cstring); break; case 12: strncpy(matchup_ally_score_char, t->value->cstring, sizeof(matchup_ally_score_char)); break; case 13: strncpy(matchup_enemy_name, t->value->cstring, sizeof(matchup_enemy_name)); break; case 14: matchup_enemy_score_int = atoi(t->value->cstring); break; case 15: strncpy(matchup_enemy_score_char, t->value->cstring, sizeof(matchup_enemy_score_char)); break; } } else if(key < 200){ //LEAGUE strncpy(league_team_names[key-100], t->value->cstring, sizeof(league_team_names[key-100])); if(strcmp(league_team_names[key-100], "") == 0 && key-100 < num_teams){ num_teams = key-100; menu_layer_reload_data(league_menu_layer); } } else if(key < 300){ //TEAM strncpy(team_player_names[key-200], t->value->cstring, sizeof(team_player_names[key-200])); if(strcmp(team_player_names[key-200], "") == 0 && key-200 < num_players){ num_players = key-200; menu_layer_reload_data(team_menu_layer); } } else if(key == 300){ //DRAFT STATUS if(atoi(t->value->cstring) == 1){ #ifdef PBL_COLOR menu_layer_set_normal_colors(home_menu_layer, GColorBlack, GColorLightGray); menu_layer_set_highlight_colors(home_menu_layer, APP_COLOR, GColorLightGray); menu_layer_reload_data(home_menu_layer); #endif text_layer_set_text(home_text_layer, "Status: Pre-Draft"); pre_draft = true; } } }
static void initialise_ui(void) { s_window = window_create(); IF_2(window_set_fullscreen(s_window, true)); s_header_font = fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD); // settings_layer settings_layer = menu_layer_create(GRect(0, 0, 144, 168)); menu_layer_set_click_config_onto_window(settings_layer, s_window); IF_3(menu_layer_set_normal_colors(settings_layer, GColorBlack, GColorWhite)); IF_3(menu_layer_set_highlight_colors(settings_layer, GColorBlueMoon, GColorWhite)); layer_add_child(window_get_root_layer(s_window), (Layer *)settings_layer); }
static void window_load(Window *window) { Layer *window_layer = window_get_root_layer(window); GRect bounds = layer_get_bounds(window_layer); s_menu_layer = menu_layer_create(bounds); menu_layer_set_click_config_onto_window(s_menu_layer, window); menu_layer_set_normal_colors(s_menu_layer, GColorWhite, GColorBlack); menu_layer_set_highlight_colors(s_menu_layer, GColorCyan, GColorBlack); 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, .select_click = select_callback, });
static void initialise_ui(void) { s_window = window_create(); window_set_fullscreen(s_window, true); window_set_background_color(s_window, COLOUR_WINDOW); // s_menu s_menu = menu_layer_create(layer_get_bounds(window_get_root_layer(s_window))); if(watch_info_get_firmware_version().major >= 3) { scroll_layer_set_shadow_hidden(menu_layer_get_scroll_layer(s_menu), true); } #ifdef PBL_SDK_3 menu_layer_set_highlight_colors(s_menu, COLOUR_MENU_HIGHLIGHT_BACKGROUND, COLOUR_MENU_HIGHLIGHT_FOREGROUND); menu_layer_set_normal_colors(s_menu, COLOUR_MENU_BACKGROUND, COLOUR_MENU_FOREGROUND); #endif menu_layer_set_click_config_onto_window(s_menu, s_window); layer_add_child(window_get_root_layer(s_window), (Layer *)s_menu); }
static void window_load(Window *window) { APP_LOG(APP_LOG_LEVEL_DEBUG, "WINDOW LOAD"); Layer *window_layer = window_get_root_layer(window); GRect bounds = layer_get_bounds(window_layer); s_menu_layer = menu_layer_create(bounds); menu_layer_set_click_config_onto_window(s_menu_layer, window); #if defined(PBL_COLOR) menu_layer_set_normal_colors(s_menu_layer, GColorBlack, GColorWhite); menu_layer_set_highlight_colors(s_menu_layer, GColorRed, GColorWhite); #endif 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, .select_click = select_callback, });
static void window_load(Window *window) { Layer *window_layer = window_get_root_layer(window); GRect bounds = layer_get_bounds(window_layer); s_menu_layer = menu_layer_create(GRect(0, 15, bounds.size.w, 153)); s_first_element = text_layer_create(GRect(0, 0, bounds.size.w, 15)); window_set_background_color(s_main_window, GColorBlack); menu_layer_set_click_config_onto_window(s_menu_layer, window); menu_layer_set_normal_colors(s_menu_layer, GColorBlack, GColorWhite); menu_layer_set_highlight_colors(s_menu_layer, GColorOrange, GColorWhite); 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, //.select_click = select_callback, });
static void prv_window_load(Window *window) { GoalStarConfigurationWindowData *data = window_get_user_data(window); if (!data) { return; } Layer *window_root_layer = window_get_root_layer(window); const GRect window_root_layer_bounds = layer_get_bounds(window_root_layer); const GRect title_layer_frame = (GRect) { #if PBL_RECT // Adjust for font cap offset .origin = GPoint(0, -2), #endif .size = GSize(window_root_layer_bounds.size.w, STATUS_BAR_LAYER_HEIGHT), }; data->title_layer = text_layer_create(title_layer_frame); TextLayer *title_layer = data->title_layer; text_layer_set_text_alignment(title_layer, GTextAlignmentCenter); text_layer_set_overflow_mode(title_layer, GTextOverflowModeTrailingEllipsis); text_layer_set_background_color(title_layer, GColorClear); text_layer_set_text_color(title_layer, GColorBlack); text_layer_set_font(title_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14)); text_layer_set_text(title_layer, PBL_IF_RECT_ELSE("Goal Star Configuration", "Config")); layer_add_child(window_root_layer, text_layer_get_layer(title_layer)); const GEdgeInsets menu_layer_insets = PBL_IF_RECT_ELSE(GEdgeInsets(STATUS_BAR_LAYER_HEIGHT, 0, 0), GEdgeInsets(STATUS_BAR_LAYER_HEIGHT, 0)); const GRect menu_layer_frame = grect_inset(window_root_layer_bounds, menu_layer_insets); data->menu_layer = menu_layer_create(menu_layer_frame); MenuLayer *menu_layer = data->menu_layer; menu_layer_set_callbacks(menu_layer, data, (MenuLayerCallbacks) { .get_num_rows = prv_menu_layer_get_num_rows_callback, .draw_row = prv_menu_layer_draw_row_callback, #if PBL_ROUND .get_cell_height = prv_menu_layer_get_cell_height, #endif .select_click = prv_menu_layer_select_callback, }); menu_layer_set_normal_colors(menu_layer, GColorWhite, GColorBlack); menu_layer_set_highlight_colors(menu_layer, GColorCobaltBlue, GColorWhite); menu_layer_set_click_config_onto_window(menu_layer, window); layer_add_child(window_root_layer, menu_layer_get_layer(menu_layer)); }
void create_menu(Window *window) { menu_layer = menu_layer_create(GRect(0, STATUS_BAR_LAYER_HEIGHT, 144, MENU_HEIHGT)); menu_layer_set_click_config_onto_window(menu_layer, window); MenuLayerCallbacks callbacks = { .draw_row = (MenuLayerDrawRowCallback) draw_row_callback, .get_num_rows = (MenuLayerGetNumberOfRowsInSectionsCallback)num_rows_callback, .get_num_sections = (MenuLayerGetNumberOfSectionsCallback)num_sections_callback, .get_header_height = (MenuLayerGetHeaderHeightCallback)header_height, .draw_header = (MenuLayerDrawHeaderCallback)draw_header_callback, .select_click = (MenuLayerSelectCallback)select_click_callback, .select_long_click = (MenuLayerSelectCallback)select_long_click_callback }; menu_layer_set_callbacks(menu_layer, NULL, callbacks); #ifdef PBL_COLOR menu_layer_set_normal_colors(menu_layer, GColorWhite, GColorDukeBlue); menu_layer_set_highlight_colors(menu_layer, GColorVividCerulean, GColorWhite); #endif layer_add_child(window_get_root_layer(window), menu_layer_get_layer(menu_layer)); }
static void initialise_ui(void) { s_window = window_create(); #ifdef PBL_SDK_2 window_set_fullscreen(s_window, true); #endif bounds = layer_get_bounds(window_get_root_layer(s_window)); menu = menu_layer_create(GRect(0, 0, bounds.size.w, bounds.size.h)); menu_layer_set_click_config_onto_window(menu, s_window); #ifdef PBL_COLOR menu_layer_set_normal_colors(menu, GColorPastelYellow, GColorBlack); menu_layer_set_highlight_colors(menu, GColorDarkCandyAppleRed, GColorWhite); #endif #ifdef PBL_ROUND menu_layer_set_center_focused(menu, true); #endif layer_add_child(window_get_root_layer(s_window), (Layer *)menu); }