Re: [ROOT] How to display a large table in a TGFrame?

From: Brett Viren (bv@bnl.gov)
Date: Thu Feb 13 2003 - 21:01:41 MET


cstrato writes:
 > 
 > I would like to display a table and scroll through a
 > table in a TGFrame in a spreadsheet-like form. The size
 > of the table should be e.g. 100,000 rows and 500 columns.
 > 
 > Is it possible to implement this?
 > Is it possible to use TGTableLayout for this purpose?

As far as I know, there are no explicit limits on the table size a
TGTableLayout can handle.  Looking back over the code seems to confirm
this.  Although, it does need to know its table size at construction
time which may not be desirable.

I would worry more about the layout speed with that many cells.  This
code was largely stolen from Gtk+'s table widget which is intended
more to layout GUIs of relatively few cells.  Also of note, GtkTable
was not chosen to layout the spreadsheat in Gnumeric, instead a custom
widget was used.  This may or may not be telling of some deficiency.

I'd suggest just writting a little test code that adds a frame with a
TGTableLayout into a TGCanvas.  The TGCanvas provides the scrolling.
Then fill the table with a bunch of other frames, maybe just buttons
or labels and see how it works.

If TGTableLayout is indeed too slow, you might try writing a simpler
version which doesn't support cells spanning more than one row/column.
Also, TGTableLayout optimizes the spacing, whereas spreadsheat table
row/column sizes are usually forced by the user.  Maybe TGMatrixLayout
would be worth looking at?

-Brett.



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET