Plutôt intéressant, mais ça illustre justement les différences entre les deux modèles (Gorm/IB et les autres comme Glade). Par exemple, il n'a pas de palette contenant un objet Gecko, il crée une custom view et l'instancier "à la main". Idem, dans le source ruby il y a plein de code d'init qui serait inutile avec Gorm. Et ça impact aussi les relations entre objets; comme Glade ne "connaît" pas l'objet Gecko, tout ce qu'il peut faire c'est envoyer des signaux à l'application quand les boutons sont cliqués; on doit donc créer des méthodes dans l'appli ruby qui appellent les méthodes correspondantes de l'objet Gecko.
Sous Gorm, aucun code ne serait nécessaire.
La démo "équivalente" à celle ci sous OSX, avec InterfaceBuilder et WebKit, consiste effectivement à dnd les boutons sur une fenêtre, puis dnd l'objet WebKit, puis de linker les actions des boutons à des méthodes de l'objet WebKit. Le tout sans une ligne de code, dans InterfaceBuilder. Et on peut tester le programme sans avoir à le compiler. Une fois WebKit compilé pour GNUstep (ce qui devrait être faisable avec la prochaine release de gcc apportant *enfin!* objc++), aucun problème pour faire la même chose sous Gorm -- c'est exactement le même principe qu'avec la vidéo "custom palette" en lien de l'article.
[^] # Re: Glade/libglade
Posté par Nicolas Roard . En réponse à la dépêche Gorm 1.0 est disponible. Évalué à 5.
Sous Gorm, aucun code ne serait nécessaire.
La démo "équivalente" à celle ci sous OSX, avec InterfaceBuilder et WebKit, consiste effectivement à dnd les boutons sur une fenêtre, puis dnd l'objet WebKit, puis de linker les actions des boutons à des méthodes de l'objet WebKit. Le tout sans une ligne de code, dans InterfaceBuilder. Et on peut tester le programme sans avoir à le compiler. Une fois WebKit compilé pour GNUstep (ce qui devrait être faisable avec la prochaine release de gcc apportant *enfin!* objc++), aucun problème pour faire la même chose sous Gorm -- c'est exactement le même principe qu'avec la vidéo "custom palette" en lien de l'article.