Bonsoir tout le monde

Je souhaite réaliser des boite de dialogue dans mon apli.

Structur.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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