Bonsoir,
Je débute avec la bibliothèque graphique GTK+ et je viens demander des conseils sur la façon de faire.
Pour m'entraîner, je mets au point l'interface d'une calculatrice. Donc j'organise tout à l'aide d'une table. Pour simuler l'écran j'utilise un text view et en dessous je place tous mes boutons avec leur label. Mes boutons sont contenus dans un tableau. À partir de là, pour détecter le clic sur un bouton j'utilise en boucle la fonction g_signal_connect tout le long du tableau pour détecter l'évênement "clicked".
Ensuite et c'est là que mon problème se pose, pour afficher les caractères cliqués (ici des opérandes ou des opérateurs).
Voilà la méthode que j'utiliserais :
Sachant qu'avec la fonction g_signal_connect, la fonction pouvant réagir au signal doit avoir un prototype sous la forme widget, gpointer. En tant que widget j'aurais le bouton pressé et en gpointer j'ai envie de passer le textview.
Le textview doit être muni d'un buffer, ce qui me permet de récupérer son contenu. À partir de là je récupère le contenu et à l'aide d'une fonction comme strcat je modifie le contenu en faisant textview + label bouton (je dois ajouter des espaces dans la chaine du label bouton). Une fois concaténées (les deux chaînes) je remet le tout dans le buffer et normalement tout va bien ?
Voilà donc en résumé comment en cliquant sur un bouton passé le texte contenu dans le label de celui-ci dans le textview en pouvant ajouté des espaces autour des opérateurs ?
Et là j'ai encore rien trouvé sur le sujet, est-il possible de faire réagir un bouton à l'appui d'une touche sur la clavier ? Par exemple j'appuie sur le 1 du pavé numérique faire réagir le bouton1 et repartir sur le g signal connect facilement ? (pas le raccourci avec le alt).
Sinon est-ce que c'est comme ça qu'on fait en général ? Ou y a t-il une autre méthode bien plus efficace ?
Merci à vous.
Bye.
PS : en fait juste ajouter du texte à l'aide de boutons dans un GtkTextView....
Partager