Selon référence GObjectQue fait g_signal_connect_swapped()?
de g_signal_connect_swapped (instance, detailed_signal, c_handler, données); connecte une fonction GCallback à un signal pour un objet particulier. L'instance sur laquelle le signal est émis et les données seront permutées lors de l'appel du gestionnaire.
Je ne comprends pas très bien ce que cela signifie. Est-ce que cela signifie que le data
pointera vers l'objet pointé par instance
et instance
pointera vers l'objet pointé par data
ou est-ce que je fais une erreur ici?
Si ancien est le cas alors quelle est la logique derrière cela?
En général, les événements des enfants appellent des gestionnaires avec 'self' comme premier argument, par exemple:' g_signal_connect_swapped (self-> some_internal_child, "bouton-press-event", (GCallback) mon_mouse_handler, self) '. Faire cela sans "swappé" signifierait avoir une signature laide du côté réception avec un 1er argument qui n'est probablement pas intéressant dans la majorité des cas, et que vous pouvez souvent obtenir de 'self->' de toute façon. Ou du moins c'est comme ça que j'ai utilisé jusqu'ici ... –