On Mon, 3 Dec 2001, Juergen Vigna wrote: > > On 03-Dec-2001 Andre Poenitz wrote: > > > Does anything needs this kind of focus that is _not_ in immediate > > neighbourhood of the cursor? > > > > If so, why isn't the cursor used for such things? > > Because you could have the cursor before/after the inset but not be > "inside" the inset! This is mainly needed to draw the cursor in the > right position and second to send lyxfunc events to the right receiver!
blah |[inset] blah The cursor '|' position can't be used here? Why? If the lyxfunc requested is "open-stuff" then surely the inset on the right will be opened. If a redraw is required the fact that the inset is in the same row as the cursor should ensure the inset is redrawn. Even if the above were redone as: [some inset with multiple paragraphs blah |[inset] blah] Andre's cursor-as-a-stack implementation should work fine for this and would remove a bunch of stuff from the code too it would seem. In particular there would be no owner_ anymore as you can find out the owner by popping the cursor stack -- or walking down it anyway. If I move right I end up in the inset or step over it depending on whether its a collapsed inset or not. So where is the problem? Something like: blah [inset][inset]|[inset] perhaps? Or are you just thinking of insettabular and the no-mans-land between the cells? Then an insettabular::iterator should handle those more obtuse actions. If you have two cursors with one set to the first pos of an inset and the second set to the end of the same inset haven't you just selected the whole inset? So why do you need a no-mans-land to mark a whole inset? Allan. (ARRae)