コード例 #1
0
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);
}
コード例 #2
0
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

}
コード例 #3
0
ファイル: roadmap_reminder.c プロジェクト: GitPicz/waze
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);

}
コード例 #4
0
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);
   }
}