Exemple #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"));
}
Exemple #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;
}
Exemple #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);
}
Exemple #4
0
void navigate_res_show_ETA_widget(SsdWidget container){
   SsdWidget ETA_widget;
   if (container == NULL)
      return;
   
   ETA_widget = ssd_widget_get(container,"eta container");
   if (ETA_widget)
      ssd_widget_show(ETA_widget);
}
BOOL ssd_dialog_set_dialog_focus( SsdDialog dialog, SsdWidget new_focus)
{
   SsdWidget last_focus;
   SsdWidget w;
   if( new_focus && !new_focus->tab_stop)
   {
      //assert( 0 && "ssd_dialog_set_dialog_focus() - Invalid input");
      return FALSE;
   }


   w = ssd_widget_get(new_focus,"focus_image");
   if( w != NULL)
       ssd_widget_show( w->children);

   // Setting the same one twice...
   if( dialog->in_focus == new_focus){
      if (new_focus && !new_focus->in_focus)
         ssd_widget_set_focus(new_focus);
      return TRUE;
   }

   if( new_focus && (dialog != new_focus->parent_dialog))
   {
      /*/[BOOKMARK]:[NOTE]:[PAZ] - If 'new_focus->parent_dialog' is NULL:
         Maybe 'ssd_dialog_sort_tab_order()' was called before 'ssd_dialog_draw'?
         Note that 'ssd_dialog_draw' will call 'ssd_dialog_sort_tab_order()',
         thus no need to call it directly.                                          */

      assert( 0 && "ssd_dialog_set_dialog_focus() - widget does not belong to this dialog");
      return FALSE;
   }

   last_focus = dialog->in_focus;
   if (dialog->in_focus)
   {
      ssd_widget_loose_focus(dialog->in_focus);
      dialog->in_focus = NULL;
   }

   if( !new_focus)
      return TRUE;

   if( !ssd_widget_set_focus(new_focus))
   {
      assert(0);
      if( ssd_widget_set_focus( last_focus))
         dialog->in_focus = last_focus;
      return FALSE;
   }

   dialog->in_focus = new_focus;

   ssd_dialog_allign_focus();
   return TRUE;
}
Exemple #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;
}
Exemple #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 ();
}
/***********************************************************
 *  Name        : ssd_progress_msg_dialog_show
 *
 *  Purpose     :  Shows the dialog with the given name. Creates the new one if not exists
 *
 *  Params		: [in] dlg_text - the text to be displayed in message
 *  			:
 *				:
 *  Returns 	: void
 */
void ssd_progress_msg_dialog_show( const char* dlg_text )
{

	if ( !gProgressMsgDlg  )
	{
       // Create the dialog. Return in case of failure
	   if ( !( gProgressMsgDlg = ssd_progress_msg_dialog_new() ) )
		   return;
	}
#ifdef TOUCH_SCREEN
	ssd_widget_show(ssd_widget_get(gProgressMsgDlg, "Hide Button" ));
#endif
	ssd_dialog_activate( SSD_PROGRESS_MSG_DLG_NAME, NULL );

	ssd_dialog_set_value( SSD_PROGRESS_MSG_TEXT_FLD, dlg_text );

	ssd_dialog_draw();

}
Exemple #10
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;
}
Exemple #11
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;
}