Re: Fixing the GtkTreeModel::row-deleted inconsistency



On Thu, May 10, 2007 at 07:05:05PM -0500, Federico Mena Quintero wrote:
> So in general
> 
> - A node is referenced if it is within the scrolled-in area of the view.

No, these references have nothing to do with the scrolled-in area of the
view...

> - A node is referenced if it is expanded, even if it is not within the
> scrolled-in area (i.e. everything which the rbtree mirrors is reffed).

Yes, and the "invisible root node" is always expanded, so all toplevel
nodes are always reffed.  The toplevel nodes are all mirrored by the
rbtree.

> [Humm, toplevel nodes are always in the rbtree, I think.  Does this mean
> that all toplevel nodes are always reffed?]

Yes.

> I'd love to watch a little toy model that just keeps an int for each
> node, and printf()s the references for each node as they change.  Then
> you could see if scrolling the view up and down indeed keeps only the
> required nodes reffed --- this would be good evidence that you can
> indeed implement a model which doesn't have all its data exploded in
> memory all the time.

I think it would be nice to have a mechanism for models to know which
rows are currently visible, and which are not, in the future.

(Maybe something like a "visible-window-of-rows-changed" signal with a
new begin and end row... but just brainstorming here now.)


regards,

-kris.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]