© 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.html2/ 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