Bonjour,
Je sais que le problème que je vais décrire est classique mais je n’ai pas réussi à obtenir une réponse claire sur comment le résoudre (alors que je suis sûr qu’il a été traité de très nombreuses fois).
Je développe une grosse application à l’aide d’Ada et de GTK. Au vu de la taille de celle-ci j’essaye d’avoir un code le plus propre possible afin de m’y retrouver et donc je fais beaucoup d’héritage de composant GTK pour rajouter par dessus mes propres comportements.
Pour mon application, j’ai un menu Open recent file avec dedans une liste de fichiers récemment ouverts. Chaque éléments émets le signal "activate" lorsque l’utilisateur en sélectionne un avec deux callbacks possibles :
- Une où je reçois en paramètre l’élément qui a émit le signal
- Une autre où je peux transmettre n’importe quel objet GTK
C’est à dire que dans le premier cas je peux savoir quel fichier a été sélectionné par l’utilisateur, dans le second je peux accéder à ma fenêtre principale (où j’y ai ajouté une instance d’un type qui me permet de gérer l’état interne de mon application). Mais impossible en l’état d’avoir les deux en même temps.
Quelle est la façon habituelle de gérer ce cas ? Lever un signal personnalisé avec le nom du fichier dedans qui sera ensuite attrapé par la fenêtre principale ?
Merci.