22/09/2013 10:50, Hashini Senaratne:
As I see, void InsetTabular::cursorPos is the place where modify the cursor
position within tables. By disabling resetPos(...) what we do is keep scx_
at 0 and do not update the cursor x position using scx_. If we disable
resetPos(...) and try adding text to a already wide cell where the table is
in a scrolled position, table slightly scrolls without going into the
conditions we created in BufferView::checkCursorLeftEdge to change the left
edge.
So, it seemed like there is some other place which handles scrolling of a
table. However as I can see resetPos() only does calculations for scx_.
Where does the scrolled row is drawn? Is there any other place which updates
the x value used to draw in draw method in BufferView? I mean, tables get
scrolled before our implementation for horizontal scrolling using a variable
for left edge.
Dear Hashini,
I see the problem now, but I really have no idea about what happens.
Note that everything is OK when one enters an inset (note, ERT, ...).
JMarc