Example #1
0
static void move_down(){
   menu_list_data *data;
   int i;
   //div_t n;
   int relative_index;

   data = (menu_list_data *)   ssd_dialog_get_current_data();

   //n = div (data->CurrentIndex, data->num_rows);
   relative_index = data->CurrentIndex % data->num_rows;

      if (((data->CurrentIndex == data->num_rows -1) || (relative_index == data->num_rows -1) || (data->CurrentIndex == data->num_items -1)) && (data->num_items > data->num_rows)){
          int index;

         for (i=0; i<data->num_items;i++)
               ssd_widget_hide(data->MenuWidgets[i]);

         if (data->CurrentIndex == data->num_items -1)
            index = 0;
         else
            index = data->CurrentIndex +1;

         for (i=index; i<index+data->num_rows;i++)
            if (i < data->num_items)
               ssd_widget_show(data->MenuWidgets[i]);
      }

      if (data->CurrentIndex < data->num_items-1)
         data->CurrentIndex++;
      else
         data->CurrentIndex = 0;

      ssd_dialog_resort_tab_order();
      ssd_dialog_set_focus(ssd_widget_get(data->MenuWidgets[data->CurrentIndex],"button"));
}
Example #2
0
static BOOL on_kb_closed(  int         exit_code,
                           const char* value,
                           void*       context)
{
    SsdWidget w = context;
    SsdEntryContext* ctx = ( SsdEntryContext* ) w->context;
    BOOL retVal = TRUE;

    if( dec_ok == exit_code)
    {
        w->set_value( w, value);

        if( value && value[0])
            ssd_widget_hide( ssd_widget_get( w, "BgText"));
        else
            ssd_widget_show( ssd_widget_get( w, "BgText"));
    }

    if ( ctx->kb_post_done_cb )
    {
        retVal = ctx->kb_post_done_cb( exit_code, value, context );
    }

    return retVal;
}
Example #3
0
static int set_value (SsdWidget widget, const char *value) {
    if ((value != NULL) && (value[0] != 0))
        ssd_widget_hide(ssd_widget_get(widget, "BgText"));
    else
        ssd_widget_show(ssd_widget_get(widget, "BgText"));

    return ssd_widget_set_value (widget, "Text", value);
}
Example #4
0
void navigate_res_hide_ETA_widget(SsdWidget container){
   SsdWidget ETA_widget;
   if (container == NULL)
      return;
   
   ETA_widget = ssd_widget_get(container,"eta container");
   if (ETA_widget)
      ssd_widget_hide(ETA_widget);
}
static void on_dialog_closed( int type, void *context)
{
   SsdWidget button;
	ssd_widget_set_left_softkey_callback(GenericList,NULL);
   button = ssd_dialog_right_title_button();
   if (button)
      ssd_widget_hide(button);

}
Example #6
0
int on_checkbox_selected (SsdWidget widget, const char *new_value){
   SsdWidget container = widget->parent->parent;
   const char *add_reminder         = ssd_dialog_get_data("add_reminder");
   if (!container)
      return 0;

   if (!strcmp( add_reminder, "no" )){
        ssd_widget_hide(ssd_widget_get(container,"DescriptionEntry"));
        ssd_widget_hide(ssd_widget_get(container,"Repeat"));
        ssd_widget_hide(ssd_widget_get(container,"Distance"));
   }
   else{
        ssd_widget_show(ssd_widget_get(container,"DescriptionEntry"));
        ssd_widget_show(ssd_widget_get(container,"Repeat"));
        ssd_widget_show(ssd_widget_get(container,"Distance"));
   }
   ssd_dialog_draw();
   return 1;
}
Example #7
0
static void move_up(){
      menu_list_data *data;
      int i;
      int n_quot;
   	int relative_index;

      data = (menu_list_data *)   ssd_dialog_get_current_data();
      n_quot = data->CurrentIndex / data->num_rows;
      relative_index = data->CurrentIndex % data->num_rows;

      if (((data->CurrentIndex == 0) || (relative_index == 0) || (data->CurrentIndex == data->num_rows )) && (data->num_items > data->num_rows)){
          int index;

         for (i=0; i<data->num_items;i++)
            ssd_widget_hide(data->MenuWidgets[i]);

         if (relative_index == 0)
         	if (n_quot == 0){
         		//div_t n2;
         		int n2_rem = data->num_items % data->num_rows;
         		int n2_quot = data->num_items / data->num_rows;
         		if (n2_rem == 0)
         			index = (n2_quot -1) * data->num_rows;
         		else
         			index = n2_quot * data->num_rows ;
         	}
         	else
         		index = (n_quot -1) * data->num_rows;
         else
            index =0;

         for (i=index; i<index+data->num_rows;i++)
            if (i < data->num_items)
               ssd_widget_show(data->MenuWidgets[i]);
      }


      if (data->CurrentIndex > 0)
         data->CurrentIndex--;
      else
         data->CurrentIndex = data->num_items -1;

      ssd_dialog_resort_tab_order();
      ssd_dialog_set_focus(ssd_widget_get(data->MenuWidgets[data->CurrentIndex],"button"));

}
void ssd_confirm_dialog_custom (const char *title, const char *text, BOOL default_yes, ConfirmDialogCallback callback, void *context,const char *textYes, const char *textNo) {

SsdWidget dialog;
  confirm_dialog_context *data =
    (confirm_dialog_context  *)calloc (1, sizeof(*data));

  data->default_yes = default_yes;
  dialog = ssd_dialog_activate ("confirm_dialog", NULL);
  title = roadmap_lang_get (title);
  text  = roadmap_lang_get (text);

  if (!dialog) {
      create_confirm_dialog (default_yes,textYes,textNo);
      dialog = ssd_dialog_activate ("confirm_dialog", NULL);
  }
  else{
#ifdef TOUCH_SCREEN
   //set button text & softkeys
   SsdWidget buttonYes;
   SsdWidget buttonNo;
   buttonYes = ssd_widget_get(dialog, roadmap_lang_get ("Yes")); // change the buttons to custom text
   ssd_button_change_text(buttonYes, textYes);
   buttonNo = ssd_widget_get(dialog, roadmap_lang_get ("No"));
   ssd_button_change_text(buttonNo, textNo);
#else //Non touch
   set_soft_keys(dialog, textYes, textNo); // change softkeys text to custom text
   ssd_dialog_refresh_current_softkeys();
#endif
  }

  if (title[0] == 0){
       ssd_widget_hide(ssd_widget_get(dialog, "title_bar"));  
  }
  else{
       ssd_widget_show(ssd_widget_get(dialog, "title_bar"));
  }
   
  data->callback = callback;
  data->context = context;

  dialog->set_value (dialog, title);
  ssd_widget_set_value (dialog, "text", text);
  dialog->context = data;
  ssd_dialog_draw ();
}
Example #9
0
static int alert_dialog_buttons_callback (SsdWidget widget, const char *new_value) {

   if (!strcmp(widget->name, "Irrelevant")){
      hide_alert_dialog();
      report_irrelevant(NULL, NULL, NULL);
   }
   else if (!strcmp(widget->name, "Close")){
      hide_alert_dialog();
   }
   else if (!strcmp(widget->name, "ThumbsUp")){
      SsdWidget text;
      text = ssd_widget_get(widget->parent, "ThumbsUpText");
      if (text)
         ssd_widget_show(text);
      (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->thumbs_up))(the_active_alert.active_alert_id);
      ssd_widget_hide(widget);
   }
   return 1;
}
Example #10
0
static void move_to_start(){
	  menu_list_data *data;
	  int i;
	  int num_items;

	  data = (menu_list_data *)	ssd_dialog_get_current_data();

	  for (i=0; i<data->num_items;i++)
         ssd_widget_hide(data->MenuWidgets[i]);


     if (data->num_items < data->num_rows)
     	num_items = data->num_items;
     else
     	num_items = data->num_rows;
     for (i=0; i<num_items;i++)
         		ssd_widget_show(data->MenuWidgets[i]);
	  ssd_dialog_resort_tab_order();
	  ssd_dialog_set_focus(ssd_widget_get(data->MenuWidgets[0],"button"));
	  data->CurrentIndex = 0;
}
Example #11
0
static void add_title (SsdWidget w, int flags) {
   SsdWidget title, text;
	int rt_soft_key_flag;
	int lf_soft_key_flag;
	int align_flag = SSD_ALIGN_CENTER;

#ifdef TOUCH_SCREEN
	const char *back_buttons[] = {"back_button", "back_button_s"};
#endif

	if (ssd_widget_rtl (NULL)) {
		rt_soft_key_flag = SSD_END_ROW;
		lf_soft_key_flag = SSD_ALIGN_RIGHT;
	}
	else{
		rt_soft_key_flag = SSD_ALIGN_RIGHT;
		lf_soft_key_flag = SSD_END_ROW;
	}


  if (!((w->flags & SSD_DIALOG_FLOAT) && !(w->flags & SSD_DIALOG_TRANSPARENT)))
  {
	int height = ADJ_SCALE( 34 );

#ifdef ANDROID
   align_flag = 0;
#endif //ANDROID

#ifndef TOUCH_SCREEN
      height = 28;
#endif
   title = ssd_container_new ("title_bar", NULL, SSD_MAX_SIZE, height, SSD_END_ROW);
   ssd_widget_set_click_offsets_ext( title, 0, 0, 0, 10 );
   ssd_widget_set_offset(title, 0, 0);
   title->draw = draw_title;
  }
  else{
   int height = 28;
      if ( roadmap_screen_is_hd_screen() )
      {
         height = height*1.8;
      }

      title = ssd_container_new ("title_bar", NULL, SSD_MAX_SIZE, height,
                              SSD_END_ROW);
  }

   ssd_widget_set_color (title, "#ffffff", "#ff0000000");

   text = ssd_text_new ("title_text", "" , 13, SSD_WIDGET_SPACE|SSD_ALIGN_VCENTER|align_flag);

   ssd_widget_set_color (text, "#ffffff", "#ff0000000");



   if ((w->flags & SSD_ROUNDED_CORNERS) && (!(w->flags & SSD_POINTER_MENU)))
   	ssd_widget_set_color (text, "#ffffff", "#ff0000000");

   if (w->flags & SSD_CONTAINER_TITLE){
   		if (w->flags & SSD_ROUNDED_BLACK)
   		   ssd_widget_set_color (text, "#ffffff", "#ffffff");
   		else if (!(w->flags & SSD_DIALOG_FLOAT))
   			ssd_widget_set_color (text, "#ffffff", "#ff0000000");
   		else
   		   if (flags & SSD_DIALOG_TRANSPARENT)
   		      ssd_widget_set_color (text, "#ffffff", "#ff0000000");
   		   else
   		      ssd_widget_set_color (text, "#000000", "#ff0000000");
   }
#if defined(TOUCH_SCREEN)
   if (!( ((flags & SSD_DIALOG_FLOAT)&& !(flags & SSD_DIALOG_TRANSPARENT)) || (flags & SSD_DIALOG_NO_BACK))){
      SsdWidget btn = NULL;
#ifndef ANDROID
      btn = ssd_button_new (SSD_DIALOG_BUTTON_BACK_NAME, "", back_buttons, 2,
                        SSD_ALIGN_VCENTER, button_callback );
#endif


	   if ( ssd_widget_rtl(NULL) )
	   {
         SsdWidget btn2 =             ssd_button_new ("right_title_button", "", back_buttons, 2,
                  SSD_ALIGN_VCENTER, NULL );
         ssd_widget_add( title, btn2 );
         ssd_widget_set_click_offsets_ext( btn2, -40, -20, 20, 10 );
         ssd_widget_hide(btn2);
#ifdef ANDROID
         ssd_dialog_add_hspace (title, 10, 0);
#endif //ANDROID
	      ssd_widget_add (title,text);
	      if ( btn != NULL )
	      {
	         ssd_widget_set_click_offsets_ext( btn, -20, -20, 70, 10 );
	         ssd_widget_set_flags( btn, SSD_ALIGN_VCENTER|SSD_ALIGN_RIGHT );
	         ssd_widget_add( title, btn );
	      }
	   }
	   else
	   {
         SsdWidget btn2 =             ssd_button_new ("right_title_button", "", back_buttons, 2,
                  SSD_ALIGN_VCENTER|SSD_ALIGN_RIGHT, NULL );
         ssd_widget_set_click_offsets_ext( btn2, -40, -20, 20, 10 );
         ssd_widget_hide(btn2);
         if ( btn != NULL )
         {
            ssd_widget_set_click_offsets_ext( btn, -20, -20, 70, 10 );
            ssd_widget_add( title, btn );
         }
#ifdef ANDROID
         ssd_dialog_add_hspace (title, 10, 0);
#endif //ANDROID
         ssd_widget_add (title,text);
         ssd_widget_add( title, btn2 );
	   }

	}
   else
   {
	   ssd_widget_add ( title, text );
   }
#else
   ssd_widget_add ( title, text );
#endif

   ssd_widget_add (w, title);
}
Example #12
0
SsdWidget ssd_confirmed_entry_new (const char *name,
                                   const char *value,
                                   int entry_flags,
                                   int text_flags,
                                   int width,
                                   int height,
                                   const char *messagebox_text,
                                   const char *background_text) {

    const char *edit_button[] = {"edit_right", "edit_left"};
    SsdWidget button;
    SsdWidget space;
    SsdWidget bg_text;
    SsdWidget entry;
    SsdWidget text_box;
    int tab_st = 0;
    int txt_box_height = 40;
    SsdEntryContext*  ctx = (SsdEntryContext*) calloc( 1, sizeof( SsdEntryContext ) );
#ifndef TOUCH_SCREEN
    txt_box_height = 23;
#endif

#ifdef OPENGL
    if ( height > 0 )
        txt_box_height = height;
#endif


    entry_ctx_init( ctx );

    if (entry_flags & SSD_WS_TABSTOP) {
        entry_flags &= ~SSD_WS_TABSTOP;
        tab_st = SSD_WS_TABSTOP;
    }

    entry =
        ssd_container_new (name, NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, entry_flags);

    text_box =
        ssd_container_new ("text_box", NULL, width,
                           txt_box_height, SSD_CONTAINER_TXT_BOX|SSD_ALIGN_VCENTER|tab_st);

    ssd_widget_set_pointer_force_click( text_box );
    entry->get_value = get_value;
    entry->set_value = set_value;

    entry->bg_color = NULL;

    text_box->callback = confirmed_edit_callback;
    text_box->bg_color = NULL;


    space = ssd_container_new("Space", NULL,5, SSD_MIN_SIZE, SSD_WIDGET_SPACE);
    ssd_widget_set_color(space, NULL, NULL);
    ssd_widget_add(text_box, space);
    ssd_widget_add (text_box, ssd_text_new ("Text", value, -1, text_flags|SSD_ALIGN_VCENTER));
    if (background_text == NULL)
        bg_text = ssd_text_new ("BgText", "", -1, SSD_ALIGN_VCENTER);
    else
        bg_text = ssd_text_new ("BgText", background_text, -1, SSD_ALIGN_VCENTER);
    ssd_widget_set_color(bg_text, "#C0C0C0",NULL);
    ssd_widget_add (text_box, bg_text);
#ifdef TOUCH_SCREEN
    if (!ssd_widget_rtl(NULL))
        button = ssd_button_new ("edit_button", "", &edit_button[0], 1,
                                 SSD_ALIGN_VCENTER|SSD_ALIGN_RIGHT, edit_callback);
    else
        button = ssd_button_new ("edit_button", "", &edit_button[1], 1,
                                 SSD_ALIGN_VCENTER|SSD_ALIGN_RIGHT, edit_callback);

    if (!ssd_widget_rtl(NULL))
        ssd_widget_set_offset(button, 10, 0);
    else
        ssd_widget_set_offset(button, -11, 0);
#endif
    ctx->mb_text = (void *)strdup(messagebox_text);

    entry->context = ctx;

    if ((value != NULL) && (value[0] != 0))
        ssd_widget_hide(bg_text);

    ssd_widget_add (entry, text_box);

    /* Default keyboard params */
    ssd_entry_set_kb_params( entry, name, NULL, NULL, NULL, 0 );

    return entry;
}
Example #13
0
SsdWidget ssd_entry_new (const char *name,
                         const char *value,
                         int entry_flags,
                         int text_flags,
                         int width,
                         int height,
                         const char *background_text)
{

    SsdWidget space;
    SsdWidget bg_text;
    SsdWidget entry;
    SsdWidget text_box;
    SsdWidget text;
    int tab_st = 0;
    int txt_box_height = ADJ_SCALE(37);
    SsdEntryContext*  ctx = (SsdEntryContext*) calloc( 1, sizeof( SsdEntryContext ) );
#ifndef TOUCH_SCREEN
    txt_box_height = 23;
#endif

#ifdef OPENGL
    if ( height > 0 )
        txt_box_height = height;
#endif

    entry_ctx_init( ctx );

    if (entry_flags & SSD_WS_TABSTOP) {
        entry_flags &= ~SSD_WS_TABSTOP;
        tab_st = SSD_WS_TABSTOP;
    }

    entry =
        ssd_container_new (name, NULL, SSD_MIN_SIZE, SSD_MIN_SIZE, entry_flags);

    text_box =
        ssd_container_new ("text_box", NULL, width,
                           txt_box_height, SSD_CONTAINER_TXT_BOX|SSD_ALIGN_VCENTER|tab_st);
    ssd_widget_set_color(text_box, NULL, NULL);
    ssd_widget_set_pointer_force_click( text_box );
    entry->get_value = get_value;
    entry->set_value = set_value;

    entry->bg_color = NULL;

    text_box->callback = edit_callback;
    text_box->bg_color = NULL;


    space = ssd_container_new("Space", NULL,5, SSD_MIN_SIZE, SSD_WIDGET_SPACE);
    ssd_widget_set_color(space, NULL, NULL);
    ssd_widget_add(text_box, space);
    text = ssd_text_new ("Text", value, -1, text_flags|SSD_ALIGN_VCENTER|SSD_TEXT_SINGLE_LINE );
    ssd_widget_add (text_box, text);
#ifdef TOUCH_SCREEN
    ssd_widget_set_offset(text, 0, -2);
#endif
    if (background_text == NULL)
        bg_text = ssd_text_new ("BgText", "", -1, SSD_ALIGN_VCENTER|SSD_TEXT_SINGLE_LINE);
    else
        bg_text = ssd_text_new ("BgText", background_text, -1, SSD_ALIGN_VCENTER|SSD_TEXT_SINGLE_LINE);
    ssd_widget_set_offset(bg_text, 0, -2);
    ssd_widget_set_color(bg_text, "#C0C0C0",NULL);
    ssd_widget_add (text_box, bg_text);
    entry->context = ctx;

    if ((value != NULL) && (value[0] != 0))
        ssd_widget_hide(bg_text);

    ssd_widget_add (entry, text_box);

    /* Default keyboard params */
    ssd_entry_set_kb_params( entry, background_text, NULL, NULL, NULL, 0 );


    return entry;
}
Example #14
0
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);

}
Example #15
0
/***********************************************************
 *  Name        : ssd_progress_msg_dialog_show_timed
 *
 *  Purpose     :  Shows the dialog with the given name, for a given amount of time
 *
 *  Params		: [in] dlg_text - the text to be displayed in message
 *  			: [in] seconds - the time to be displayed
 *	Author		: Dan Friedman
 *  Returns 	: void
 */
