Re: big treeviews on win32



Allin Cottrell writes:
 > On win32 (same machine, same source code) I can't scroll beyond row 
 > 1800 or so, and the scrolling behavior is strange/unstable. 
 > Sometimes I'll get a big blank area; sometimes the scrolling stops 
 > at row 800 or so.

 > Is this a known issue?

Could be, this might be the same "big window" issue recently brought
up in another message to me, which I replied to in
http://mail.gnome.org/archives/gtk-devel-list/2005-February/msg00040.html:

   > Gnumeric's win32 port is hitting the window size limits as soon as
   > we scroll 900 or so lines.  The limit also plays havoc with our RTL
   > support.  Do you have any ideas on if/when large windows will be
   > supported, or is this a 'patches would be nice' situation.

  This is a "forgetting Win9x would make things much easier"
  situation... 

[ patches would indeed be nice, too ]

  On NT-based windows the window dimension limits are quite
  high. Don't remember exactly, and can't find quickly on Google, but
  at least it is in the 24 bit range, or maybe even close to full
  signed int range. On Win9x it is 32678.

  Currently there are some (unfinished, resumably broken) attempts in
  the Win32 GDK backend to use similar hacks for large windows and
  guffaw scrolling as in the X11 backends. It would be much simpler to
  bin all that, and just create windows as large as necessary. Hmm.

  As the current code presumably is broken anyway on both modern
  Windowses and Win9x, we wouldn't lose any functionality if it was
  made to work on NT-based Windows, and would continue not working on
  Win9x. I think I'll do that...

Which I did, I attempted to remove the code so lovely copy-pasted from
the X11 backend, and just use full int window sizes/coordinates on
Win32. But it was not entirely trivial after all, I didn't get it
working that night, and need to finish it some other day. I remember
starting to wonder whether using ScrollWindowEx(...,
SW_SCROLLCHILDREN) as it currently does actually is the Right Thing or
not. Probably need some experimentation.

If somebody else feels like having a go, please do, and keep the list
informed. It should be prettty obvious, from a high-level point of
view, what to do. The devil is in the details. Mail me if you want the
diffs of how far I got in an evening.

Or, if somebody wants to really make the 16-bit cordinates limited X11
backend inspired code work instead, that would be cool, too. Then big
windows would work on Win9x, too.

--tml





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]