2010-08-05 14 views
0

J'ai une classe appelée XClient écrite avec la Xt (bibliothèque intrinsèque X Tools) pour configurer une connexion multisockée. Cette classe XClient était destinée aux interfaces graphiques OSF/Motif pour étendre XClient (afin que l'interface graphique puisse parler sur les sockets).Migration d'OSF/Motif & Xt vers GTK +

J'essaie de migrer dans un environnement GTK + qui n'utilise PAS la bibliothèque Xt pour des raisons de portabilité. Est-il encore possible de créer un wrapper pour permettre à GTK + d'utiliser les appels de bibliothèque Xt ou est-ce un non non?

Répondre

1

Je ne m'attendrais pas à ce que Xt et GTK + fonctionnent bien ou pas du tout dans le même processus. Ils essaient tous deux de "posséder" l'affichage X, la boucle d'événement principal, etc.

0

Vous devriez pouvoir exécuter Xt indépendamment de GTK en appelant XtAppInitialize(), ce qui ouvrira sa propre connexion au serveur X, qui traiter les deux comme des clients indépendants.

Vous pouvez gérer une boucle d'événement distincte en mettant l'appel à XtAppMainLoop() dans un fil séparé. Faites juste attention de ne rien faire avec autre chose que ce thread, car je ne suis pas sûr que Xt soit sûr pour les threads. (C'est peut-être maintenant, je n'ai pas eu Xt dans près de 20 ans, et ce n'était pas à l'époque.)