réalisation d'une boite de dialogue
Bonsoir tout le monde
Je souhaite réaliser des boite de dialogue dans mon apli.
Structur.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
#include <stdlib.h>
#include <gtk/gtk.h>
#ifndef structure_H
#define structure_H
typedef struct
{
GtkWidget *win;
GtkWidget *vbox;
GtkWidget *menuiteminfo;
GtkWidget *menu;
}
static void info(composant * e);
void menu(composant * e);
void regle(composant * e);
#endif |
menu.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#include <gtk/gtk.h>
#include "structure.h"
static void info(composant * e)
{
GtkWidget *dialog = NULL;
dialog = gtk_message_dialog_new (GTK_WINDOW (e->win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Mytext");
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
void menu(composant * e)
{
e->menubar = gtk_menu_bar_new();
e->menu = gtk_menu_new();
e->menuiteminfo = gtk_menu_item_new_with_label("A propos de ...");
gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitem);
g_signal_connect (G_OBJECT(e->menuiteminfo),"activate",G_CALLBACK(info),NULL);
} |
main.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#include <stdlib.h>
#include <gtk/gtk.h>
#include <stdio.h>
#include "structure.h"
void menu(composant * e);
static void info(composant * e);
void regle(composant * e);
int main (int argc, char *argv[])
{
composant e;
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
e.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (e.win), 8);
gtk_window_set_title (GTK_WINDOW (e.win), "text");
gtk_window_set_position (GTK_WINDOW (e.win), GTK_WIN_POS_CENTER);
gtk_widget_realize (e.win);
gtk_window_maximize(GTK_WINDOW (e.win));
g_signal_connect (e.win, "destroy", gtk_main_quit, NULL);
e.vbox = gtk_vbox_new (FALSE, 6);
gtk_container_add (GTK_CONTAINER (e.win), e.vbox);
menu(&e);
regle(&e);
gtk_widget_show_all (e.win);
gtk_main ();
return 0;
} |
Mon probleme est que ca refuse de s'executer.
Je ne voix pas où se trouve l'erreur.
Je vous signal que l'appli que je développe aura beaucoup de boites de dialogues, donc il faudrait que je voix comment on réalise des boites de dialogue quand on developpe des apli structuré.
Merci
Cordialement
A bientôt