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 ...

Soyez le premier à réagir !



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 ?

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