mirror of
https://github.com/php/php-gtk-src.git
synced 2026-03-24 17:22:10 +01:00
74 lines
1.7 KiB
PHP
74 lines
1.7 KiB
PHP
<?php
|
|
/* $Id$ */
|
|
|
|
if (!extension_loaded('php-gtk')) {
|
|
dl( 'php_gtk.' . PHP_SHLIB_SUFFIX);
|
|
}
|
|
|
|
/*
|
|
* Called when delete-event happens. Returns false to indicate that the event
|
|
* should proceed.
|
|
*/
|
|
function delete_event()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
/*
|
|
* Create a new top-level window and connect the signals to the appropriate
|
|
* functions. Note that all constructors must be assigned by reference.
|
|
*/
|
|
$window = new GtkWindow();
|
|
$window->connect_object('destroy', array('gtk', 'main_quit'));
|
|
$window->connect('delete-event', 'delete_event');
|
|
|
|
/*
|
|
* Create a button and connect its 'clicked' signal to destroy() function.
|
|
*/
|
|
$button = new GtkButton('Close');
|
|
$button->connect_object('clicked', array('gtk', 'main_quit'));
|
|
|
|
/*
|
|
* Create a vertical layout box.
|
|
*/
|
|
$box = new GtkVBox(false, 10);
|
|
$box->set_border_width(10);
|
|
|
|
/*
|
|
* Create a list widget and populate it with month names.
|
|
*/
|
|
$list = new GtkList();
|
|
$list->set_selection_mode(GTK_SELECTION_BROWSE);
|
|
foreach (range(1, 12) as $month_num)
|
|
$items[] = new GtkListItem(strftime('%B', mktime(0, 0, 0, $month_num)));
|
|
$list->append_items($items);
|
|
|
|
/*
|
|
* Create a scrolled window and add the list widget to it - this provides
|
|
* automatic scrollbars.
|
|
*/
|
|
$scrolled_window = new GtkScrolledWindow();
|
|
$scrolled_window->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
|
$scrolled_window->add_with_viewport($list);
|
|
|
|
/*
|
|
* Add scrolled window and button to the vertical layout box.
|
|
*/
|
|
$box->pack_start($scrolled_window);
|
|
$box->pack_start($button, false);
|
|
|
|
/*
|
|
* Add layout box to the window, set window attributes and show everything.
|
|
*/
|
|
$window->add($box);
|
|
$window->set_title('PHP Rules!');
|
|
$window->set_name('MainWindow');
|
|
$window->set_usize(150, 200);
|
|
$window->show_all();
|
|
|
|
/* Run the main loop. */
|
|
Gtk::main();
|
|
|
|
?>
|