void ssd_progress_msg_dialog_show_timed( const char* dlg_text , int seconds)
{
	ssd_progress_msg_dialog_show(dlg_text);
	roadmap_main_set_periodic (seconds * 1000, hide_timer);
   ssd_widget_hide(ssd_widget_get(gProgressMsgDlg, "Hide Button" ));
}
Example #16
0
void show_alert_dialog(){
   SsdWidget box;
   SsdWidget title;
   SsdWidget bitmap, text;
   char TextStr[200];
   int 	alertId;
   BOOL is_cancelable;
   BOOL can_send_thumbs_up;
   const char * iconName;


   alertId = roadmap_alerter_get_active_alert_id();
   roadmap_square_set_current(the_active_alert.square);

   sprintf(TextStr, "%s",roadmap_lang_get((* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->get_string)) (alertId) ));

   dialog =  ssd_popup_new("Alert_Dlg", TextStr, on_popup_close, SSD_MAX_SIZE, SSD_MIN_SIZE,NULL, SSD_PERSISTENT|SSD_ROUNDED_BLACK, DIALOG_ANIMATION_FROM_TOP);

   title = ssd_widget_get(dialog, "popuup_text");
   if (title)
      ssd_widget_set_color(title,"#f6a201", "#f6a201");

   box = ssd_container_new ("box", NULL, SSD_MIN_SIZE,SSD_MIN_SIZE,SSD_WIDGET_SPACE);
   if (box){
         ssd_widget_set_color(box, NULL, NULL);
         ssd_widget_add (box, space(1));
   }

   if (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->get_additional_string != NULL){
      const  char *additional_text = (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->get_additional_string)) (alertId);
      if (additional_text){
         text = ssd_text_new ("AdditionalText", additional_text, 16,SSD_END_ROW);
         ssd_widget_set_color(text, "#ffffff", "#ffffff");
         ssd_widget_add (box, text);
         ssd_widget_add (box, space(1));
      }
   }

   if ((RoadMapAlertProviders.provider[the_active_alert.alert_provider]->show_distance != NULL) && ((*(RoadMapAlertProviders.provider[the_active_alert.alert_provider]->show_distance))(alertId)))
      sprintf(TextStr,"%s %d %s", roadmap_lang_get("In"), (the_active_alert.distance_to_alert/10)*10, roadmap_lang_get(roadmap_math_distance_unit()));

   text = ssd_text_new ("Distance", TextStr, 16,0);
   ssd_widget_set_color(text, "#ffffff", "#ffffff");
   ssd_widget_add (box, text);
   ssd_widget_add (dialog, box);

   if (the_active_alert.alert_type == ALERT){
      iconName =  (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->get_alert_icon)) (alertId);
   }
   else {
      iconName =  (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->get_warning_icon)) (alertId);
   }
   bitmap = ssd_bitmap_new("alert_Icon",iconName, SSD_ALIGN_RIGHT|SSD_ALIGN_VCENTER);
   ssd_widget_set_offset(bitmap, 0, -20);
   ssd_widget_add (box, bitmap);

   is_cancelable = (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->is_cancelable) && (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->is_cancelable)) (alertId);

   can_send_thumbs_up = (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->can_send_thumbs_up) && (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->can_send_thumbs_up)) (alertId);

