Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   Le blog de SpiceGuid

Article complet: Hello LablGtk2 !

14/06/2009

[GTK+] Hello LablGtk2 !

LablGtk2 est le binding GTK+ pour le langage Objective-Caml.
Comme son cousin Gtk2Hs (pour Haskell) il permet aussi le chargement d'interfaces codées en XML généré à l'aide de l'outil Glade.

J'espère avoir réalisé une copie conforme du Hello Developpez de Alp mais si ça n'est pas le cas ça n'est pas bien grave, l'esprit y est.

[Suite:]

Dans tous les cas voici ma capture d'écran :

Comme je ne vois aucune raison de générer du XML là où l'on peut coder aussi bien en OCaml je vous donne la source en Objective-Caml pur et dur :

let window = GWindow.window
   ~title: "Hello, Developpez !" ()
in let button = GButton.button
   ~packing: window#add ~label:
   "Bonjour Developpez, comment vas-tu ?\n\n  \
    Je suis un programme OCaml qui utilise\n  \
    LablGtk2, le binding GTK+ pour OCaml.\n\n \
    Clique pour fermer."
   ()
in button#connect#clicked ~callback:
   (fun () -> print_endline "Bye"; window#destroy (); GMain.Main.quit ())
   window#show ();
   GMain.Main.main ()

Où les arguments optionnels (d'où le nom labl pour label/étiquette) jouent le même rôle que les balises XML.
Voici une explication un peu plus détaillée :

  • le 1ier let créer la fenêtre (sans l'ouvrir)
  • le 2nd let créer le bouton
  • la suite associe une action au bouton (écrire "Bye", fermer la fenêtre, quitter GTK)
  • puis on affiche la fenêtre
  • finalement on passe la main à GTK

En plus des composants GTK standards le binding supporte également les composants suivants :

  • LibGlade et GdkPixbuf
  • le gadget GtkSourceView
  • le gadget GLArea

Social Bookmarking:

                                     

Commentaires, Pingbacks:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0
Commentaire de: Alp Mestan [Membre] · http://alp.developpez.com/
Très bonne initiative :-)

Au passage, la raison pour laquelle j'ai utilisé le XML est simple : ça établit un (petit) parallèle avec les technologies comme Qt, ASL (toutes deux C++), WPF/Silverlight (toutes deux .NET) et autres qui utilisent un format XML ou similaire pour décrire l'interface graphique, et ainsi dans le code lui-même il n'y a plus qu'à se concentrer sur les évènements, la récupération et le traitement de données, etc.
Permalien 14/06/2009 @ 21:58

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Le blog de SpiceGuid

Objective-Caml et la programmation fonctionnelle :

Coq et les types dépendants :

Rechercher

<  Février 2012  >
Lun Mar Mer Jeu Ven Sam Dim
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web