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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
#include <stdlib.h>
#include <gtk/gtk.h>
#include "affiche.h"
#define TAILLE 16
int main(int argc, char **argv)
{
/*widget principal*/
GtkWidget *Ma_Fenetre = NULL;
/*widget important (conteneur)*/
GtkWidget *Mon_Tableau = NULL;
/*widgets actions (boutons ou zone de textes ...)*/
GtkWidget *Mon_Bouton_Quitter = NULL;
GtkWidget *Ma_Zone_Texte = NULL;
GtkWidget *Mon_Bouton[TAILLE] = {NULL};
/* Initialisation de GTK+ */
gtk_init (&argc, &argv);
/* Creation de la fenetre principale de notre application */
Ma_Fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);/*Création officielle de la fenetre xd*/
gtk_window_set_default_size(GTK_WINDOW (Ma_Fenetre), 420, 380);
gtk_window_set_title (GTK_WINDOW (Ma_Fenetre), "Calculatrice");
gtk_window_set_position(GTK_WINDOW (Ma_Fenetre), GTK_WIN_POS_CENTER);
g_signal_connect (G_OBJECT (Ma_Fenetre), "destroy", G_CALLBACK (gtk_main_quit), NULL); /*Lorsque l'utilisateur appuie sur la croix le programme est stoppé (il ne tourne plus)*/
/* Creation du tableau et placement*/
Mon_Tableau = gtk_table_new(7,4,TRUE);
gtk_container_add(GTK_CONTAINER(Ma_Fenetre),GTK_WIDGET(Mon_Tableau));
/* Creation de la zone de texte */
Ma_Zone_Texte = gtk_text_view_new ();
gtk_table_attach_defaults (GTK_TABLE (Mon_Tableau), Ma_Zone_Texte, 0, 4, 0, 1);/*Gauche, Droite toujours + grand que gauche, Haut, Bas toujours + grand que haut*/
/*Creation du bouton Quitter*/
Mon_Bouton_Quitter = gtk_button_new_from_stock (GTK_STOCK_QUIT);
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton_Quitter,2,3,6,7);
g_signal_connect (G_OBJECT (Mon_Bouton_Quitter), "clicked", G_CALLBACK (gtk_main_quit), NULL);/*Lorsque l'utilisateur appuie sur le bouton quitter le programme est stoppé (il ne tourne plus)*/
/* Creation des boutons standars de la calculatrice et placement*/
/* C'est cette partie qui me pose probleme*/
Mon_Bouton[0] = gtk_button_new_with_label("0");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[0],0,1,6,7);
/*g_signal_connect (G_OBJECT (Mon_Bouton[0]), "clicked", G_CALLBACK (cb_affiche(Mon_Bouton[], Mon_Bouton[0])), Ma_Zone_Texte);*/
Mon_Bouton[1] = gtk_button_new_with_label("1");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[1],0,1,5,6);/*
g_signal_connect (G_OBJECT (Mon_Bouton[1]), "clicked", G_CALLBACK (cb_affiche(Mon_Bouton[], Mon_Bouton[1])), Ma_Zone_Texte);
*/
Mon_Bouton[2] = gtk_button_new_with_label("2");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[2],1,2,5,6);/*
g_signal_connect (G_OBJECT (Mon_Bouton[2]), "clicked", G_CALLBACK (cb_affiche(Mon_Bouton[], Mon_Bouton[2])), Ma_Zone_Texte);
*/
Mon_Bouton[3] = gtk_button_new_with_label("3");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[3],2,3,5,6);/*
g_signal_connect (G_OBJECT (Mon_Bouton[3]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[4] = gtk_button_new_with_label("4");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[4],0,1,4,5);/*
g_signal_connect (G_OBJECT (Mon_Bouton[4]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[5] = gtk_button_new_with_label("5");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[5],1,2,4,5);/*
g_signal_connect (G_OBJECT (Mon_Bouton[5]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[6] = gtk_button_new_with_label("6");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[6],2,3,4,5);/*
g_signal_connect (G_OBJECT (Mon_Bouton[6]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[7] = gtk_button_new_with_label("7");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[7],0,1,3,4);/*
g_signal_connect (G_OBJECT (Mon_Bouton[7]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[8] = gtk_button_new_with_label("8");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[8],1,2,3,4);/*
g_signal_connect (G_OBJECT (Mon_Bouton[8]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[9] = gtk_button_new_with_label("9");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[9],2,3,3,4);/*
g_signal_connect (G_OBJECT (Mon_Bouton[9]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[10] = gtk_button_new_with_label("=");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[10],3,4,5,7);/*
g_signal_connect (G_OBJECT (Mon_Bouton[10]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[11] = gtk_button_new_with_label("+");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[11],3,4,3,5);/*
g_signal_connect (G_OBJECT (Mon_Bouton[11]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[12] = gtk_button_new_with_label("-");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[12],3,4,1,3);/*
g_signal_connect (G_OBJECT (Mon_Bouton[12]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[13] = gtk_button_new_with_label("*");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[13],2,3,1,3);/*
g_signal_connect (G_OBJECT (Mon_Bouton[13]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[14] = gtk_button_new_with_label("/");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[14],1,2,1,3);/*
g_signal_connect (G_OBJECT (Mon_Bouton[14]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
Mon_Bouton[15] = gtk_button_new_with_label(",");
gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton[15],1,2,6,7);/*
g_signal_connect (G_OBJECT (Mon_Bouton[15]), "clicked", G_CALLBACK (Affiche), Ma_Zone_Texte);
*/
/* Affichage de la fenetre principale et de toutes ses applications */
gtk_widget_show_all (Ma_Fenetre);
/* Lancement de la boucle principale */
gtk_main ();
return EXIT_SUCCESS;
} |
Partager