Developpez.com

C

Choisissez la catégorie, puis la rubrique :


Création d'une boite de dialogue "A propos" en GTK+

Date de publication : 09 Mai 2005

Par Nicolas Joseph (home)
 

Création d'une boite de dialogue "A propos" en C/GTK+ (nécessite la version 2.6). Le fichier doit ce trouver dans le même répertoire que l'exécutable.


void about (void)
{
   GError *error = NULL;
   GIOChannel *channel = NULL;

   channel = g_io_channel_new_file ("licence.txt", "r", &error);
   if (channel != NULL)
   {
      char *text = NULL;

      if (g_io_channel_read_to_end (channel, &text, 0, &error) == G_IO_STATUS_NORMAL)
      {
         GtkWidget *p_dialog = gtk_about_dialog_new ();

         gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (p_dialog), "Nom du projet");
         gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (p_dialog), "Nicolas JOSEPH");
         gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (p_dialog), text);
         gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (p_dialog), "http://nicolasj.developpez.com");
         gtk_dialog_run (GTK_DIALOG (p_dialog));
         g_free (text);
         if (g_io_channel_shutdown (channel, FALSE, &error) == G_IO_STATUS_ERROR)
         {
            GtkWidget *p_dialog = NULL;

            p_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
                                               GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
                                               error->message);
            gtk_dialog_run (GTK_DIALOG (p_dialog));
            gtk_widget_destroy (p_dialog);
         }
      }
   }
   if (error != NULL)
   {
      GtkWidget *p_dialog = NULL;

      p_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
                                         GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
                                         error->message);
      gtk_dialog_run (GTK_DIALOG (p_dialog));
      gtk_widget_destroy (p_dialog);
   }
   return;
}

Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/nicolasj/sources/gtk-about/index.php on line 76 Warning: include(http://nicolasj.developpez.com/sources/sources.inc): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/nicolasj/sources/gtk-about/index.php on line 76 Warning: include(): Failed opening 'http://nicolasj.developpez.com/sources/sources.inc' for inclusion (include_path='.:/usr/php53/lib/php') in /home/developpez/www/developpez-com/upload/nicolasj/sources/gtk-about/index.php on line 76

Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Nicolas Joseph. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C