|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2011-03-06 16:21 UTC] ptlis at ptlis dot net
Description: ------------ The changed signal should provide a GtkTreeIter as documented here: http://library.gnome.org/devel/gtk/stable/GtkCellRendererCombo.html#GtkCellRendererCombo.signal-details Without this parameter passed to callbacks there is no sane mechanism to get data from other columns in the GtkListStore. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 07 06:00:01 2025 UTC |
Basic test case of what should occur: <?php class test { protected $str; public function __construct($str) { $this->str = $str; } } $window = new GtkWindow(); $window->set_size_request(400, 400); // Tree Model $treeModel = new GtkTreeStore(GObject::TYPE_STRING); $treeModel->append(null, array('foo')); // Tree View $treeView = new GtkTreeView(); $treeView->set_model($treeModel); $window->add($treeView); // Combo Model $comboModel = new GtkListStore(GObject::TYPE_STRING, GObject::TYPE_PHP_VALUE); $comboModel->append(array('foo', new test('foo'))); $comboModel->append(array('bar', new test('bar'))); $comboModel->append(array('baz', new test('baz'))); // Combo renderer $renderer = new GtkCellRendererCombo(); $renderer->set_property('model', $comboModel); $renderer->set_property('text-column', 0); $renderer->set_property('editable', true); $renderer->set_property('has-entry', false); $column = new GtkTreeViewColumn('column:', $renderer, 'text', 0); $treeView->append_column($column); $renderer->connect('edited', 'combo_change'); function combo_change(GtkCellRendererText $cell, $path, $selectionText/*, GtkTreeIter $treeIter*/) { /* $class = $cell->model->get_value($treeIter->iter, 1); */ echo 'changed' . "\n"; } $window->show_all(); Gtk::main();