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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
|
# include <stdlib.h>
# include <gtk/gtk.h>
# include <string.h>
/* Déclaration des prototypes de fonction */
void Nouv_pret( gpointer data);
void Mise_a_jour(GtkWidget *widget, gpointer data);
void programme_prin(GtkWidget * widget, gpointer data) ;
/* Initialisation des variables pour la fênetre d'accueil */
GtkWidget *Fen_accueil = NULL;
GtkWidget *Vboite_accueil = NULL;
/* variable pour le bouton nouveau pret */
gchar *type = NULL;
GtkWidget *Btn_nouv_pret = NULL;
GtkWidget *Img_btn_nouv_pret = NULL;
GtkWidget *Txt_btn_nouv_pret = NULL;
GtkWidget *hboite_btn_nouv_pret = NULL;
/* variable pour le bouton ancien pret */
GtkWidget *Btn_anc_pret = NULL;
GtkWidget *Img_btn_anc_pret = NULL;
GtkWidget *Txt_btn_anc_pret = NULL;
GtkWidget *hboite_btn_anc_pret = NULL;
/* variable pour le bouton quitter */
GtkWidget *Btn_quit_pret = NULL;
/* Initialisation des variables pour la fenêtre principale */
GtkWidget *Fen_prin = NULL;
GtkWidget *Vboite_prin = NULL;
GtkWidget *Barre_outil = NULL;
GtkWidget *Txt_pret = NULL;
/* Initialisation des variables pour la fenêtre de création de nouveau prêt */
GtkWidget *Fen_nouv_pret = NULL;
/* variables pour l'emprunteur principal */
GtkWidget *Label_emprunteur_prin = NULL;
GtkWidget *Salaire_emprunteur_prin = NULL;
int main (int argc,char **argv )
{
/* Initialisation de GTK */
gtk_init(&argc, &argv);
/* Création la fenêtre d'accueil */
Fen_accueil = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Titre de la fenêtre d'accueil */
gtk_window_set_title(GTK_WINDOW(Fen_accueil),"- Bienvenue sur immo -");
/* Dimension de la fenêtre d'accueil */
gtk_window_set_default_size(GTK_WINDOW(Fen_accueil),450,230);
/* Centre la fenêtre */
gtk_window_set_position(GTK_WINDOW(Fen_accueil), GTK_WIN_POS_CENTER);
/* signal d'arrêt du programme quand on clique sur la croix de la fenêtre */
g_signal_connect(G_OBJECT(Fen_accueil), "delete-event",G_CALLBACK(gtk_main_quit), NULL);
/* Création de la boite verticale */
Vboite_accueil = gtk_vbox_new(FALSE, 0 );
gtk_container_add(GTK_CONTAINER(Fen_accueil), Vboite_accueil);
/* Création du bouton nouveau prêt */
Btn_nouv_pret = gtk_button_new();
/* Taille par défaut du bouton nouveau prêt */
gtk_widget_set_size_request(Btn_nouv_pret,450,100);
/* Image pour Btn_nouv_pret */
Img_btn_nouv_pret = gtk_image_new_from_file("./nouv_pret.png");
/* Texte pour le label du bouton nouveau prêt */
Txt_btn_nouv_pret = gtk_label_new("Commencer un nouveau prêt immobilier ?");
/* boite horizontale du bouton nouveau prêt */
hboite_btn_nouv_pret = gtk_hbox_new (FALSE, 10);
/* Insertion de boite horizontale dans le bouton nouveau prêt */
gtk_container_add (GTK_CONTAINER (Btn_nouv_pret), hboite_btn_nouv_pret);
gtk_box_pack_start (GTK_BOX (hboite_btn_nouv_pret), Img_btn_nouv_pret, TRUE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hboite_btn_nouv_pret), Txt_btn_nouv_pret, TRUE, FALSE, 0);
gtk_box_pack_start ( GTK_BOX(Vboite_accueil),Btn_nouv_pret,FALSE,FALSE,10.10);
g_signal_connect(G_OBJECT(Btn_nouv_pret), "clicked", G_CALLBACK(programme_prin), "Nouveau");
/* Création du bouton ancien prêt */
Btn_anc_pret = gtk_button_new();
/* Taille par défaut du bouton ancien prêt */
gtk_widget_set_size_request(Btn_anc_pret,450,100);
/* Image pour Btn_anc_pret */
Img_btn_anc_pret = gtk_image_new_from_file("./anc_pret.png");
/* Texte pour le label du bouton ancien prêt */
Txt_btn_anc_pret = gtk_label_new("Ouvrir un ancien calcul de prêt");
/* boite horizontale du bouton ancien prêt */
hboite_btn_anc_pret = gtk_hbox_new (FALSE, 10);
/* Insertion de boite horizontale dans le bouton ancien prêt */
gtk_container_add (GTK_CONTAINER (Btn_anc_pret), hboite_btn_anc_pret);
gtk_box_pack_start (GTK_BOX (hboite_btn_anc_pret), Img_btn_anc_pret, TRUE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hboite_btn_anc_pret), Txt_btn_anc_pret, TRUE, FALSE, 0);
gtk_box_pack_start ( GTK_BOX(Vboite_accueil),Btn_anc_pret,FALSE,FALSE,10.10);
//g_signal_connect(G_OBJECT(calculbtn), "clicked", G_CALLBACK(calcul), NULL);
/* Création du bouton quitter */
Btn_quit_pret = gtk_button_new();
/* Taille par défaut du bouton quitter prêt */
gtk_widget_set_size_request(Btn_quit_pret,40,20);
/* Insertion du bouton quitter */
gtk_box_pack_start ( GTK_BOX(Vboite_accueil),Btn_quit_pret,TRUE,TRUE,10.10);
/* Affiche la fenêtre accueil */
gtk_widget_show_all(Fen_accueil);
/* boucle évènementielle */
gtk_main();
return EXIT_SUCCESS;
}
void Nouv_pret( gpointer data)
{
/* Initialisation des variables pour la fenêtre nouveau pret */
GtkWidget *Vboite_fen_nouv_pret = NULL;
GtkWidget *Hboite_fen_nouv_pret_1 = NULL;
GtkWidget *Hboite_fen_nouv_pret_2 = NULL;
GtkWidget *Cadre_emprunteur = NULL;
GtkWidget *Btn_valider = NULL;
/* variables pour l'emprunteur secondaire */
GtkWidget *Label_emprunteur_sec = NULL;
GtkWidget *Salaire_emprunteur_sec = NULL;
/* Création la fenêtre nouveau pret */
Fen_nouv_pret = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Titre de la fenêtre principale */
gtk_window_set_title(GTK_WINDOW(Fen_nouv_pret),"- Information sur les emprunteurs -");
/* Dimension de la fenêtre principale */
gtk_window_set_default_size(GTK_WINDOW(Fen_nouv_pret),600,400);
/* Centre la fenêtre */
gtk_window_set_position(GTK_WINDOW(Fen_nouv_pret), GTK_WIN_POS_CENTER);
/* signal d'arrêt du programme quand on clique sur la croix de la fenêtre */
g_signal_connect(G_OBJECT(Fen_nouv_pret), "delete-event",G_CALLBACK(gtk_widget_destroy), NULL);
/* Création du premier cadre pour les emprunteurs */
Cadre_emprunteur = gtk_frame_new("Revenu");
gtk_container_add(GTK_CONTAINER(Fen_nouv_pret), Cadre_emprunteur);
/* Création de la boite verticale */
Vboite_fen_nouv_pret = gtk_vbox_new(FALSE, 0 );
gtk_container_add(GTK_CONTAINER(Cadre_emprunteur), Vboite_fen_nouv_pret);
/* Création de la 1er boite horizontale */
Hboite_fen_nouv_pret_1 = gtk_hbox_new(FALSE, 0 );
gtk_container_add(GTK_CONTAINER(Vboite_fen_nouv_pret), Hboite_fen_nouv_pret_1);
/* Création du texte du label du premier emprunteur */
Label_emprunteur_prin =gtk_label_new("Emprunteur principal : Votre salaire net par mois :");
gtk_box_pack_start (GTK_BOX (Hboite_fen_nouv_pret_1), Label_emprunteur_prin, FALSE, FALSE, 0);
/* Création de la zone de saisie du salaire du premier emprunteur */
Salaire_emprunteur_prin = gtk_entry_new();
gtk_box_pack_start (GTK_BOX (Hboite_fen_nouv_pret_1), Salaire_emprunteur_prin, FALSE, FALSE, 0);
/* Création de la 2ème boite horizontale */
Hboite_fen_nouv_pret_2 = gtk_hbox_new(FALSE, 0 );
gtk_container_add(GTK_CONTAINER(Vboite_fen_nouv_pret), Hboite_fen_nouv_pret_2);
/* Création du texte du label du second emprunteur */
Label_emprunteur_sec =gtk_label_new("Emprunteur secondaire : Votre salaire net par mois :");
gtk_box_pack_start (GTK_BOX (Hboite_fen_nouv_pret_2), Label_emprunteur_sec, FALSE, FALSE, 0);
/* Création de la zone de saisie du salaire du second emprunteur */
Salaire_emprunteur_sec = gtk_entry_new();
gtk_box_pack_start (GTK_BOX (Hboite_fen_nouv_pret_2), Salaire_emprunteur_sec, FALSE, FALSE, 0);
/* Création du bouton valider */
Btn_valider = gtk_button_new_with_label("Valider");
gtk_box_pack_end (GTK_BOX (Vboite_fen_nouv_pret), Btn_valider, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(Btn_valider), "clicked",G_CALLBACK(Mise_a_jour), NULL);
/* Affiche la fenêtre nouveau pret */
gtk_widget_show_all(Fen_nouv_pret);
}
void Mise_a_jour(GtkWidget *widget, gpointer data)
{
/* Initialisation des variables pour les calculs */
const char *Txt_salaire_1;
/* Récupération des variables du prêt*/
Txt_salaire_1 = gtk_entry_get_text(GTK_ENTRY(Salaire_emprunteur_prin));
/* Affiche les informations dans la fenêtre principale */
gtk_label_set_label(GTK_LABEL(Txt_pret),Txt_salaire_1);
/* Destruction de la fenêtre pour le nouveau pret */
gtk_widget_destroy(Fen_nouv_pret);
}
void programme_prin(GtkWidget * widget, gpointer data)
{
/* Destruction de la fenêtre d'accueil */
gtk_widget_destroy(Fen_accueil);
/* Création la fenêtre principale */
Fen_prin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Titre de la fenêtre principale */
gtk_window_set_title(GTK_WINDOW(Fen_prin),"- Bienvenue sur immo -");
/* Dimension de la fenêtre principale */
gtk_window_set_default_size(GTK_WINDOW(Fen_prin),800,600);
/* Centre la fenêtre */
gtk_window_set_position(GTK_WINDOW(Fen_prin), GTK_WIN_POS_CENTER);
/* signal d'arrêt du programme quand on clique sur la croix de la fenêtre */
g_signal_connect(G_OBJECT(Fen_prin), "delete-event",G_CALLBACK(gtk_main_quit), NULL);
/* Création de la boite verticale */
Vboite_prin = gtk_vbox_new(FALSE, 0 );
gtk_container_add(GTK_CONTAINER(Fen_prin), Vboite_prin);
/* Création de la barre des outils */
Barre_outil=gtk_toolbar_new();
gtk_toolbar_insert_stock(GTK_TOOLBAR(Barre_outil),GTK_STOCK_NEW,"Nouveau",NULL,G_CALLBACK(Nouv_pret),NULL,1);
gtk_toolbar_insert_stock(GTK_TOOLBAR(Barre_outil),GTK_STOCK_OPEN,"Ouvrir",NULL,NULL,NULL,2);
gtk_toolbar_insert_stock(GTK_TOOLBAR(Barre_outil),GTK_STOCK_SAVE,"Enregistrer",NULL,NULL,NULL,3);
gtk_toolbar_insert_stock(GTK_TOOLBAR(Barre_outil),GTK_STOCK_QUIT,"Quitter",NULL,G_CALLBACK(gtk_main_quit),NULL,4);
gtk_box_pack_start (GTK_BOX (Vboite_prin), Barre_outil, FALSE, FALSE, 0);
/* Création du texte du label */
Txt_pret =gtk_label_new("\n\n - Aucun calcul de prêt - ");
gtk_box_pack_start (GTK_BOX (Vboite_prin), Txt_pret, FALSE, FALSE, 0);
/* Affiche la fenêtre principale */
gtk_widget_show_all(Fen_prin);
/* Test la variable type */
type =(gchar*) data;
if (type =="Nouveau" )
{
g_idle_add (Nouv_pret, NULL);
}
} |
Partager