Fw: [PHP-GTK-DEV] Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides

From: Date: Fri, 04 Nov 2005 02:46:23 +0000
Subject: Fw: [PHP-GTK-DEV] Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides
Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-2053@lists.php.net to get a copy of this message
erm, attaching the attachment would've been smart... and all, note, this is _still_ with my unreviewed treepath patch. If that part doesn't work for you, just delete the related lines. ----- Original Message ----- From: "Steph Fox" <steph@zend.com> To: "Pablo Dall'Oglio" <pablo@dalloglio.net> Cc: "PHP-GTK dev" <php-gtk-dev@lists.php.net>; "Andrei" <andrei@gravitonic.com> Sent: Friday, November 04, 2005 2:39 AM Subject: Re: [PHP-GTK-DEV] Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides > OK, got it. iter_next() doesn't return an iter object, it returns a > _pointer_ to an iter object. So the code attached works, although the path > part probably won't. > > The question is - should it? > > It's perfectly normal to do something like this in GTK terms, but you're > probably right in that the return you expected in PHP terms is what should > be provided in PHP-GTK. > > Andrei - deliver a pronunciation on policy? > > nb it would be stupidly easy to make it the way Pablo thinks it should be. > It would take one line. > > - Steph > > ----- Original Message ----- > From: "Pablo Dall'Oglio" <pablo@dalloglio.net> > To: "Steph Fox" <steph@zend.com> > Cc: <php-gtk-dev@lists.php.net> > Sent: Thursday, November 03, 2005 5:10 PM > Subject: Re: [PHP-GTK-DEV] Re: [php-gtk-cvs] cvs: php-gtk > /ext/gtk+gtktreeview.overrides > > > > On Qui, 2005-11-03 at 17:07 +0000, Steph Fox wrote: > > > It _is_ working. It's get_value() that fails. And I still need Andrei > to > > > OK my treepath patch, too (get_path() probably doesn't work for you > either, > > > right?) > > > > I didn't try get_path() alone yet. > > > > Pablo > > > > > > > > ----- Original Message ----- > > > From: "Pablo Dall'Oglio" <pablo@dalloglio.net> > > > To: "Steph Fox" <sfox@php.net> > > > Cc: <php-gtk-dev@lists.php.net> > > > Sent: Thursday, November 03, 2005 11:23 AM > > > Subject: Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+ gtktreeview.overrides > > > > > > > > > > see the sample attached. Seems that iter_next() isn't working properly > > > > yet :-( > > > > > > > > regards > > > > Pablo > > > > > > > > On Qua, 2005-11-02 at 20:31 +0000, Steph Fox wrote: > > > > > sfox Wed Nov 2 15:31:32 2005 EDT > > > > > > > > > > Modified files: > > > > > /php-gtk/ext/gtk+ gtktreeview.overrides > > > > > Log: > > > > > GtkCellRenderer::get_fixed_size() and GtkTreeModel::iter_next() > > > > > > > > > > > > > > http://cvs.php.net/diff.php/php-gtk/ext/gtk+/gtktreeview.overrides?r1=1.21&r2=1.22&ty=u > > > > > Index: php-gtk/ext/gtk+/gtktreeview.overrides > > > > > diff -u php-gtk/ext/gtk+/gtktreeview.overrides:1.21 > > > php-gtk/ext/gtk+/gtktreeview.overrides:1.22 > > > > > --- php-gtk/ext/gtk+/gtktreeview.overrides:1.21 Sun Oct 30 17:08:08 > 2005 > > > > > +++ php-gtk/ext/gtk+/gtktreeview.overrides Wed Nov 2 15:31:32 2005 > > > > > @@ -13,6 +13,7 @@ > > > > > gtk_tree_path_* > > > > > %% > > > > > ignore > > > > > + gtk_cell_renderer_get_size > > > > > gtk_list_store_newv > > > > > gtk_list_store_set_valist > > > > > gtk_tree_row_reference_new_proxy > > > > > @@ -86,6 +87,24 @@ > > > > > } > > > > > %% }}} > > > > > > > > > > +%% {{{ GtkCellRenderer > > > > > +%% > > > > > +override gtk_cell_renderer_get_fixed_size > > > > > +PHP_METHOD > > > > > +{ > > > > > + int width, height = 0; > > > > > + > > > > > + NOT_STATIC_METHOD(); > > > > > + > > > > > + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) > > > > > + return; > > > > > + > > > > > + > > > > gtk_cell_renderer_get_fixed_size(GTK_CELL_RENDERER(PHPG_GOBJECT(this_ptr)), > > > &width, &height); > > > > > + php_gtk_build_value(&return_value, "(ii)", width, > > > > > height); > > > > > +} > > > > > + > > > > > +%% }}} > > > > > + > > > > > %% {{{ GtkListStore > > > > > %% > > > > > add-arginfo GtkListStore __construct > > > > > @@ -492,6 +511,7 @@ > > > > > > > > > > phpg_gboxed_new(&return_value, GTK_TYPE_TREE_ITER, &iter, TRUE, > > > TRUE TSRMLS_CC); > > > > > } > > > > > + > > > > > %% > > > > > override gtk_tree_model_get_value > > > > > PHP_METHOD > > > > > @@ -554,6 +574,34 @@ > > > > > } > > > > > > > > > > %% > > > > > +add-arginfo GtkTreeModel iter_next > > > > > +static > > > > > +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0) > > > > > + ZEND_ARG_INFO(0, iter) > > > > > +ZEND_END_ARG_INFO(); > > > > > + > > > > > +%% > > > > > +override gtk_tree_model_iter_next > > > > > +PHP_METHOD > > > > > +{ > > > > > + GtkTreeIter *iter; > > > > > + zval *php_iter; > > > > > + > > > > > + NOT_STATIC_METHOD(); > > > > > + > > > > > + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &php_iter, > > > gtktreeiter_ce)) > > > > > + return; > > > > > + > > > > > + iter = (GtkTreeIter *) PHPG_GBOXED(php_iter); > > > > > + > > > > > + if > > > (!gtk_tree_model_iter_next(GTK_TREE_MODEL(PHPG_GOBJECT(this_ptr)), > iter)) { > > > > > + RETURN_FALSE; > > > > > + } > > > > > + > > > > > + phpg_gboxed_new(&return_value, GTK_TYPE_TREE_ITER, &iter, TRUE, > > > TRUE TSRMLS_CC); > > > > > +} > > > > > + > > > > > +%% > > > > > override gtk_tree_model_foreach > > > > > > > > > > gboolean phpg_tree_model_foreach_marshal(GtkTreeModel *model, > > > > > > > > > -- > > > > :: Pablo Dall'Oglio > > > > :: www.solis.coop.br - Lajeado, RS - Brasil > > > > :: www.dalloglio.net - Personal Home Page > > > > :: The software is free, but the work isn't. > > > > > > > > > -- > > :: Pablo Dall'Oglio > > :: www.solis.coop.br - Lajeado, RS - Brasil > > :: www.dalloglio.net - Personal Home Page > > :: The software is free, but the work isn't. > > > > -- > > PHP-GTK Development Mailing List (http://gtk.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > ---------------------------------------------------------------------------- ---- > -- > PHP-GTK Development Mailing List (http://gtk.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

<?php class ExportarExcel { public $model; function __construct() { $this->model = new GtkListStore(Gtk::TYPE_STRING, Gtk::TYPE_STRING, Gtk::TYPE_STRING, Gtk::TYPE_STRING); $this->model->append(array(1, 'aaa1', 'aaa2', 'aaa3')); $this->model->append(array(2, 'bbb1', 'bbb2', 'bbb3')); $this->model->append(array(3, 'ccc1', 'ccc2', 'ccc3')); $this->model->append(array(4, 'ddd1', 'ddd2', 'ddd3')); $iter = $this->model->get_iter_first(); $path = ($this->model->get_path($iter)); print $path->to_string()."\n"; var_dump($this->model->get_value($iter, 0)); var_dump($this->model->get_value($iter, 1)); var_dump($this->model->get_value($iter, 2)); var_dump($this->model->get_value($iter, 3)); while ($this->model->iter_next($iter)) { $path = ($this->model->get_path($iter)); print $path->to_string()."\n"; var_dump($this->model->get_value($iter, 0)); var_dump($this->model->get_value($iter, 1)); var_dump($this->model->get_value($iter, 2)); var_dump($this->model->get_value($iter, 3)); } } } new ExportarExcel; ?>
« previous php.gtk.dev (#2053) next »