Exemplo n.º 1
0
void ssd_generic_icon_list_dialog_show(
                                  const char*            title,
                                  int                    count,
                                  const char**           labels,
                                  const void**           values,
                                  const char**           icons,
                                  const int*             flags,
                                  PFN_ON_ITEM_SELECTED   on_item_selected,
                                  PFN_ON_ITEM_SELECTED   on_item_deleted,
                                  void*                  context,
                                  const char*            left_softkey_text,
                                  SsdSoftKeyCallback     left_softkey_callback,
                                  int                    list_height,
                                  int                    dialog_flags,
                                  BOOL                   add_next_button)
{
   static SsdListContext list_context;

   SsdWidget list;
   int list_flags = 0;

#if defined (OPENGL)

   /*
    * Borders are fast in OPENGL
    */
   list_flags |= SSD_ALIGN_CENTER|SSD_CONTAINER_BORDER|SSD_ROUNDED_CORNERS|SSD_ROUNDED_WHITE;
#endif // OPENGL

   list_context.on_item_selected= on_item_selected;
   list_context.on_item_deleted = on_item_deleted;
   list_context.context         = context;
   list_context.left_softkey_callback = left_softkey_callback;
   if ( !ssd_dialog_exists( SSD_GEN_LIST_DLG_NAME ) )
   {
      GenericList   = ssd_dialog_new ( SSD_GEN_LIST_DLG_NAME, "", on_dialog_closed, SSD_CONTAINER_TITLE|dialog_flags);
      list          = ssd_list_new ("list", SSD_MAX_SIZE, SSD_MAX_SIZE, inputtype_none, 0, NULL);
      ssd_widget_add (GenericList, list);
   }
   else{
     GenericList->flags &= ~SSD_HEADER_BLACK;
     GenericList->flags |= dialog_flags;
   }
   ssd_widget_set_offset(GenericList,0,0);
   list = ssd_widget_get (GenericList, "list");

   GenericList->set_value (GenericList->parent, title);
   ssd_widget_set_context (GenericList, &list_context);


   ssd_widget_reset_cache (list->parent);
   ssd_widget_reset_position(GenericList);
   ssd_list_resize ( list, list_height );
   ssd_list_populate (list, count, labels, values,icons,flags, list_callback, del_callback, add_next_button);
   ssd_widget_set_left_softkey_text(GenericList, left_softkey_text);
   if (left_softkey_callback != NULL)
      ssd_widget_set_left_softkey_callback(GenericList, list_left_softkey_callback);
   ssd_dialog_activate (SSD_GEN_LIST_DLG_NAME, NULL);
   ssd_dialog_draw();
}
Exemplo n.º 2
0
static void about_dialog(char *about){

   SsdWidget dialog;
   SsdWidget text;
   SsdWidget bitmap;
   const char* map_credit = roadmap_start_get_map_credit();

   if ( !ssd_dialog_exists( "about" ) )
   {
	   dialog = ssd_dialog_new ( "about", "", NULL,
                               SSD_CONTAINER_BORDER|SSD_DIALOG_FLOAT|
                               SSD_ALIGN_CENTER|SSD_ALIGN_VCENTER|SSD_ROUNDED_CORNERS|SSD_ROUNDED_BLACK);

	   ssd_widget_set_color (dialog, "#000000", "#ff0000000");
	   ssd_widget_add (dialog,
                      ssd_container_new ("spacer1", NULL, 0, 10, SSD_END_ROW));

	   bitmap = ssd_bitmap_new("waze_log", "waze_logo", SSD_ALIGN_CENTER|SSD_END_ROW);
	   ssd_widget_add (dialog,bitmap);

	   ssd_widget_add (dialog,
                      ssd_container_new ("spacer1", NULL, 0, 10, SSD_END_ROW));

	   text =  ssd_text_new ("text", about, 13, SSD_END_ROW|SSD_WIDGET_SPACE|SSD_ALIGN_CENTER);
	   ssd_text_set_color(text,"#ffffff");
	   ssd_widget_add (dialog,text);

	   /* Spacer */
	   ssd_widget_add (dialog,
                      ssd_container_new ("spacer2", NULL, 0, 10, SSD_END_ROW));

	   if (map_credit && *map_credit){
	      text =  ssd_text_new ("text", map_credit, 10, SSD_END_ROW|SSD_WIDGET_SPACE|SSD_ALIGN_CENTER);
	      ssd_text_set_color(text,"#ffffff");
	      ssd_widget_add (dialog,text);
	   }

      ssd_widget_add (dialog,
                      ssd_container_new ("spacer2", NULL, 0, 10, SSD_END_ROW));

      ssd_widget_add (dialog,
                      ssd_button_label ("confirm", roadmap_lang_get ("Ok"),
                                        SSD_ALIGN_CENTER|SSD_START_NEW_ROW|SSD_WS_DEFWIDGET|
                                        SSD_WS_TABSTOP,
                                        about_callbak));

   }

   ssd_dialog_activate("about", NULL);
   roadmap_screen_redraw();
}