void ssd_dialog_new_entry (const char *name, const char *value, int flags, SsdCallback callback) { SsdWidget child = ssd_entry_new (name, value, flags, 0,SSD_MIN_SIZE, SSD_MIN_SIZE,""); append_child (child); ssd_widget_set_callback (child, callback); }
static void create_login_dialog(void) { SsdWidget dialog; SsdWidget group; SsdWidget box, box2; SsdWidget bitmap; int width; int tab_flag = SSD_WS_TABSTOP; int disc_font_size = 16; #ifdef RIMAPI disc_font_size = 14; #endif width = roadmap_canvas_width()/2; dialog = ssd_dialog_new(FOURSQUARE_LOGIN_DIALOG_NAME, roadmap_lang_get(FOURSQUARE_TITLE), on_login_dlg_close, SSD_CONTAINER_TITLE); #ifdef TOUCH_SCREEN ssd_widget_add (dialog, space(5)); #endif box = ssd_container_new("UN/PW group", NULL, SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW | SSD_ROUNDED_CORNERS | SSD_ROUNDED_WHITE | SSD_POINTER_NONE | SSD_CONTAINER_BORDER); //Accound details header group = ssd_container_new("Foursquare Account Header group", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_set_color(group, "#000000", "#ffffff"); ssd_widget_add(group, ssd_text_new("Label", roadmap_lang_get("Account details"), 16, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER)); bitmap = ssd_bitmap_new ("foursquare_icon", "foursquare_logo",SSD_ALIGN_RIGHT|SSD_WS_TABSTOP); ssd_widget_add(group, bitmap); ssd_widget_add (group, ssd_separator_new ("separator", SSD_ALIGN_BOTTOM)); ssd_widget_add(box, group); //Accound login status group = ssd_container_new("Foursquare Account Login group", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_set_color(group, "#000000", "#ffffff"); ssd_widget_add(group, ssd_text_new("Login Status Label", "", 16, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER)); ssd_widget_add (group, ssd_separator_new ("separator", SSD_ALIGN_BOTTOM)); ssd_widget_add(box, group); //User name group = ssd_container_new("Foursquare Name group", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_set_color(group, "#000000", "#ffffff"); ssd_widget_add(group, ssd_text_new("Label", roadmap_lang_get("Email/phone"), -1, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER)); ssd_widget_add(group, ssd_entry_new("FoursquareUserName", "", SSD_ALIGN_VCENTER | SSD_ALIGN_RIGHT | tab_flag, 0, width, SSD_MIN_SIZE, roadmap_lang_get("User name"))); ssd_widget_add(box, group); //Password group = ssd_container_new("Foursquare PW group", NULL, SSD_MAX_SIZE, 40, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_set_color(group, "#000000", "#ffffff"); ssd_widget_add(group, ssd_text_new("Label", roadmap_lang_get("Password"), 12, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER)); ssd_widget_add(group, ssd_entry_new("FoursquarePassword", "", SSD_ALIGN_VCENTER | SSD_ALIGN_RIGHT | tab_flag, SSD_TEXT_PASSWORD, width, SSD_MIN_SIZE, roadmap_lang_get("Password"))); ssd_widget_add(box, group); ssd_widget_add(dialog, box); //tweet settings header ssd_widget_add(dialog, space(5)); box = ssd_container_new ("Foursquare auto settings header group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_add (box, ssd_text_new ("foursquare_auto_settings_header", roadmap_lang_get ("Automatically tweet to my followers that I:"), disc_font_size, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER | SSD_WIDGET_SPACE)); ssd_widget_set_color (box, NULL, NULL); ssd_widget_add (dialog, box); ssd_widget_add(dialog, space(5)); //Tweets box = ssd_container_new("Tweet toggles group", NULL, SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW | SSD_ROUNDED_CORNERS | SSD_ROUNDED_WHITE | SSD_POINTER_NONE | SSD_CONTAINER_BORDER); group = ssd_container_new("Send_Tweets group", NULL, SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW| tab_flag); ssd_widget_set_color(group, "#000000", "#ffffff"); box2 = ssd_container_new ("box2", NULL, (2*roadmap_canvas_width())/3, SSD_MIN_SIZE, SSD_ALIGN_VCENTER); ssd_widget_set_color (box2, NULL, NULL); ssd_widget_add(box2, ssd_text_new("Send_login_label", roadmap_lang_get( "Am checking out this integration"), -1, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER | SSD_WIDGET_SPACE)); ssd_widget_add(group, box2); ssd_widget_add(group, ssd_checkbox_new("FoursquareSendLogin", TRUE, SSD_END_ROW | SSD_ALIGN_RIGHT | SSD_ALIGN_VCENTER , NULL, NULL, NULL, CHECKBOX_STYLE_ON_OFF)); ssd_widget_add(box, group); group = ssd_container_new("Send_Tweets group", NULL, SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW| tab_flag); box2 = ssd_container_new ("box2", NULL, (2*roadmap_canvas_width())/3, SSD_MIN_SIZE, SSD_ALIGN_VCENTER); ssd_widget_set_color (box2, NULL, NULL); ssd_widget_add(box2, ssd_text_new("Send_waze_badge_label", roadmap_lang_get( "Have unlocked the Roadwarrior Badge"), -1, SSD_TEXT_LABEL | SSD_ALIGN_VCENTER | SSD_WIDGET_SPACE)); ssd_widget_add(group, box2); ssd_widget_add(group, ssd_checkbox_new("FoursquareSendBadgeUnlock", TRUE, SSD_END_ROW | SSD_ALIGN_RIGHT | SSD_ALIGN_VCENTER , NULL, NULL, NULL, CHECKBOX_STYLE_ON_OFF)); ssd_widget_add(box, group); ssd_widget_add(dialog, box); //Foursquare comments ssd_widget_add(dialog, space(5)); box = ssd_container_new ("Comments", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE | SSD_END_ROW); ssd_widget_add (box, ssd_text_new ("comment footer", roadmap_lang_get ("We've partnered with Foursquare to give you quick access to check-in to nearby venues."), disc_font_size, SSD_TEXT_LABEL | SSD_WIDGET_SPACE)); ssd_widget_add (box, ssd_text_new ("comment footer", roadmap_lang_get ("What is Foursquare?"), disc_font_size, SSD_TEXT_LABEL | SSD_WIDGET_SPACE)); ssd_widget_add (box, ssd_text_new ("comment footer", roadmap_lang_get ("It's a cool way to discover and promote cool places in your city and be rewarded for doing so."), disc_font_size, SSD_TEXT_LABEL | SSD_WIDGET_SPACE)); ssd_widget_add (box, ssd_text_new ("comment footer", roadmap_lang_get ("Don't have an account? Sign up on:"), disc_font_size, SSD_TEXT_LABEL | SSD_WIDGET_SPACE)); ssd_widget_add (box, ssd_text_new ("comment footer", roadmap_lang_get ("www.foursquare.com"), disc_font_size, SSD_TEXT_LABEL | SSD_WIDGET_SPACE|SSD_WS_TABSTOP)); ssd_widget_set_color (box, NULL, NULL); ssd_widget_add (dialog, box); #ifndef TOUCH_SCREEN ssd_widget_set_left_softkey_text ( dialog, roadmap_lang_get("Ok")); ssd_widget_set_left_softkey_callback ( dialog, on_ok_softkey); #endif }
static void reminder_add_dlg(PluginStreetProperties *properties, RoadMapPosition *position, BOOL isReminder, BOOL default_reminder){ SsdWidget dialog, dialog_cont; SsdWidget group; SsdWidget text_box; SsdWidget spacer; SsdWidget text; SsdWidget container, box2; static const char *distance_labels[6]; static const char *distance_values[6]; const char * dlg_name; static const char *repeat_labels[2] ; static const char *repeat_values[2] = {"0", "1"}; if (properties) gContext.properties = *properties; else{ gContext.properties.address = ""; gContext.properties.street = ""; gContext.properties.city = ""; } gContext.position = *position; repeat_labels[0] = roadmap_lang_get("Once"); repeat_labels[1] = roadmap_lang_get("Every time"); if (roadmap_math_is_metric()){ distance_values[0] = "100"; distance_values[1] = "500"; distance_values[2] = "1000"; distance_values[3] = "5000"; distance_values[4] = "10000"; distance_values[5] = "20000"; distance_labels[0] = "100 m"; distance_labels[1] = "500 m"; distance_labels[2] = "1 km"; distance_labels[3] = "5 km"; distance_labels[4] = "10 km"; distance_labels[5] = "20 km"; } else{ distance_values[0] = "30"; distance_values[1] = "152"; distance_values[2] = "1609"; distance_values[3] = "8046"; distance_values[4] = "16090"; distance_values[5] = "32186"; distance_labels[0] = "100 ft"; distance_labels[1] = "500 ft"; distance_labels[2] = "1 mi"; distance_labels[3] = "5 mi"; distance_labels[4] = "10 mi"; distance_labels[5] = "20 mi"; } if (default_reminder) dlg_name = roadmap_lang_get(REMINDER_DLG_TITLE); else dlg_name = roadmap_lang_get("Save location"); dialog = ssd_dialog_new (REMINDER_DLG_NAME, dlg_name, NULL, SSD_CONTAINER_TITLE); dialog_cont = ssd_container_new ("Reminder_DLg_Cont", "", SSD_MAX_SIZE, SSD_MAX_SIZE, SSD_END_ROW); ssd_widget_set_color(dialog_cont, NULL, NULL); text = ssd_text_new("AddressTitle", roadmap_lang_get("Address"), 18, SSD_END_ROW); ssd_widget_add(dialog_cont, text); group = ssd_container_new ("Report", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE,SSD_WIDGET_SPACE|SSD_END_ROW|SSD_ROUNDED_CORNERS|SSD_ROUNDED_WHITE|SSD_POINTER_NONE|SSD_CONTAINER_BORDER); if (properties){ if (properties->street){ text = ssd_text_new( "Street Text", properties->street,-1,SSD_END_ROW); ssd_widget_add(group, text); } if (properties->street){ text = ssd_text_new( "city Text", properties->city,-1,SSD_END_ROW); ssd_widget_add(group, text); } } ssd_widget_add(dialog_cont, group); ssd_dialog_add_hspace(dialog_cont, 5, SSD_END_ROW); text = ssd_text_new("Name", roadmap_lang_get("Name"), 18, SSD_END_ROW); ssd_widget_add(dialog_cont, text); group = ssd_container_new ("Report", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE,SSD_WIDGET_SPACE|SSD_END_ROW|SSD_ROUNDED_CORNERS|SSD_ROUNDED_WHITE|SSD_POINTER_NONE|SSD_CONTAINER_BORDER); text_box = ssd_entry_new( "TitleEntry","",SSD_WIDGET_SPACE|SSD_END_ROW|SSD_WS_TABSTOP,0, SSD_MAX_SIZE, SSD_MIN_SIZE,roadmap_lang_get("Name")); ssd_widget_add(group, text_box); ssd_widget_add(dialog_cont, group); ssd_dialog_add_hspace(dialog_cont, 5, SSD_END_ROW); if (roadmap_reminder_feature_enabled()){ text = ssd_text_new("Geo-ReminderTitle", roadmap_lang_get("Reminder"), 18, SSD_END_ROW); ssd_widget_add(dialog_cont, text); group = ssd_container_new ("Report", NULL, SSD_MAX_SIZE,SSD_MIN_SIZE,SSD_WIDGET_SPACE|SSD_END_ROW|SSD_ROUNDED_CORNERS|SSD_ROUNDED_WHITE|SSD_POINTER_NONE|SSD_CONTAINER_BORDER); container = ssd_container_new ("CheckboxContainer", "", SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_END_ROW); ssd_widget_set_color(container, NULL, NULL); ssd_widget_add ( container, ssd_text_new ("Label", roadmap_lang_get ( "Add Geo-Reminder"), 14, SSD_TEXT_LABEL|SSD_WIDGET_SPACE|SSD_ALIGN_VCENTER ) ); ssd_widget_add (container, ssd_checkbox_new ("add_reminder", default_reminder, SSD_ALIGN_RIGHT, on_checkbox_selected,NULL,NULL,CHECKBOX_STYLE_ON_OFF)); ssd_widget_add(group, container); container = ssd_container_new ("Distance", "", SSD_MIN_SIZE, SSD_MIN_SIZE, 0); ssd_widget_set_color(container, NULL, NULL); box2 = ssd_container_new ("box2", NULL, roadmap_canvas_width()/2, SSD_MIN_SIZE, SSD_ALIGN_VCENTER); ssd_widget_set_color (box2, NULL, NULL); text = ssd_text_new( "Distance Text", roadmap_lang_get("Distance to alert"),-1, SSD_ALIGN_VCENTER); ssd_widget_add(box2, text); ssd_widget_add(container, box2); ssd_dialog_add_hspace(container, 5, 0); ssd_widget_add (container, ssd_choice_new ("distance", roadmap_lang_get("Distance to alert"), 5, (const char **)distance_labels, (const void **)distance_values, SSD_ALIGN_VCENTER|SSD_WS_TABSTOP|SSD_END_ROW, NULL)); spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 1, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( group, spacer ); ssd_widget_add(group, container); container = ssd_container_new ("Repeat", "", SSD_MIN_SIZE, SSD_MIN_SIZE, 0); ssd_widget_set_color(container, NULL, NULL); box2 = ssd_container_new ("box2", NULL, roadmap_canvas_width()/2, SSD_MIN_SIZE, SSD_ALIGN_VCENTER); ssd_widget_set_color (box2, NULL, NULL); text = ssd_text_new( "Repeat Text", roadmap_lang_get("Repeat reminder"),-1, SSD_ALIGN_VCENTER); ssd_widget_add(box2, text); ssd_widget_add(container, box2); ssd_dialog_add_hspace(container, 5, 0); ssd_widget_add (container, ssd_choice_new ("repeat", roadmap_lang_get("Repeat reminder"), 2, (const char **)repeat_labels, (const void **)repeat_values, SSD_ALIGN_VCENTER|SSD_WS_TABSTOP, NULL)); ssd_widget_add(group, container); text_box = ssd_entry_new( "DescriptionEntry","",SSD_WIDGET_SPACE|SSD_END_ROW|SSD_WS_TABSTOP,0, SSD_MAX_SIZE, SSD_MIN_SIZE,roadmap_lang_get("Description")); ssd_widget_add(group, text_box); ssd_widget_add(dialog_cont, group); if (!default_reminder){ ssd_widget_hide(ssd_widget_get(group,"DescriptionEntry")); ssd_widget_hide(ssd_widget_get(group,"Repeat")); ssd_widget_hide(ssd_widget_get(group,"Distance")); } } spacer = ssd_container_new( "space", "", SSD_MIN_SIZE, 5, SSD_END_ROW ); ssd_widget_set_color( spacer, NULL, NULL ); ssd_widget_add( dialog_cont, spacer ); ssd_widget_add (dialog_cont, ssd_button_label ("Save", roadmap_lang_get ("Save"), SSD_WS_TABSTOP|SSD_ALIGN_CENTER|SSD_ALIGN_BOTTOM, reminder_add_dlg_buttons_callback)); ssd_widget_add (dialog_cont, ssd_button_label ("Cancel", roadmap_lang_get ("Cancel"), SSD_WS_TABSTOP|SSD_ALIGN_CENTER|SSD_ALIGN_BOTTOM, reminder_add_dlg_buttons_callback)); ssd_widget_add(dialog, dialog_cont); ssd_dialog_activate(REMINDER_DLG_NAME, NULL); }
static void activate_dialog (const char *name, DialogSelectedLines *selected_lines) { if (!ssd_dialog_activate (name, selected_lines)) { long *values; int count = ROADMAP_ROAD_LAST - ROADMAP_ROAD_FIRST + 1; int i; char **categories; static const char *lang_categories[ROADMAP_ROAD_LAST - ROADMAP_ROAD_FIRST + 1]; SsdWidget dialog; SsdWidget group; SsdWidget container; if (!def_values[1][0]) { def_values[1] = roadmap_lang_get ("Search"); } dialog = ssd_dialog_new (name, roadmap_lang_get (name), NULL, SSD_CONTAINER_TITLE); container = ssd_container_new ("Conatiner Group", NULL, SSD_MAX_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW|SSD_ROUNDED_CORNERS|SSD_ROUNDED_WHITE|SSD_CONTAINER_BORDER|SSD_POINTER_NONE); group = ssd_container_new ("Length group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_set_color (group, NULL, NULL); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Length"), -1, SSD_TEXT_LABEL)); ssd_widget_add (group, ssd_text_new ("Length", "", -1, 0)); ssd_widget_add (container, group); group = ssd_container_new ("Speed group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_set_color (group, NULL, NULL); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Speed"), -1, SSD_TEXT_LABEL)); ssd_widget_add (group, ssd_text_new ("Speed", "", -1, 0)); ssd_widget_add (container, group); group = ssd_container_new ("Time group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_set_color (group, NULL, NULL); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Time"), -1, SSD_TEXT_LABEL)); ssd_widget_add (group, ssd_text_new ("Time", "", -1, SSD_END_ROW)); ssd_widget_add (container, group); roadmap_layer_get_categories_names (&categories, &i); values = malloc ((count+1) * sizeof (long)); for (i=0; i<count; i++) { values[i] = i; lang_categories[i] = roadmap_lang_get (categories[i]); } group = ssd_container_new ("Road type group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Road type"), -1, SSD_TEXT_LABEL|SSD_ALIGN_VCENTER)); ssd_widget_add (group, ssd_choice_new ("Road type", count, (const char **)lang_categories, (const void**)values, SSD_END_ROW|SSD_ALIGN_VCENTER, NULL)); ssd_widget_add (container, group); group = ssd_container_new ("Name group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Name"), -1, SSD_TEXT_LABEL|SSD_ALIGN_VCENTER)); ssd_widget_add (group, ssd_entry_new ("Name", "", SSD_ALIGN_VCENTER, 0,180, SSD_MIN_SIZE,"")); ssd_widget_add (container, group); group = ssd_container_new ("Text to Speech group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("Text to Speech"), -1, SSD_TEXT_LABEL|SSD_ALIGN_VCENTER)); ssd_widget_add (group, ssd_entry_new ("Text to Speech", "", SSD_ALIGN_VCENTER, 0,180, SSD_MIN_SIZE,"")); ssd_widget_add (container, group); group = ssd_container_new ("City group", NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, SSD_WIDGET_SPACE|SSD_END_ROW); ssd_widget_add (group, ssd_text_new ("Label", roadmap_lang_get("City"), -1, SSD_TEXT_LABEL|SSD_ALIGN_VCENTER)); ssd_widget_add (group, ssd_choice_new ("City", sizeof(def_values) / sizeof(char **), def_values, (const void **)def_values, SSD_END_ROW|SSD_ALIGN_VCENTER, editor_dialog_city_cb)); ssd_widget_add (container, group); ssd_widget_add (container, ssd_button_label ("confirm", roadmap_lang_get ("Ok"), SSD_ALIGN_CENTER|SSD_START_NEW_ROW, editor_segments_apply)); ssd_widget_add (dialog, container); ssd_dialog_activate (name, selected_lines); } }