[pygtk] Scrolling to the previous position in a TreeView

Lionel Dricot zeploum at gmail.com
Fri Jan 30 18:05:09 WST 2009


Thanks for the reply.

I've tested, without success, the
self.treeview.get_vadjustment().set_value(value).


Maybe, indeed, I should add a small delay. I will test that but I don't
understand why it would change something. Is there a reason why it doesn't
work without a delay ?


On Fri, Jan 30, 2009 at 1:07 AM, Neil Dugan
<pygtk at butterflystitches.com.au>wrote:

> Lionel Dricot wrote:
>
>> Hello,
>>
>> I'm displaying a treeview in my application and I update the content by
>> creating a new treestore and then, once the treestore is create, I replace
>> the old one with set_model.
>>
>> Unfortunatly, the scroll position is not preserved and, at each refresh,
>> the
>> scroll go back to the top of the page.
>>
>> I thought that it would be as simple as :
>>
>> vadjust = self.treeview.get_vadjustment()
>> ...
>> refresh
>> ...
>> self.treeview.set_adjustement(vadjust)
>>
>> But it doesn't work at all.
>>
>> I've tried to set the value of vadjust, it has no effect.
>>
>> What is strange is that if at any point I do a
>> self.treeview.get_vadjustment().get_value(), I have the good value for the
>> scrolling ! So the adjustment is good.
>>
>> But then, why does my tree scroll to the top at each refresh ?
>>
>> Can anybody help me ? How do you do when you want to keep a scrolled
>> position ?
>>
>> Thanks,
>>
>> Lionel
>>
>>
>>
> Sometimes I find that a small delay helps.
>
> # untested code
> gobject.timeout_add(100,
> self.treeview.get_vadjustment().set_value(old_value))
>
> The users wont notice a 1/10 second delay.
>
> Regards Neil.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.daa.com.au/pipermail/pygtk/attachments/20090130/e20f21b0/attachment.htm 


More information about the pygtk mailing list