Une super GtkCalculatrice
Bonjour à tous, désolé, c'est encore moi...
Bon ben finalement, j'ai décidé de continuer un peu avec gtk...
La pour m'exercer, je suis en train de faire une calculatrice...
Seulement j'ai un probleme:(
Quand j'appui sur le bouton "+", il devrait m'afficher le message de test "Ok c bon", seulement, ça ne marche pas,:? et je ne comprends pas pourquoi
Voici une partie du main:
Code:
1 2 3 4 5 6
|
/* Connexion au signal "clicked" des boutons d'opération */
for (i = 12; i <= 17; i++)
g_signal_connect(G_OBJECT(calculatrice->pButton[i]),"clicked",G_CALLBACK(operation),calculatrice->pSaisie);
gtk_widget_show_all(calculatrice->pWindow); |
Voici ma fonction callback:
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
|
void operation(GtkWidget *widget, gpointer data)
{
//gchar sSaisie[MAX_LENGTH + 1] = "";
/* On récupere le label du bouton */
const gchar *label = gtk_button_get_label(GTK_BUTTON(widget));
switch (label[0])
{
case '+':
addition(data);
break;
case '-':
soustraction(data);
break;
case '*':
multiplication(data);
break;
case '/':
division(data);
break;
case '%':
modulo(data);
break;
case '=':
resultat(data);
break;
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
void addition(gpointer data)
{
/* Variables */
MainWindow *calculatrice;
const gchar* sSaisie;
/* Récuperation de data */
calculatrice = (MainWindow*) data;
/* Récupération du nombre contenu dans le GtkEntry */
sSaisie = gtk_entry_get_text(GTK_ENTRY(calculatrice->pSaisie));
/* Modification du texte contenu dans le GtkEntry */
gtk_entry_set_text(GTK_ENTRY(calculatrice->pSaisie), "Ok, c bon");
} |
et la c'est ma structure _MainWindow
Code:
1 2 3 4 5 6 7 8 9
| struct _MainWindow
{
GtkWidget *pWindow;
GtkWidget *pTable;
GtkWidget *pButton[20];
GtkWidget *pSaisie;
GtkWidget *pLabel;
};
typedef struct _MainWindow MainWindow; |
Donc ben si vous avez une solution, ça serait sympa..:)
Merci