GTK+ par l'exempleDate de publication : 28 juin 2006
XVIII. Notre signature
XVIII-A. Aperçu
XVIII-B. Boîte A propos
XVIII-C. Code source
XVIII. Notre signature
XVIII-A. Aperçu
 Cliquez pour agrandir
XVIII-B. Boîte A propos
Nous allons terminer cette initiation par un petit ajout qui va finir notre application : une boîte de dialogue A propos. Depuis la version 2.6 de GTK+, il existe un widget qui va nous simplifier la vie : GtkAboutDialog.
Son utilisation est plutôt simple, il suffit de créer le widget, puis un certain nombre de fonctions permettent de renseigner les informations concernant le programme (auteur, version licence...) puis on affiche la boîte de dialogue :
void cb_about (GtkWidget *p_widget, gpointer user_data)
{
GtkWidget *p_about_dialog = NULL;
p_about_dialog = gtk_about_dialog_new ();
gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (p_about_dialog), "1.0");
gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (p_about_dialog), "Editeur de texte");
{
const gchar *authors[2] = {"gege2061", NULL};
gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (p_about_dialog), authors);
}
{
gchar *contents = NULL;
if (g_file_get_contents ("COPYING", &contents, NULL, NULL))
{
gchar *utf8 = NULL;
utf8 = g_locale_to_utf8 (contents, -1, NULL, NULL, NULL);
g_free (contents), contents = NULL;
gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (p_about_dialog), utf8);
g_free (utf8), utf8 = NULL;
}
}
gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (p_about_dialog), "http://nicolasj.developpez.com/");
{
GdkPixbuf *p_logo = NULL;
p_logo = gdk_pixbuf_new_from_file ("logo.png", NULL);
gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (p_about_dialog), p_logo);
}
gtk_dialog_run (GTK_DIALOG (p_about_dialog));
(void)p_widget;
(void)user_data;
} |
Voilà rien de bien compliqué mais le résultat obtenu est plutôt sympathique.
 |
Bizarrement pour la fonction gtk_about_dialog_set_authors le tableau doit être déclaré comme constant. Un tableau non constant provoque une erreur de compilation !
|
XVIII-C. Code source
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2006 Nicolas Joseph.
Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|