Gui


Data Structures

struct  Emphasis_Gui
 All the widget used by the GUI. More...

Functions

void emphasis_init_gui (Emphasis_Gui *gui)
 Build all widgets for Emphasis GUI.
void emphasis_menu_append (Etk_Widget *menu,...)
 Make a menu with small stock image and sets a callback on "activated" on each elements.
void emphasis_unknow_if_null (char **table[])
 Replace a null string by "Unkown".

Function Documentation

void emphasis_init_gui ( Emphasis_Gui gui  ) 

Build all widgets for Emphasis GUI.

Parameters:
gui A gui to initialize
00011 {
00012   gui->player = malloc(sizeof(Emphasis_Player_Gui));
00013   if(!gui->player)
00014     {
00015       fprintf(stderr, "Memory full\n");
00016       exit(1);
00017     }
00018   /* TODO : check player */
00019   /* TODO ; check config, state, etc */
00020   
00021   emphasis_init_player(gui->player);
00022   emphasis_init_menu(gui);
00023 
00024   if(!etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(gui->player->small.media)))
00025     {
00026       etk_widget_hide(gui->player->media.window);
00027     }
00028 
00029   gui->cover_queue = NULL;
00030   gui->config_gui  = NULL;
00031 }

void emphasis_menu_append ( Etk_Widget *  menu,
  ... 
)

Make a menu with small stock image and sets a callback on "activated" on each elements.

Parameters:
menu The Etk_Menu to setup
... An (char*)menu_item name, an (Etk_Stock_Id)image id, a Etk_Callback function and it data ... terminated by NULL
00098 {
00099   Etk_Widget *menu_item, *item_image = NULL;
00100   char *item_name;
00101   Etk_Stock_Id item_image_id;
00102   void *callback, *data;
00103   va_list arglist;
00104 
00105   va_start(arglist, menu);
00106 
00107   while ((item_name = va_arg(arglist, char *)) != NULL)
00108     {
00109       menu_item = etk_menu_item_image_new_with_label(item_name);
00110       item_image_id = va_arg(arglist, Etk_Stock_Id);
00111       if (item_image_id)
00112         {
00113           item_image =
00114             etk_image_new_from_stock(item_image_id, ETK_STOCK_SMALL);
00115           etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item),
00116                                   ETK_IMAGE(item_image));
00117         }
00118       callback = va_arg(arglist, void *);
00119       data = va_arg(arglist, void *);
00120       if (callback)
00121         {
00122           etk_signal_connect("activated", ETK_OBJECT(menu_item),
00123                              ETK_CALLBACK(callback), data);
00124         }
00125 
00126       etk_menu_shell_append(ETK_MENU_SHELL(menu), ETK_MENU_ITEM(menu_item));
00127     }
00128   va_end(arglist);
00129 }

void emphasis_unknow_if_null ( char **  table[]  ) 

Replace a null string by "Unkown".

Parameters:
table A table of char** terminated by NULL
00137 {
00138   int i = 0;
00139 
00140   while (table[i])
00141     {
00142       if (!*table[i])
00143         {
00144           *table[i] = strdup("Unknown");
00145         }
00146       i++;
00147     }
00148 }


Generated on Sat Apr 7 19:19:38 2007 for Emphasis by  doxygen 1.4.7