#ifdef TOUCH_SCREEN
   ssd_widget_add (dialog,
         ssd_button_label ("Close", roadmap_lang_get ("Close"),
            SSD_WS_TABSTOP|SSD_ALIGN_CENTER, alert_dialog_buttons_callback));

   if (can_send_thumbs_up){
      char *icon[3];
      SsdWidget button;
      icon[0] = "thumbs_up_button";
      icon[1] = "thumbs_up_button_down";
      icon[2] = NULL;
      button = ssd_button_new( "ThumbsUp", "Thumbs up", (const char**) &icon[0], 2, SSD_ALIGN_CENTER, alert_dialog_buttons_callback );
      ssd_widget_add(dialog, button);
   }

   if (is_cancelable){
      ssd_widget_add (dialog,
            ssd_button_label ("Irrelevant", roadmap_lang_get ("Not there"),
               SSD_WS_TABSTOP|SSD_ALIGN_CENTER|SSD_END_ROW, alert_dialog_buttons_callback));
   }

   if (can_send_thumbs_up){
      SsdWidget text;
      text = ssd_text_new("ThumbsUpText",roadmap_lang_get("Thanks sent to user"), -1, SSD_ALIGN_CENTER);
      ssd_text_set_color(text, "#f6a201");
      ssd_widget_hide(text);
      ssd_widget_add(dialog, text);
   }

#else
   if (is_cancelable)
      set_softkey();
#endif
   ssd_dialog_activate ("Alert_Dlg", NULL);

   if (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->on_alerter_start != NULL)
      (* (RoadMapAlertProviders.provider[the_active_alert.alert_provider]->on_alerter_start))(the_active_alert.active_alert_id);

}