To do              
---------------------------------

- add scrolling during moving cursor left/right when selectRow is true
- modify GSort to use stable sort (faster?)
- optimize resizeing in absolute mode (more than 10.000 rows)
- many Hide/Show in proportional mode for the same column cause it's getting smaller and smaller
- fix selecting proper column index during moiving columns when some columns are hidden
- optimized version of SyncCtrls (yep, over 1000 rows there are performance problems)

- merged cells

Done
---------------------------------

- when edits are visible switching off/on indicator make their positions incorrect
- tab/shift+tab does not store the new cell value -> done
- focus is not restored after moving column/row -> done
- port to linux -> almost done
- when line resizing mode is set and user is resizeing columns and scrollbar suddenly appears
  line isn't cleared correctly
- Hide doesn't update scrollbar total size
- SetRowHeight should not call directly lh.Recalc, it should set lh.ready to false
- add update of first/last/vis/col/row in SetFixedCols(), SetFixedRows()



Polish
---------------------------------

gdy czesc kolumn jest ukryta problem przy ctrl->up/down (a selekcje??)

SetCursor sie wywala jesli do gridu dodalo sie wiersz ale nie ma dodanej kolumny (w arrayctrl taka
kombinacja dziala)

czy remove(n) powinno ustawiac kursor na komorce wyzej?? (arrayctrl tak robi)

jak jest wlaczony droplist i zmieni sie w nim wartosc i nacisnie sortowanie to dokonuje sie ono po
niezmienionych wartosciach items (a powinno po widocznych w kontrolce).
Wyjscie: albo zabronic sortowania w takim przypadku, albo na chwile zaakceptowac wartosc z kontrolki
posortowac o podmienic na stara.

gdy np sa dwie pierwsze wiersze w trybie read-only i nizej jest aktywna kontrolka i nacisnie sie pageup
to kursor nie zmienia pozycji (bo tam gdzie chce skoczyc jest read-only) a powinien sie ustawic na pierwszej edytowalnej
komorce

double click na kolumnie z checkboxem w row edit mode powoduje dziwne rzeczy.
