[Top][All Lists]
[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
*/