Re: PHP-GTK2 List Store ? - *nix tester needed please

From: Date: Fri, 07 Oct 2005 18:45:17 +0000
Subject: Re: PHP-GTK2 List Store ? - *nix tester needed please
References: 1  Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-1754@lists.php.net to get a copy of this message
Hi Josh, OK, I've fiddled with that script a little to make it more obvious what's going on & to demo liststore updating - pls find attached two versions (one working, one broken). Could someone on a *nix-based system please run the 'broken' script and say whether get_iter() causes a crash for them too? BTW iter_next works fine, it's just you were passing it a boolean value so it never reached 2. I'll see if I can do something about the docs tomorrow. - Steph

<?php $window = new GtkWindow(); $window->set_title('Study TreeView'); $window->set_position(Gtk::WIN_POS_CENTER); $window->set_default_size(200, 300); $window->set_border_width(0); $window->connect_object('destroy', array('gtk', 'main_quit')); function callback($store, $path, $iter, $data = null) { $i = $path[0]; // path string $store->set($iter, 0, "iter_test_$i", 1, "iter_test_$i"); } function create_Model(){ $store = new GtkListStore(GTK::TYPE_STRING, GTK::TYPE_STRING); $store->append(array('test1','test1')); $store->append(array('test2','test2')); $store->append(array('test3','test3')); $store->foreach('callback'); return $store; } function Create_TreeView(){ $model = Create_Model(); $tree = new GtkTreeView($model); $column = new GtkTreeViewColumn(); $column->set_title('Column #1'); $cell_renderer = new GtkCellRendererText(); $column->pack_start($cell_renderer, true); $column->set_attributes($cell_renderer, 'text', 0); $tree->insert_column($column, 0); $column = new GtkTreeViewColumn(); $column->set_title('Column #2'); $cell_renderer = new GtkCellRendererText(); $column->pack_start($cell_renderer, true); $column->set_attributes($cell_renderer, 'text', 1); $tree->insert_column($column, 1); return $tree; } $hbox = new GtkHBox(true, 10); $hbox->pack_start(Create_TreeView()); $window->add($hbox); $window->show_all(); gtk::main(); ?> <?php $window = new GtkWindow(); $window->set_title('Study TreeView'); $window->set_position(Gtk::WIN_POS_CENTER); $window->set_default_size(200, 300); $window->set_border_width(0); $window->connect_object('destroy', array('gtk', 'main_quit')); function create_Model(){ $store = new GtkListStore(GTK::TYPE_STRING, GTK::TYPE_STRING); $store->append(array('test1','test1')); $store->append(array('test2','test2')); $store->append(array('test3','test3')); $iter = $store->get_iter_first(); // is an iter object var_dump($iter); $treepath = $store->get_path($iter);// returns an array which is not identified as a GtkTreePath var_dump($treepath); $broken_iter = $store->get_iter($treepath); // doesn't work, and crashes PHP under win32 return $store; } function Create_TreeView(){ $model = Create_Model(); $tree = new GtkTreeView($model); $column = new GtkTreeViewColumn(); $column->set_title('Column #1'); $cell_renderer = new GtkCellRendererText(); $column->pack_start($cell_renderer, true); $column->set_attributes($cell_renderer, 'text', 0); $tree->insert_column($column, 0); $column = new GtkTreeViewColumn(); $column->set_title('Column #2'); $cell_renderer = new GtkCellRendererText(); $column->pack_start($cell_renderer, true); $column->set_attributes($cell_renderer, 'text', 1); $tree->insert_column($column, 1); return $tree; } $hbox = new GtkHBox(true, 10); $hbox->pack_start(Create_TreeView()); $window->add($hbox); $window->show_all(); gtk::main(); ?>
« previous php.gtk.dev (#1754) next »