As I wrote in my original email, the renderer is ** not ** set editable.
Therefore, it can't be connected to ** edited ** signal.

Here is the situation for example. Renderer 1 -- column 0 is set editable.
Renderer 2-4, i.e., column 1-3, is not set editable. When column 0 is
edited, the value of column 1 is set. As to the values for column 2-3, they
are set by other functions. Then I would like to capture the changes of
column 1-3. After I get the changes, some other widgets (inside treeview or
outside treeview) will be updated.

By the way, I don't know the difference between gtk-list and
gtk-devel-list. Now I know it. Could you or someone tell me how to move
this post to gtk-list?

在 2013年5月4日星期六,Tristan Van Berkom 写道:

> On Sat, May 4, 2013 at 12:37 PM, yu wu <vanii.wa...@gmail.com<javascript:;>>
> wrote:
> > I am using the followed to renderer text in cells:
> >
> > ++++++++++++++++++++++++
> >
> >   renderer = gtk_cell_renderer_text_new();
> >   column = gtk_tree_view_column_new_with_attributes((local = char_to_utf8
> > ("weight(kg/m)")), renderer, "text", MEM_SEC_WEIGHT_PER_METER, NULL);
> >   g_free(local);
> >   gtk_tree_view_append_column(treeview, column);
> >
> > ++++++++++++++++++++++++
> >
> > I don't set `editable' attribute for the renderer. The value for
> specified
> > cell is set by
> >
> > other sub-function. Then how can I get the `changed' signal for the
> > specified cell when its
> > value is changed? My purpose is to update other widget when text value in
> > cell is changed.
> > For the text cell renderer, it only has edited signal that is not useful
> for
> > my case
>
> How come the "edited" signal is not useful ?
>
> You want to catch *every* change while the user is editing a cell ?
>
> This can be done, but it kind of changes the way cell editing usually
> works, i.e. pressing escape, or losing editor focus while editing a text
> cell is generally supposed to "cancel" the current edit, hence usually
> you wait until the "edited" signal is fired in order to commit any changes
> to the underlying model.
>
> If you need to handle every keystroke, then connect to the
> "editing-started"
> signal of a GtkCellRendererText for example, the GtkCellEditable widget
> will
> in this case be a GtkEntry (which will exist for the duration of the
> edit), then
> you can connect to the "changed" signal of this entry.
>
> Note also, this list is about development of GTK+ itself, you should direct
> your questions about using GTK+ to gtk-app-devel-list instead.
>
> Cheers,
>        -Tristan
>
> > (or maybe I misunderstand some points). When some cell is changed, it
> might
> > have no
> > any selection. That's, the `changed' signal for selection has no use
> here.
> >
> > Please help.
> >
> > _______________________________________________
> > gtk-devel-list mailing list
> > gtk-devel-list@gnome.org <javascript:;>
> > https://mail.gnome.org/mailman/listinfo/gtk-devel-list
> >
>
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to