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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| <?php $window = new GtkWindow(); $window->connect_simple('destroy', array( 'Gtk', 'main_quit')); $window->set_size_request(400,180);
$window->add($vbox = new GtkVBox());
// display title
$title = new GtkLabel("Change GtkComboBox options on the fly"); $title->modify_font(new PangoFontDescription("Times New Roman Italic 10")); $title->modify_fg(Gtk::STATE_NORMAL, GdkColor::parse("#0000ff")); $title->set_size_request(-1, 60); $vbox->pack_start($title, 0, 0);
// add buttons
$vbox->pack_start($hbox = new GtkHBox(), 0); $hbox->pack_start(new GtkLabel('Continent: '), 0); $hbox->pack_start($button1 = new GtkButton('US'), 0); $button1->connect('clicked', 'on_button'); $button1->set_size_request(80, -1); $hbox->pack_start($button2 = new GtkButton('Europe'), 0); $button2->connect('clicked', 'on_button'); $button2->set_size_request(80, -1); $vbox->pack_start(new GtkLabel(), 0); // leave a gap
// the selection
$list['US'] = array('US-1', 'US-2', 'US-3', 'US-4'); $list['Europe'] = array('Europe-1', 'Europe-2', 'Europe-3', 'Europe-4', 'Europe-5', 'Europe-6');
$vbox->pack_start($hbox=new GtkHBox(), 0, 0); $hbox->pack_start(new GtkLabel('Select: '), 0, 0);
// Create a combobox
$combobox = new GtkComboBox();
// Create a model.
if (defined("GObject::TYPE_STRING")) { $model = new GtkListStore(GObject::TYPE_STRING); } else { $model = new GtkListStore(Gtk::TYPE_STRING); }
// Set up the combobox
$combobox->set_model($model); $cellRenderer = new GtkCellRendererText(); $combobox->pack_start($cellRenderer); $combobox->set_attributes($cellRenderer, 'text', 0);
// populate combobox
populate('US');
// setup the submit button
$hbox->pack_start($combobox, 0, 0); $hbox->pack_start(new GtkLabel(' '), 0, 0); $hbox->pack_start($button = new GtkButton('Submit'), 0, 0); $button->set_size_request(60, 24);
|
July 29, 2008 7:50am