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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
/*
EXEMPLE INTERFACE GRAPHIQUE PDA
*/
/* main.c */
#include <gtk/gtk.h>
#include <glib/gprintf.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct type_commande
{
GtkWidget *fond_image;
int num_commande;
};
typedef struct type_commande T_commande;
// ***********************************************************************************************************
// *************************************** PROGRAMME PRINCIPAL ***********************************************
// ***********************************************************************************************************
void choix(GtkWidget *B_choix , gpointer data);
int main(int argc, char *argv[]){
/* -------------------------DECLARATION DES VARIABLES------------------------- */
T_commande *pictogramme= NULL;
GtkWidget *window1= NULL,
*vbox_fond= NULL,
*hbox_b1= NULL,
*hbox_b2= NULL,
*image2= NULL,
*picto=NULL,
*B_commande= NULL,
*B_choix= NULL;
gtk_init(&argc, &argv);
/* Création de la fenêtre */
window1 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window1), "Application Mac In Touch");
/* Pour quitter proprement le programme lorsqu'on appuie sur la croix */
gtk_signal_connect_object(GTK_OBJECT(window1), "destroy", (GtkSignalFunc)gtk_exit, NULL);
gtk_signal_connect_object(GTK_OBJECT(window1), "delete_event", (GtkSignalFunc)gtk_exit, NULL);
/* Redimensionnement de la fenêtre */
gtk_widget_set_usize(GTK_WIDGET(window1), 350, 450);
/* Positionnemet de la fenêtre au milieu de l'écran */
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);
/* Création de la box de fond */
vbox_fond = gtk_vbox_new(FALSE, 5);
gtk_container_add(GTK_CONTAINER(window1), vbox_fond);
/* Création du bouton commande */
B_commande= gtk_button_new();
gtk_box_pack_start(GTK_BOX(vbox_fond), B_commande, TRUE, TRUE, 0);
pictogramme->fond_image = gtk_image_new_from_file ("Images/agenda.png");
hbox_b2=gtk_hbox_new(FALSE, 5);
gtk_box_pack_start (GTK_BOX (hbox_b2),pictogramme->fond_image, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (B_commande), hbox_b2);
/* Création du bouton de choix */
B_choix= gtk_button_new();
gtk_box_pack_start(GTK_BOX(vbox_fond), B_choix, TRUE, TRUE, 0);
image2 = gtk_image_new_from_file ("Images/Suivant.png");
hbox_b1=gtk_hbox_new(FALSE, 5);
gtk_box_pack_start (GTK_BOX (hbox_b1), image2, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (B_choix), hbox_b1);
/* Connexion du signal "clicked" sur le bouton commande */
// g_signal_connect(G_OBJECT(B_), "clicked", G_CALLBACK( ), NULL);
/* Connexion du signal "clicked" sur le bouton choix */
g_signal_connect(G_OBJECT(B_choix), "clicked", G_CALLBACK(choix),(gpointer*) pictogramme);
/* Affichage de la fenetre et de tout ce qu'elle contient */
gtk_widget_show_all(window1);
gtk_main();
return(0);
}
/***********************DECLARATION DES SOUS PROGRAMMES***********************/
void choix(GtkWidget *B_choix , gpointer data){
T_commande *Infos;
Infos = (T_commande*) data;
gtk_image_set_from_file (GTK_IMAGE(Infos->fond_image),"Images/Ampoule-on.png");
} |
Partager