Since more than one column is changed, row-changed signal will be emitted
more than once and widgets will be updated more than once. But I just want
to update other widget once. This is why I want to know if it is possible
to know which column is changed in other email. But from your reply to my
other email, there is no way to know which column to change when
row-changed is emitted. Then I have to update widgets when cell of column 0
is edited or in other functions which result in the change in column 1~3
mentioned above.

As to GtkCellView, I have never used it. I have to read it first and then
see.


2013/5/4 <tristan.van.ber...@gmail.com>

>
> On 2013-05-04, at 7:00 PM, yu wu <vanii.wa...@gmail.com> wrote:
>
> 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.
>
>
> I see, well the most efficient way to handle your situation really depends
> on what you need.
>
> For your other display widgets, you might consider using GtkCellView (a
> widget for rendering a single row from a tree model), or like you mention
> in the other mail, you could listen to "row-chaned" and update all the
> widgets which need to display the changed row.
>
> You could also implement custom display widgets like GtkCellView, by
> keeping a GtkTreeRowReference, queuing a redraw when the row changes, and
> drawing the visual state based of the row data at "draw" time.
>
> 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?
>
>
> Don't worry about it, posts can't be "moved", just use the other lists
> next time ;)
>
>
> 在 2013年5月4日星期六,Tristan Van Berkom 写道:
>
>> On Sat, May 4, 2013 at 12:37 PM, yu wu <vanii.wa...@gmail.com> 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
>> > 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