Vous êtes ici : Accueil Zaclys Astuces / Les rubriques / Informatique / Système d'exploitation / AmigaOS

Voir un article

illustration

© Tito

Aros AmigaOS MorphOS GTK MUI

GTK est une librairie d'interface utilisateur (GUI) tres utilisée sur linux et qui peut être utilisée également sur Aros AmigaOS et MorphOS grâce à la librairie gtk-mui
Définition :
La lib gtk-mui est un wrapper (adaptateur) de GTK+ vers MUI (Magic User Interface), qui permet de compiler des programmes GTK+ pour AmigaOS/AROS/MorphOS sans aucune modif sur le code source. Le résultat est un programe natif AmigaOS/AROS/MorphOS avec une GUI MUI native !
http://sourceforge.net/projects/gtk-mui/

Testé sur Aros :


1/ récupérer le code source C de "hello world in GTK" :
http://developer.gnome.org/gtk-tutorial/2.90/c39.html


2/ on suppose que vous avez installé Aros avec les outils de développement, donc que vous avez gcc fonctionnel avec les include files et les lib qui vont bien


3/ installer gtk-mui sur Aros :

- vérifiez dans lib: si vous avez libgtk-mui.a , sinon :
- récupérer le package gtk-mui sur le dépot AROS, voici le lien vers la version 2.1 de décembre 2010 :
http://archives.aros-exec.org/index.php?function=showfile&;file=development/library/libgtk-mui.i386.tar.gz
- décompresser dans RAM: ou T: par exemple puis copier le fichier liggtk-mui.a qui se trouve dans 1 sous dossier dans LIB: (les fichiers include/gtk et include/gdk sont inutiles car déjà installés, cf point 2 ci dessus)


4/ installer glib sur Aros :

- récupérer le package glib sur le dépot Aros :
http://archives.aros-exec.org/index.php?function=showfile&;file=development/library/glib.i386.tar.gz
- décompresser directement dans Development: (qui contient les sous dossiers include et lib associés aux assigns inlcude: et lib: )
- astuce : ouvrir un shell avec [Amiga] + [W], puis "cd development:" , puis "tar -xzvf download:
glib.i386.tar.gz"


5/ controler la présence de la lib gobject :
list lib:libgobject#?


6/ lets go :
gcc -o exe testgtk.c -Iinclude:glib-2.0 -Ilib:glib-2.0/include -lgtk-mui -lgobject-2.0 -lglib-2.0 -liconv -lmui

strip --strip-unneeded exe
(la commande strip permet d'oter les sections de debug du binaire, dans mon cas je passe de 4.3Mo à 1.9Mo)


7/ bug libgtk-mui :
la version actuelle a notamment un bug sur gtk_widget_destroy(), si vous avez un plantage dans "hello world" en cliquant sur le boutton, essayez ce patch :
< g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window);
> g_signal_connect_swapped (button, "clicked", G_CALLBACK (destroy),NULL);
cf discussions sur le sujet sur le forum Aros Exec :
http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=6199&;post_id=58154#forumpost58154


8/ GTK tutoriel :
http://developer.gnome.org/gtk-tutorial/


9/ Fonctions à éviter sur gtk-mui version 2.1 (mon expérience perso) :
  • gtk_widget_destroy() // bug : plante l'appli
  • gtk_label_set_justify()  // not implemented

10/ Autre approche :

Se passer de cette lib gtk-mui complète et utiliser la traduction directe gtk to mui.
Je travaille actuellement sur cette approche qui peut convenir pour des GUI simples :
http://www.zaclys.com/?c=94&;contenu_mode=voir&contenu_id=207

5 928 clics - Créé le 04/08/2011 par Tito - Modifié le 25/08/2011



Réagissez, commentez, discutez ...



Partager ?

diaspora  G+  facebook  twitter  Digg  Yahoo  Delicious  Technorati  myspace


Voir d'autres articles en rapport avec celui-ci ?



Stats des clics sur cet article : cliquez ici »



Vous voulez contribuer et publier un article dans cette rubrique ?

InfoMerci de vous identifier ou de vous créer un compte si ce n'est pas déjà fait.


ATTENTION
Vous êtes ici sur l'ancien site de l'association Zaclys.
Depuis 2019 notre site est ici : nouveau site Zaclys

icone user Me connecter :

InfoMerci de saisir vos identifiants.




Me reconnecter automatiquement à chaque visite sur ce navigateur :
               





retour






Plan du site | Aide | Mentions légales et CGU | RGPD | Travaux et incidents | Budget | Faire un don | Chouchen | Z pub | Logo et prospectus

© Association la mère Zaclys 1998-2024  - Zaclys v2.5

Suivez nous sur Diaspora, Mastodon, Google+, FaceBook ou Twitter