Alfredo Braunstein wrote:

> Richard Heck wrote:
> 
>> there before, if it is there now. I'm still not sure I understand these
>> ParIterators---though thanks for the earlier info---so if you want to
> 
> 
> Just to add something to JMarc's explanation (and because they it is said
> that a picture is worth at least 10^3 words) I'm attaching a diagram.
> 
> This pictures a somewhat simple situation (It doesn't have multiple
> paragraphs, nor multiple idx inside one inset, but one could say that
> these are details ;-).
> 
> The stack of greyed nodes form a DocIterator pointing to the cursor
> position (before the D), and DocIterator::forwardPos should move
> "logically" between nodes in the tree exactly as cursor-right in the lyx
> window, in this order:
> 
> Inset0, A, Inset1, B, Inset3, C, END3, END1, Inset2, Inset4, D, Inset5, E,
> END5, F, END4, END2, G, END0

In case someone wonders, Inset0 is the root inset, which is a member of
Buffer::Impl (in Buffer.cpp). Actually there is a small exception and the
Inset0 node is not a valid cursor position (even if you can build a
DocIterator "pointing there"). 

(thanks Pavel)

A/


Reply via email to