Re: Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides

From: Date: Fri, 04 Nov 2005 02:39:41 +0000
Subject: Re: Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides
References: 1 2 3 4  Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-2052@lists.php.net to get a copy of this message
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 >

« previous php.gtk.dev (#2052) next »