I am developing on tree to make it work like a DBGrid, But i run into
problem of HScroll function.
OS:Win XP SP2;
XulRunner:Latest trunck 1.9 alpha
Problem:
When the width of the tree is set to be smaller than the total width of
columns, the HScrollbar appears, BUT, when i scroll to the right,the cells
are NOT painted and the GetCoordsForCellItem return a wrong result.
I tried to debug the XULRunner, and found the CalcColumnRect in
nsTreeBodyFrame.cpp goes wrong when there is a HScroll(mHorzPosition>0).
This results in PaintCell NOT called in PaintRow.
My Questions Are:
1. Should mInnerBox.x be always zero even after a HScroll?
2. Should we change the code in CalcColumnRect like
rect.width = PR_MAX(0, PR_MIN(rect.width, mInnerBox.width - rect.x +
mHorzPosition));
3. The "X" returned by GetCoordsForCellItem is relative to x1 or x2 after
scroll?
|<----mHorzPosition------>|<-------------Viewport------------->|<---Invisible
cells--->|
|<----mHorzPosition------>|<----->|<-----Cell Width----->|<--->|
|<---------------x1-------------->|<-----Cell Width----->|<--->|
|<------------------------|<-x2-->|<-----Cell Width----->|<--->|
Thanks for any hint.
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout