[ruby-gnome2-doc-cvs] [Hiki] update - tut-gtk2-bonjourmonde-details

Zurück zum Archiv-Index

ruby-****@sourc***** ruby-****@sourc*****
2003年 8月 17日 (日) 04:17:31 JST


-------------------------
REMOTE_ADDR = 210.249.204.119
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/fr?tut-gtk2-bonjourmonde-details
-------------------------
  = Ruby/GTK2 Bonjour Monde (version comment馥)
  
  Maintenant que nous venons de voir la th駮rie des signaux et des 騅駭ements, nous sommes enfin pr黎s 
  regarder en d騁ail le programme "Bonjour Monde".
  
  Premi鑽ement, il initialise Ruby/GTK2.  Ce code est requis pour tous les programmes Ruby/GTK2.
  
    #!/usr/bin/env ruby
    =begin
      helloworld.rb - Ruby/GTK first sample script.
    
      Copyright (c) 2002,2003 Ruby-GNOME2 Project Team
      This program is licenced under the same licence as Ruby-GNOME2.
    
      $Id: helloworld.rb,v 1.4 2003/02/01 16:46:22 mutoh Exp $
    =end
    
    require 'gtk2'
    Gtk.init
  
  Ici nous cr駮ns un bouton "Bonjour Monde".
  Gtk::Button.new cr馥 un nouveau bouton GTK et ajuste son 騁iquette avec la cha〓e de caract鑽es que nous lui donnons.
  A ce moment, le bouton ne fait pas encore partie d'une fen黎re GTK, et il n'est pas encore visible l'馗ran.
  
    button = Gtk::Button.new("Bonjour Monde")
  
  Le code suivant affichera l'馗ran le message "Bonjour Monde" chaque fois que le bouton est actionn
  
  Ce comportement est produit en connectant un bloc de code qui affiche notre message au signal "clicked" du bouton.
  
    button.signal_connect("clicked") {
      puts "Bonjour Monde"
    }
  
  Maintenant il est temps de cr馥r la fen黎re.  Comme le bouton, elle n'est pas encore visible l'馗ran.
  
    window = Gtk::Window.new
  
  Nous d馗idons ici de connecter plusieurs gestionnaire de signaux sur notre fen黎re:
  
  * "delete_event" sera envoylorsque la fen黎re sera tu馥 par le gestionnaire de fen黎re((-En anglais, ((*window manager*)).-)) (en g駭駻al, quand l'utilisateur la fermera manuellement).  Notez que nous retournons une valeur ((*false*)) dans le bloc de code; 軋 signifie que le traitement de l'騅駭ement n'est pas encore termin  GTK enverra alors un autre signal, "destroy".
- * "destroy" sera 駑it juste apr鑚 "delete_event".  Dans ce bloc de code, nous fermons l'application en appelant Gtk#main_quit.
+ * "destroy" sera 駑it juste apr鑚 "delete_event".  Dans ce bloc de code, nous fermons l'application en appelant Gtk.main_quit.
  
  Deux messages seront affich駸 lorsque l'utilisateur fermera la fen黎re: 
  (1)"Ev駭ement 'delete' produit."
  (2)"Ev駭ement 'destroy' produit."
  
    window.signal_connect("delete_event") {
      puts "Ev駭ement 'delete' produit."
      #true
      false
    }
  
    window.signal_connect("destroy") {
      puts "Ev駭ement 'destroy' produit."
      Gtk.main_quit
    }
  
  Ici nous ajustons la largeur de la bordure de 10 pixels.  Qu'est-ce que cela signifie?
  
  Les fen黎res GTK sont en fait des conteneurs.  Un conteneur est un composant qui peut h饕erger un ou plusieurs autres composants.
  Notre fen黎re affichera ici une bordure de 10 pixels autour du composant h饕erg
  
    window.border_width = 10
  
  C'est le moment d'emballer le bouton dans la fen黎re.
  
    window.add(button)
  
  La prochaine 騁ape consiste afficher notre travail l'馗ran.  Nous avons besoin d'afficher deux composants: le bouton et la fen黎re.
  
  Nous aurions pu 馗rire ceci:
  
    button.show
    window.show
  
  Mais comme le bouton est ajoutdans la fen黎re, nous pouvons alors appeler Gtk::Widget#show_all sur cette derni鑽e.
  Cette m騁hode appelera Gtk::Widget#show sur la fen黎re et sur chaque composant interne (ici il n'y en a qu'un seul: le bouton).
  
    window.show_all
  
  Finalement, il ne reste plus qu'entrer dans la boucle principale, en appelant Gtk.main.  Le programme va ce moment dormir jursqu'ce qu'un 騅駭ement se produira.  Notez que l'appel Gtk.main ne retournera jamais.  Le code 馗rit apr鑚 cet appel ne se produira donc jamais non plus.
  
  Mais l'utilisateur sera toujours capable de fermer le programme, parce que nous appelons Gtk.main_quit lors de la r馗eption du signal "destroy".  
  
    Gtk.main  





ruby-gnome2-cvs メーリングリストの案内
Zurück zum Archiv-Index