static void OnReminderShortClick (const char *name, const char *sprite, const char *image, const RoadMapGpsPosition *gps_position, const RoadMapGuiPoint *offset, BOOL is_visible, int scale, int opacity, const char *id, const char *text){ SsdWidget button; SsdWidget spacer; SsdWidget txt; SsdWidget bg; RoadMapPosition Pos; Pos.latitude = gps_position->latitude; Pos.longitude = gps_position->longitude; if (ssd_dialog_is_currently_active() && (!strcmp(ssd_dialog_currently_active_name(), REMINDER_POP_DLG_NAME))) ssd_dialog_hide_current(dec_close); bg = create_reminder_dlg(); if (get_id(id) != -1){ char msg[250]; int rem_distance; Reminder reminder; SsdWidget container; container = ssd_container_new( "container_txt", "", SSD_MIN_SIZE, SSD_MIN_SIZE, 0 ); ssd_widget_set_color( container, NULL, NULL ); reminder = ReminderTable.reminder[get_id(id)]; txt = ssd_text_new("reminder_title",&reminder.title[0] ,22, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 25, 0); ssd_widget_add(container, txt); spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 10, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( container, spacer ); txt = ssd_text_new("reminder_desc",&reminder.description[0] ,18, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 30, 0); ssd_widget_add(container, txt); spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 10, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( container, spacer ); rem_distance = roadmap_math_to_trip_distance_tenths(reminder.distance); sprintf(msg, roadmap_lang_get("Distance to remind: %.1f %s"),rem_distance/10.0, roadmap_lang_get(roadmap_math_trip_unit()) ); txt = ssd_text_new("reminder_dist",&msg[0] ,14, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 30, 0); ssd_widget_add(container, txt); ssd_widget_add( bg, container ); } #ifdef TOUCH_SCREEN button = create_close_button(); ssd_widget_add(bg, button); button = create_del_button(); ssd_widget_set_offset(button, 0, -20); button->context = strdup(id); ssd_widget_add(bg, button); #endif //TOUCH_SCREEN show_reminder_dlg(); }
void roadmap_mood_dialog (RoadMapCallback callback) { char **files; const char *cursor; char **cursor2; char *directory = NULL; int count = 0; SsdWidget moodDlg; SsdWidget list; SsdWidget exclusive_list; SsdWidget baby_list; SsdWidget text; int i; BOOL only_baby_mood = Realtime_IsNewbie(); int row_height = ssd_container_get_row_height(); SsdListCallback exclusive_callback = NULL; SsdListCallback regular_mood_callback = roadmap_mood_call_back; int flags = 0; int width = SSD_MAX_SIZE; static roadmap_mood_list_dialog context = {"roadmap_mood", NULL}; static char *labels[MAX_MOOD_ENTRIES] ; static void *values[MAX_MOOD_ENTRIES] ; static void *icons[MAX_MOOD_ENTRIES]; static char *exclusive_labels[MAX_EXCLUSIVE_ICONS] ; static void *exclusive_values[MAX_EXCLUSIVE_ICONS] ; static void *exclusive_icons[MAX_EXCLUSIVE_ICONS]; static char *baby_labels[1] ; static void *baby_values[1] ; static void *baby_icons[1]; flags |= SSD_ALIGN_CENTER|SSD_CONTAINER_BORDER|SSD_CONTAINER_FLAGS; width = ssd_container_get_width(); moodDlg = ssd_dialog_new ( "MoodDlg", roadmap_lang_get ("Select your mood"), NULL, SSD_CONTAINER_TITLE); moodDlg->context = (void *)callback; exclusive_list = ssd_list_new ("list", width, SSD_MAX_SIZE, inputtype_none, flags, NULL); ssd_list_resize ( exclusive_list, row_height ); baby_list = ssd_list_new ("baby_list", width, SSD_MAX_SIZE, inputtype_none, flags, NULL); ssd_list_resize ( baby_list, row_height ); exclusive_labels[0] = (char *)roadmap_lang_get("wazer_gold"); exclusive_values[0] = "wazer_gold"; exclusive_icons[0] = "wazer_gold"; exclusive_labels[1] = (char *)roadmap_lang_get("wazer_silver"); exclusive_values[1] = "wazer_silver"; exclusive_icons[1] = "wazer_silver"; exclusive_labels[2] = (char *)roadmap_lang_get("wazer_bronze"); exclusive_values[2] = "wazer_bronze"; exclusive_icons[2] = "wazer_bronze"; if (roadmap_mood_get_exclusive_moods() > 0){ exclusive_callback = roadmap_exclusive_mood_call_back; } ssd_list_populate (exclusive_list, 3, (const char **)exclusive_labels, (const void **)exclusive_values, (const char **)exclusive_icons, NULL, exclusive_callback, NULL, FALSE); if (only_baby_mood){ char msg[150]; baby_labels[0] = (char *)roadmap_lang_get("Baby"); baby_values[0] = "wazer_baby"; baby_icons[0] = "wazer_baby"; ssd_list_populate (baby_list, 1, (const char **)baby_labels, (const void **)baby_values, (const char **)baby_icons, NULL, NULL, NULL, FALSE); ssd_dialog_add_hspace(moodDlg, 20, 0); text = ssd_text_new ("Baby Mood Txt", roadmap_lang_get("Waze newbie"), SSD_HEADER_TEXT_SIZE, SSD_TEXT_NORMAL_FONT | SSD_END_ROW); ssd_widget_add(moodDlg, text); ssd_dialog_add_hspace(moodDlg, 20, 0); snprintf(msg, sizeof(msg), roadmap_lang_get("(Gotta drive %d+ %s to access other moods)"), roadmap_mood_get_number_of_newbie_miles(), roadmap_lang_get(roadmap_math_trip_unit())); text = ssd_text_new ("Gold Mood Txt", msg, 12, SSD_END_ROW|SSD_TEXT_NORMAL_FONT); ssd_widget_add(moodDlg, text); ssd_widget_add (moodDlg, baby_list); } ssd_dialog_add_vspace(moodDlg, ADJ_SCALE(5),0); ssd_dialog_add_hspace(moodDlg, 20, 0); text = ssd_text_new ("Gold Mood Txt", roadmap_lang_get("Exclusive moods"), SSD_HEADER_TEXT_SIZE, SSD_TEXT_NORMAL_FONT | SSD_END_ROW); ssd_widget_add(moodDlg, text); ssd_dialog_add_hspace(moodDlg, 20, 0); text = ssd_text_new ("Gold Mood Txt", roadmap_lang_get("(Available only to top weekly scoring wazers)"), SSD_FOOTER_TEXT_SIZE, SSD_END_ROW|SSD_TEXT_NORMAL_FONT); ssd_widget_add(moodDlg, text); ssd_dialog_add_vspace(moodDlg, ADJ_SCALE(3),0); ssd_widget_add (moodDlg, exclusive_list); for (i = 0; i < (3 - roadmap_mood_get_exclusive_moods()); i++){ SsdWidget row = ssd_list_get_row(exclusive_list, i); if (row){ SsdWidget label = ssd_widget_get(row,"label"); if (label) ssd_text_set_color(label,"#999999"); } } list = ssd_list_new ("list", width, SSD_MAX_SIZE, inputtype_none, flags, NULL); exclusive_list->key_pressed = NULL; ssd_dialog_add_vspace(moodDlg, ADJ_SCALE(10), 0); ssd_dialog_add_hspace(moodDlg, 20, 0); text = ssd_text_new ("Gold Mood Txt", roadmap_lang_get("Everyday moods"), SSD_HEADER_TEXT_SIZE, SSD_TEXT_NORMAL_FONT | SSD_END_ROW); ssd_widget_add(moodDlg, text); ssd_dialog_add_hspace(moodDlg, 20, 0); text = ssd_text_new ("Gold Mood Txt", roadmap_lang_get("(Available to all)"), SSD_FOOTER_TEXT_SIZE, SSD_END_ROW|SSD_TEXT_NORMAL_FONT); ssd_widget_add(moodDlg, text); ssd_dialog_add_vspace(moodDlg, ADJ_SCALE(3),0); ssd_widget_add (moodDlg, list); ssd_list_resize ( list, row_height ); context.callback = callback; for (cursor = roadmap_path_first ("skin"); cursor != NULL; cursor = roadmap_path_next ("skin", cursor)) { directory = roadmap_path_join (cursor, "moods"); files = roadmap_path_list (directory, ".png"); if ( *files == NULL ) { files = roadmap_path_list (directory, NULL); } for (cursor2 = files; *cursor2 != NULL; ++cursor2) { labels[count] = (char *)(strtok(*cursor2,".")); count++; } } qsort((void *) &labels[0], count, sizeof(void *), cstring_cmp); for (i = 0; i< count; i++){ values[i] = labels[i]; icons[i] = roadmap_path_join("moods", labels[i]); labels[i] = (char *)roadmap_lang_get(labels[i]); } if (only_baby_mood){ regular_mood_callback = NULL; } free(directory); ssd_list_populate (list, count, (const char **)labels, (const void **)values, (const char **)icons, NULL, regular_mood_callback, NULL, FALSE); if (only_baby_mood){ for (i = 0; i< count; i++){ SsdWidget row = ssd_list_get_row(list, i); if (row){ SsdWidget label = ssd_widget_get(row,"label"); if (label) ssd_text_set_color(label,"#999999"); } } } // else{ // SsdWidget row = ssd_list_get_row(baby_list,0 ); // if (row){ // SsdWidget label = ssd_widget_get(row,"label"); // if (label) // ssd_text_set_color(label,"#999999"); // } // } exclusive_list->key_pressed = NULL; ssd_dialog_activate ("MoodDlg", NULL); ssd_dialog_draw (); }
static void show_reminder(int id, int distance){ SsdWidget button; SsdWidget spacer; SsdWidget txt; SsdWidget bg; if (ssd_dialog_is_currently_active() && (!strcmp(ssd_dialog_currently_active_name(), REMINDER_POP_DLG_NAME))) ssd_dialog_hide_current(dec_close); bg = create_reminder_dlg(); if (id != -1){ Reminder reminder; SsdWidget container; char msg[250]; int rem_distance; container = ssd_container_new( "container_txt", "", SSD_MIN_SIZE, SSD_MIN_SIZE, 0 ); ssd_widget_set_color( container, NULL, NULL ); reminder = ReminderTable.reminder[id]; txt = ssd_text_new("reminder_title",&reminder.title[0] ,22, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 25, 0); ssd_widget_add(container, txt); spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 10, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( container, spacer ); txt = ssd_text_new("reminder_desc",&reminder.description[0] ,18, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 30, 0); ssd_widget_add(container, txt); spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 10, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( container, spacer ); rem_distance = roadmap_math_to_trip_distance_tenths(reminder.distance); sprintf(msg, "%s: %.1f %s",roadmap_lang_get("Distance"), rem_distance/10.0, roadmap_lang_get(roadmap_math_trip_unit()) ); txt = ssd_text_new("reminder_dist",&msg[0] ,14, SSD_END_ROW); ssd_text_set_color(txt, "#ab5939"); ssd_widget_set_offset(txt, 30, 0); ssd_widget_add(container, txt); ssd_widget_add( bg, container ); } #ifdef TOUCH_SCREEN spacer = ssd_container_new( "space", "", 10, 30, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( bg, spacer ); button = create_close_button(); button->context = (void *)roadmap_string_get(generate_id(id)); ssd_widget_add(bg, button); if (ReminderTable.reminder[id].repeat == 1){ button = create_del_button(); button->context = (void *)roadmap_string_get(generate_id(id)); ssd_widget_add(bg, button); } #endif //TOUCH_SCREEN show_reminder_dlg(); }