graveman-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Graveman-cvs] Changes to graveman/current/src/support.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/support.c
Date: Wed, 16 Feb 2005 20:22:57 -0500

Index: graveman/current/src/support.c
diff -u graveman/current/src/support.c:1.4 graveman/current/src/support.c:1.5
--- graveman/current/src/support.c:1.4  Sat Feb 12 16:41:07 2005
+++ graveman/current/src/support.c      Thu Feb 17 01:22:53 2005
@@ -164,6 +164,172 @@
   gdk_cursor_unref(_cursor);
 }
 
+/* mise a jour d'une barre d'avancement */
+void maj_progress(GtkProgressBar *AprogressBar, gdouble Apourcent)
+{
+  gchar Lsbuf[40];
+
+  gtk_progress_bar_set_fraction(AprogressBar, Apourcent);
+  g_snprintf(Lsbuf, sizeof(Lsbuf)-1, "%.0f%%", Apourcent*100);
+  gtk_progress_bar_set_text(AprogressBar, Lsbuf);
+}
+
+/* traitement Twidget */
+Tgrave *sc_grave_load(gchar *Aname)
+{
+  Tgrave *Agrave = g_malloc0(sizeof(Tgrave));
+  gchar Lfullname[MAXPATHLEN];
+
+  g_snprintf(Lfullname, sizeof(Lfullname)-1, "%s/%s/%s", PACKAGE_DATA_DIR, 
PACKAGE, Aname);
+  
+  Agrave->xml = glade_xml_new(Lfullname, NULL, NULL);
+
+  if (!Agrave->xml) {
+    g_free(Agrave);
+    g_critical(_("error cannot load '%s': %s"), Lfullname, g_strerror(errno));
+    return FALSE;
+  }
+
+  Agrave->data = g_hash_table_new(g_str_hash, g_str_equal);
+  
+  return Agrave;
+}
+
+Tgrave *sc_grave_destroy(Tgrave *Agrave)
+{
+  g_return_val_if_fail(Agrave != NULL, NULL);
+
+  g_free(Agrave->xml);
+  if (Agrave->data) g_hash_table_destroy(Agrave->data);
+
+  g_free(Agrave);
+
+  return NULL;
+}
+
+GtkWidget *sc_grave_get_widget(Tgrave *Agrave, gchar *Aname)
+{
+  g_return_val_if_fail(Agrave != NULL && Agrave->xml != NULL, NULL);
+
+  return glade_xml_get_widget(Agrave->xml, Aname);
+}
+
+GtkWidget *sc_grave_get_widgetv(Tgrave *Agrave, gchar *Aformat, ...)
+{
+  va_list Largs;
+  gchar *Lfname;
+  GtkWidget *Lptr;
+
+  va_start(Largs, Aformat);
+  Lfname = g_strdup_printf(Lfname, Largs);
+  va_end(Largs);
+  Lptr = sc_grave_get_widget(Agrave, Lfname); 
+  g_free(Lfname);
+
+  return Lptr;
+}
+
+gpointer sc_grave_get_data(Tgrave *Agrave, gchar *Aname)
+{
+  g_return_val_if_fail(Agrave != NULL && Agrave->data != NULL, NULL);
+
+  return g_hash_table_lookup(Agrave->data, Aname);
+}
+
+gpointer sc_grave_get_datav(Tgrave *Agrave, gchar *Aformat, ...)
+{
+  va_list Largs;
+  gchar *Lfname;
+  gpointer Lptr;
+
+  va_start(Largs, Aformat);
+  Lfname = g_strdup_printf(Lfname, Largs);
+  va_end(Largs);
+  Lptr = sc_grave_get_data(Agrave, Lfname); 
+  g_free(Lfname);
+
+  return Lptr;
+}
+
+gpointer sc_grave_set_data(Tgrave *Agrave, gpointer Aptr, gchar *Aname)
+{
+  g_return_val_if_fail(Agrave != NULL && Agrave->data != NULL, NULL);
+
+  g_hash_table_insert(Agrave->data, Aname, Aptr);
+
+  return Aptr;
+}
+
+gpointer sc_grave_set_datav(Tgrave *Agrave, gpointer Aptr, gchar *Aformat, ...)
+{
+  va_list Largs;
+  gchar *Lfname;
+
+  va_start(Largs, Aformat);
+  Lfname = g_strdup_printf(Lfname, Largs);
+  va_end(Largs);
+  sc_grave_set_data(Agrave, Aptr, Lfname); 
+  g_free(Lfname);
+
+  return Aptr;
+}
+
+gpointer sc_grave_replace_data(Tgrave *Agrave, gpointer Aptr, gchar *Aname)
+{
+  g_return_val_if_fail(Agrave != NULL && Agrave->data != NULL, NULL);
+
+  g_hash_table_insert(Agrave->data, Aname, Aptr);
+
+  return Aptr;
+}
+
+gpointer sc_grave_replace_datav(Tgrave *Agrave, gpointer Aptr, gchar *Aformat, 
...)
+{
+  va_list Largs;
+  gchar *Lfname;
+
+  va_start(Largs, Aformat);
+  Lfname = g_strdup_printf(Lfname, Largs);
+  va_end(Largs);
+  sc_grave_replace_data(Agrave, Aptr, Lfname); 
+  g_free(Lfname);
+
+  return Aptr;
+}
+
+gpointer sc_grave_del_data(Tgrave *Agrave, gchar *Aname)
+{
+  g_return_val_if_fail(Agrave != NULL && Agrave->data != NULL, NULL);
+
+  g_hash_table_remove(Agrave->data, Aname);
+
+  return Aptr;
+}
+
+gpointer sc_grave_del_datav(Tgrave *Agrave, gchar *Aformat, ...)
+{
+  va_list Largs;
+  gchar *Lfname;
+
+  va_start(Largs, Aformat);
+  Lfname = g_strdup_printf(Lfname, Largs);
+  va_end(Largs);
+  sc_grave_del_data(Agrave, Lfname); 
+  g_free(Lfname);
+
+  return Aptr;
+}
+
+gpointer sc_grave_ref_wtd(Tgrave *Agrave, gchar *Awidgetsrc, gchar *Adatadst)
+{
+  GtkWidget *Awidg;
+  g_return_val_if_fail(Agrave && Agrave->data && Agrave->xml);
+
+  if (!(Awidg = glade_xml_get_widget(Agrave->xml, Awidgetsrc))) return NULL;
+
+  g_hash_table_insert(Agrave->data, Adatadst, Awidg);
+}
+
 /*
  * vim:et:ts=8:sts=2:sw=2
  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]