#1 Le 04/12/2006, à 01:25
- Korak
Création d'une boîte de dialogue avec gnome_message_box_new
Bonjour,
J'ai déniché un tutoriel pour la programmation Gnome avec Glade.
La création de l'interface avec Glade ne pose pas de problèmes.
Après, je modifie pas-à-pas avec un éditeur de texte le fichier callbacks.c . Tout va bien jusque la ligne suivante :
msgBox = gnome_message_box_new (message,GNOME_MESSAGE_BOX_INFO,GNOME_STOCK_BUTTON_OK,NULL);
Quand je fais un make, il me dit :
callbacks.c: In function ‘on_FConvertir_Bouton_clicked’:
callbacks.c:65: error: ‘GNOME_MESSAGE_BOX_INFO’ undeclared (first use in this function)
callbacks.c:65: error: (Each undeclared identifier is reported only once
callbacks.c:65: error: for each function it appears in.)
callbacks.c:65: error: ‘GNOME_STOCK_BUTTON_OK’ undeclared (first use in this function)
callbacks.c:65: warning: assignment makes pointer from integer without a cast
make: *** [callbacks.o] Erreur 1
Le tutoriel ne parle pas de déclarer quoi que ce soit. Où est l'erreur?
J'utilise Gnome 2 et Gtk 2.
Si quelqu'un peut m'aider, ça me ferais plaisir.
Merci d'avance.
Dernière modification par Korak (Le 04/12/2006, à 01:40)
OS: Ubuntu 24.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur. Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !
Hors ligne
#2 Le 04/12/2006, à 04:27
- Korak
Re : Création d'une boîte de dialogue avec gnome_message_box_new
Je pense qu'il va être plus simple de vous montrer tout le code du fichier callbacks.c :
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <gtk/gtk.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
void
on_Info_Bouton_clicked (GtkButton *button,
gpointer user_data)
{
}
void
on_button1_clicked (GtkButton *button,
gpointer user_data)
{
gtk_widget_show(create_aboutdialog1());
}
void
on_Quitter_Bouton_clicked (GtkButton *button,
gpointer user_data)
{
gtk_main_quit();
}
void
on_FConvertir_Bouton_clicked (GtkButton *button,
gpointer user_data)
{
// Notre boite de messagee
GtkWidget *msgBox;
// Valeur retournée par gnome_dialog_run_and_close
gint returnVal;
// La vaeur retournée par g_strdup_printf devant etre passé à gnome_message_box_new
gchar* message;
// Résupération de la valeur Fahrenheit du widget de saisie de texte
GtkWidget * fValue = lookup_widget(GTK_WIDGET(button), "F_saisie");
// Conversion du texte récupéré en double
gdouble fahrenheit = g_strtod(gtk_entry_get_text(GTK_ENTRY(fValue)),NULL);
// Construction de la chaine finale qui sera passé à gnome_message_box_new
message = g_strdup_printf("Le résultat est: %.2f degrés celsius.",( (5.0 / 9.0) * (fahrenheit - 32 ) )) ;
// Création de notre boite de message
msgBox = gnome_message_box_new (message,GNOME_MESSAGE_BOX_INFO,GNOME_STOCK_BUTTON_OK,NULL);
// Affichage de la boite de message
returnVal = gnome_dialog_run_and_close (GNOME_DIALOG (msgBox));
// Libération de la mémoire alloué par g_strdup_printf
g_free (message);
}
void
on_CConvertir_Bouton_clicked (GtkButton *button,
gpointer user_data)
{
}
void
on_window_destroy (GtkObject *object,
gpointer user_data)
{
gtk_main_quit();
}
OS: Ubuntu 24.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur. Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !
Hors ligne