Hello Jean-Marc,

Now it seems like most of the bugs are fixed with keyboard based solution.

*Selecting a different position in an already slid row
*Selecting a range of text in an already slid row
*Behaviour related to Home and End keys

Above features seems to work well in this commit:
http://git.lyx.org/?p=gsoc.git;a=commitdiff;h=ab23da89b5090f1cd8881335096a2be308da1650

As &row do not give the expected row address in checkCursorLeftEdge() method
in BufferView when selecting certain positions in Math inset using the mouse
pointer, above first two bugs caused. Here the row is defined as,
Row const & row = cur.bottomRow();
At this situation the wideRow is differs from current_row_ in setCurrentRow
method in Cursor.cpp. As we call that method as,
        // Set the row on which the cursor lives.
        cur.setCurrentRow(&row);
Here the left_edge_ gets set to zero (0). 
Because of that, the left_edge value we use for calculation is wrong. I
tried in several ways to fix this, but failed most of the times as I could
not fix the &row value to the correct value. I think this is same as the
cur_x problem that we had earlier. So I avoided setting left edge to 0 in
setCurrentRow implementation.

The major thing I am suffering now is the behaviour of the vertical scroll
bar. I doubt, whether a code segment of this project, created the abnormal
behaviour. Try scrolling down using vertical scroll bar in changesNeeded.lyx

Could you please advice me on the next steps. Is the current implementation
is good enough to move to the next stage (GUI based scrolling).

Thanks
Hashini

Reply via email to