IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Initiation à PHP-GTK 1

Image non disponible


précédentsommaire

V. Annexes

V-A. Code objet

Comme dit plus haut, voici le même script en pseudo objet PHP 4. Nous l'avons mis en annexe pour ne pas perturber la lecture.

Nous vous le proposons, car il existe une différence essentielle entre le code procédural et l'objet.
Nous voyons que nous n'utilisons plus la méthode connect(), mais connect_object() qui prend deux paramètres. Le premier est le rappel (comme dans connect()), mais le deuxième est un tableau contenant le widget (&$this == GtkWindow) et la fonction associée.

 
Sélectionnez
<?php
if (!class_exists("gtk")) {
    if (strtoupper(substr(PHP_OS,0,3) == "WIN")) { dl("php_gtk.dll"); }
    else { dl("php_gtk.so"); }
}
 
class dvp_obj {
    var $window;
    var $button;
    var $tt;
 
    //Constructeur
    function dvp_obj() {
        //creation de la GtkWindow
        $this->window = &new GtkWindow();
        $this->window->connect_object("destroy",array(&$this,"destroy"));
        $this->window->set_border_width(10);
 
        //creation du GtkButton
        $this->button = &new GtkButton("Dvp");
        $this->button->connect_object("clicked",array(&$this,"hello_dvp"));
        $this->window->add($this->button);
 
        //creation du GtkTooltips
        $this->tt = &new GtkTooltips();
        $this->tt->set_delay(200);
        $this->tt->set_tip($this->button,"Donnez votre avis sur le site de dvp","");
        $this->tt->enable();
 
        //affichage de la fenêtre
        $this->window->show_all();
    }
 
    //fonction destroy
    fonction destroy() {
        Gtk::main_quit();
    }
 
    //fonction hello_dvp
    function hello_dvp() {
        print "Dvp, c'est drôlement bien!\n";
        $this->window->destroy();
    }
}
 
$win = new dvp_obj();
Gtk::main();
 
?>

V-B. Quelques liens sur PHP-GTK

V-C. Remerciements

Nous voudrions remercier quelques membres de developpez.com :

  • BWP-Necromance pour son aide, sa patience et sa disponibilité ;
  • Yogui pour sa patience, sa relecture ainsi que son aide à la mise en forme de cet article ;
  • Titoumimi pour la filiation de Yiannis.

précédentsommaire

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Jean-Marc Richon, Xaviéra Autissier. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.