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

Reply via email to