On Sat, Feb 23, 2013 at 9:39 AM, John Tall <[email protected]> wrote:

> However, every now and then the progress bars has to be updated and
> this is where I don't follow. I don't get how I should do to properly
> update the value of a specific row.
>

I would put a pointer to your job object in the TreeModel set up a
Glib::signal_timeout. In the timeout, iterate through your treemodel and
use
iter->get_value(columns.job)->get_progress();

Be sure to disconnect the signal_timeout when there are no jobs in progress.
And you should only have one of these timeouts, even if you have several
jobs
running.

Using signal_timeout for updating progress bars usually results in a much
smoother looking result--especially in this case, where you do have to
iterate
through on average half the treemodel for each update. Its up to you to
choose
a sensible period. 50 ms might be sensible for a job that completes in
under a
minute. Using signal_timeout().connect_seconds() might be more reasonable if
you're sure it will take more than a minute.
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to