Fw: [PHP-GTK-DEV] Re: [php-gtk-cvs] cvs: php-gtk /ext/gtk+gtktreeview.overrides
| From: | Steph Fox | 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; ?>
<?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; ?>