OVH Cloud OVH Cloud

Php - Gtk sous windows

1 réponse
Avatar
(¯`·..Yttrium ...·´¯)
Bonjour,

Je cherche à recueillir des témoignages de personnes ayant expérimenté le
dev Php-Gtk sous windows.
Quels outils conseillez vous ?
Queles sites conseillez vous ?
Sachant que je "maitrise" PhP5 et la Poo, mais que je n'ai jamais touché à
Php - Gtk

D'avance merci pour vos conseils.

1 réponse

Avatar
Marc
Bonjour,

Je cherche à recueillir des témoignages de personnes ayant expérimenté le
dev Php-Gtk sous windows.
Quels outils conseillez vous ?
Queles sites conseillez vous ?
Sachant que je "maitrise" PhP5 et la Poo, mais que je n'ai jamais touché à
Php - Gtk

D'avance merci pour vos conseils.



j'ai fais une encapsulation objet plus applicative et moins
proche de GTK. Voici ce que ca donne pour faire un tracé de
lignes droites dans une fenetre ; si ca intéresse qq on peut
le partager, voir le faire vivre.

Sinon, je ne suis pas vraiment un fan de l'API gtk.
D'ou cette encapsulation. Elle facilite l'approche basique
mais en meme temps doit aussi fermer l'ouverture et le
parametrage. Bon ce dont je dispose est surtout un
snapshot.


<?php

error_reporting(E_ALL);

include_once('lib/error_handler.php');

include_once('lib/PhpGtkApp.php');
include_once('lib/MainWindow.php');
include_once('lib/DrawingArea.php');


class MyDrawingArea extends DrawingArea{
function MyDrawingArea(){
$this->__construct();
}

function expose(){
$this->trace('expose');
# $this->rectangle(new OORectangle(50, 50, 20, 20), 'brown');

$p1 = new OOPoint(0, 0);
$p2 = new OOPoint(0, 400);

$width=$this->width();
if($width == 0)
$width = 400;
echo "width = ". $this->width() . "n";
echo "height = ". $this->height() . "n";
$count ;
for($i=0 ; $i<$count ; $i++){
$p1->x = intval($i * $width/$count);
$p1->y = 0 ;
$p2->x = 0;
$p2->y = 400 -(intval($i * $width/$count)) ;
$this->line($p1, $p2, "red");
}

echo "mark = " . $this->mark . "n";
}
}

class MyApp extends PhpGtkApp{
function MyApp(){
$this->__construct();
}

function __construct(){
parent::__construct();
$this->window = &new MainWindow('Test Input');

$da = &new MyDrawingArea();
$da->size(800,600);
$this->window->add($da);

$this->window->show_all();

}
}

$app = new MyApp();
$app->run();

?>


ci dessous, un classique hello world qui contient un bouton.


[ php-gtk-oo]$ cat hello.php
<?php

error_reporting(E_ALL);

include_once('lib/PhpGtkApp.php');
include_once('lib/MainWindow.php');
include_once('lib/Button.php');


class App extends PhpGtkApp{
function App(){
$this->__construct();
}


function __construct(){
parent::__construct();
$this->window = &new MainWindow('Hello World');

$quit = &new QuitButton();
$this->window->add($quit);

$this->window->show_all();

}
}

$app = new App();
$app->run();

?>