Example #1
0
/* Creates the window for the progress bar test */
void etk_test_progress_bar_window_create(void *data)
{
   static Etk_Widget *win;
   Etk_Widget *vbox;
   Etk_Widget *pbar;
   Etk_Widget *pbar2;

   if (win)
   {
      etk_widget_show_all(ETK_WIDGET(win));
      return;
   }

   win = etk_window_new();
   etk_window_title_set(ETK_WINDOW(win), "Etk Progress Bar Test");
   etk_signal_connect_by_code(ETK_WINDOW_DELETE_EVENT_SIGNAL, ETK_OBJECT(win), ETK_CALLBACK(etk_window_hide_on_delete), NULL);

   vbox = etk_vbox_new(ETK_TRUE, 5);
   etk_container_add(ETK_CONTAINER(win), vbox);

   pbar = etk_progress_bar_new_with_text("0% done");
   etk_box_append(ETK_BOX(vbox), pbar, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);

   pbar2 = etk_progress_bar_new_with_text("Loading...");
   etk_progress_bar_pulse_step_set(ETK_PROGRESS_BAR(pbar2), 0.015);
   etk_box_append(ETK_BOX(vbox), pbar2, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);

   etk_widget_show_all(win);

   _etk_test_progress_bar_timer = ecore_timer_add(0.05, _etk_test_progress_bar_update, pbar);
   _etk_test_progress_bar_timer2 = ecore_timer_add(0.025, _etk_test_progress_bar_update2, pbar2);

   etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(pbar), ETK_CALLBACK(ecore_timer_del), _etk_test_progress_bar_timer);
   etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(pbar2), ETK_CALLBACK(ecore_timer_del), _etk_test_progress_bar_timer2);
}
Example #2
0
/* Updates the second progress bar */
int _etk_test_progress_bar_update2(void *data)
{
   Etk_Widget *pbar;

   pbar = data;
   etk_progress_bar_pulse(ETK_PROGRESS_BAR(pbar));

   return 1;
}
Example #3
0
/* Updates the first progress bar */
int _etk_test_progress_bar_update(void *data)
{
   Etk_Widget *pbar;
   double fraction;
   char text[32];

   pbar = data;

   fraction = etk_progress_bar_fraction_get(ETK_PROGRESS_BAR(pbar));
   fraction += 0.01;

   if (fraction > 1.0)
      fraction = 0.0;

   snprintf(text, sizeof(text), "%d%% done", (int)(fraction * 100.0));
   etk_progress_bar_text_set(ETK_PROGRESS_BAR(pbar), text);
   etk_progress_bar_fraction_set(ETK_PROGRESS_BAR(pbar), fraction);

   return 1;
}
Example #4
0
/**
 * @brief Set the progress bar to elapsed_time/total_time
 * @param elapsed_time The time elapsed
 * @param total_time The lenght of the song
 * @param gui A Emphasis_Gui
 */
void
emphasis_player_progress_set(Emphasis_Player_Gui *player,
                             float elapsed_time, int total_time)
{
  char *time;
  
  etk_progress_bar_fraction_set(ETK_PROGRESS_BAR(player->full.progress),
                                (elapsed_time / total_time));
  etk_progress_bar_fraction_set(ETK_PROGRESS_BAR(player->small.progress),
                                (elapsed_time / total_time));

  asprintf(&time, "%d:%02d / %d:%02d", (int) elapsed_time / 60,
                                       (int) elapsed_time % 60, 
                                       total_time / 60, 
                                       total_time % 60);

  etk_label_set(ETK_LABEL(player->full.time) , time);
//  etk_label_set(ETK_LABEL(player->small.time), time);
  etk_progress_bar_text_set(ETK_PROGRESS_BAR(player->small.progress), time);

  free(time);
}
Example #5
0
int 
_ex_file_download_progress_cb(void *data, const char *file, long int dltotal, long int dlnow, long int ultotal, long int ulnow)
{
   double fraction;
   char text[42];
   static long int last;
   static double t_last;
   long int diff;
   double t_diff;
   double kbytes;
   static double total_kbytes;

   if (dlnow == 0 || dltotal == 0)
     return 0;

   if (!total_kbytes)
     total_kbytes = (double) ((((double)dltotal) / 1024));

   if (last)
     {
	diff = dlnow - last;
	t_diff = ecore_time_get() - t_last;
	kbytes = (double) ((((double) diff) / 1024));
	fraction = (double) ((double) dlnow) / ((double) dltotal);
	etk_progress_bar_fraction_set(ETK_PROGRESS_BAR(progressbar), fraction);
	snprintf(text, sizeof(text), "%d%% done at %.0f kb/s (%.0f of %.0f kb)", 
	      (int) (fraction * 100.0),
	      kbytes / t_diff,
	      kbytes, total_kbytes);
	etk_progress_bar_text_set(ETK_PROGRESS_BAR(progressbar), text);
     }

   t_last = ecore_time_get();
   last = dlnow;
   
   return 0;
}
Example #6
0
/* Creates the vbox for the progress bars */
static void _etk_test_canvas_progress_bars_create(int x, int y)
{
   Etk_Widget *vbox;
   Etk_Widget *pbar;
   Etk_Widget *pbar2;

   vbox = etk_vbox_new(ETK_TRUE, 5);

   pbar = etk_progress_bar_new_with_text("0% done");
   etk_box_append(ETK_BOX(vbox), pbar, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);

   pbar2 = etk_progress_bar_new_with_text("Loading...");
   etk_progress_bar_pulse_step_set(ETK_PROGRESS_BAR(pbar2), 0.015);
   etk_box_append(ETK_BOX(vbox), pbar2, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);

   _etk_test_canvas_timer = ecore_timer_add(0.05, _etk_test_canvas_update, pbar);
   _etk_test_canvas_timer2 = ecore_timer_add(0.025, _etk_test_canvas_update2, pbar2);

   etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(pbar), ETK_CALLBACK(ecore_timer_del), _etk_test_canvas_timer);
   etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(pbar2), ETK_CALLBACK(ecore_timer_del), _etk_test_canvas_timer2);

   etk_canvas_put(ETK_CANVAS(canvas), vbox, x, y);
}
Example #7
0
void
_ex_file_download_dialog(char *url, char *file)
{
   char string[PATH_MAX + 16];

   snprintf(string, sizeof(string), "Downloading %s", url);

   dialog = etk_message_dialog_new(ETK_MESSAGE_DIALOG_INFO,
	 ETK_MESSAGE_DIALOG_CANCEL,
	 string);
   etk_signal_connect("response", ETK_OBJECT(dialog),
	 ETK_CALLBACK(_ex_file_download_dialog_response), file);

   etk_container_border_width_set(ETK_CONTAINER(dialog), 4);
   etk_window_title_set(ETK_WINDOW(dialog),
	 _("Exhibit - Download progress"));

   progressbar = etk_progress_bar_new();
   etk_progress_bar_text_set(ETK_PROGRESS_BAR(progressbar), "0% done");
   etk_dialog_pack_in_main_area(ETK_DIALOG(dialog), progressbar, 
	 ETK_BOX_END, ETK_BOX_EXPAND_FILL, 2);

   etk_widget_show_all(dialog);
}