Problème avec gtk-link_button.generic_uri_hook

Auteur Message
Bonjour,

Das une application Ada avec GtkAda, j'ai instancié deux fois le paquetage generic_uri_hook pour connecter deux fonctions différentes.

Le problème est que quelque soit l'objet clické, c'est toujours la même fonction qui est appelé, soit la dernière connectée.

Je cherche un moyen d'y parvenir quand même.

En gros et encode....

Source ada : 

package Edit_Uri_Hook is new Generic_Uri_Hook (Integer);
package View_Uri_Hook is new Generic_Uri_Hook (Integer);


Après j'ai ça pour un link_button

Source ada : 

Edit_Uri_Hook.Set_Uri_Hook
(Handler => On_Link_Button_Clicked'Access,
User_Data => 0,
Destroy => null);

Et ça pour un autre.

Source ada : 

View_Uri_Hook.Set_Uri_Hook
(Handler => Lib_On_Link_Button_Clicked'Access,
User_Data => 0,
Destroy => null);


Mais Lib_On_Link_Button_Clicked est appelée dans les deux cas.


Le projet complet est disponible à http://88.189.147.62/Private/fastoncomputer-0.0.2a.tgz

Merci pour votre aide.
Bonjour,

Comme Generic_Uri_Hook n'existe pas sur GtkAda version Windows je crois que je dois précisé que je suis sur GNU/Linux (Debian).

A part ça, j'ai tout essayé avec les paramètres.
Rien n'y fait.
Je pige pas.
D’après la documentation de GTKAda : Package: Generic_Uri_Hook (generic) (univ-orleans.fr).

Documentation a écrit : 
Sets Handler as the subprogram that should be invoked every time a user clicks a Gtk_Link_Button. This subprogram is called before every callback registered for the "clicked" signal.

If no uri hook has been set, GTK+ defaults to calling gtk_show_uri()


Ce que je comprends, c’est que Set_Uri_Hook ne sert pas à enregistrer un gestionnaire d’événement, mais à enregistrer un “daemon before” (dans les termes d’un ancien langage dont j’ai oublié le nom) global.

On peut aussi conclure que ce paquet générique est dans les faits, un singleton.

Pour faire ce que tu veux (si je le comprends bien), il faut attacher un gestionnaire à l’événement clicked des boutons.
Ah ! Dommage.

J'ai connecté le mes bouton au dit événement !
Ca marche !

J'ai quand même un warning de la part de Gtk :

En cliquant le premier lien...
Citation : 
(fastoncomputer:7968): Gtk-WARNING **: Unable to show './fastoncomputer/fastoncomputer/src/fastoncomputer.adb': Opération non prise en charge


Mais merci beaucoup Hibou, j'ai appris un truc de bon matin.
Désolé pour le dérangement.