[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Using 'set-cell-data-func' to transform model-data->cell-renderer
From: |
Diogo F . S . Ramos |
Subject: |
Using 'set-cell-data-func' to transform model-data->cell-renderer |
Date: |
Tue, 08 Mar 2011 23:03:38 -0300 (BRT) |
I'm trying to use 'set-cell-data-func' to control how the data from a
gtk-store-model is displayed in a gtk-tree-view.
Everything works normal when I use 'set-attribute' to map a model
column to the "text" field of a gtk-cell-renderer-text.
When I use 'set-cell-data-func' however, apparently the function never
returns, not even showing the gtk-window.
There is a sample program below that shows this behavior.
I'm using guile version 1.8.7 with guile-gnome 2.16.1.
I don't know if I'm using the library wrong or if this is a bug.
#!/usr/bin/guile \
-e main -s
!#
(use-modules
(oop goops)
(gnome-2)
(gnome gtk)
(gnome gobject)
(gnome gobject generics)
(gnome gobject utils))
(define (main args)
(let* ((win (make <gtk-window>
#:type 'toplevel
#:default-width 200
#:default-height 200))
(model (gtk-list-store-new (list <gchararray>)))
(view (make <gtk-tree-view> #:model model))
(col (make <gtk-tree-view-column> #:title "foo"))
(cell (make <gtk-cell-renderer-text>)))
(append-column view col)
(pack-start col cell #f)
;; It doesn't work with this
(set-cell-data-func
col cell
(lambda (col cell model iter)
(set cell 'text "foo")))
;; It works with this
;; (add-attribute col cell "text" 0)
(set-value model (append model) 0 "foo")
(set-value model (append model) 0 "foo")
(connect win 'delete-event (lambda (b c) #f))
(connect win 'destroy (lambda (b) (gtk-main-quit)))
(add win view)
(show-all win)
(gtk-main)))
--
Diogo F. S. Ramos
- Using 'set-cell-data-func' to transform model-data->cell-renderer,
Diogo F . S . Ramos <=