On Dec 1, 2007 10:57 AM, Junior Polegato - GTK+ & GTKmm < [EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] escreveu: > > On 12/1/07, digicapt - gtk dev <[EMAIL PROTECTED]> wrote: > > > >> If you try following code, you'll see that filling a container with > 4000 > >> entries (first button) is about 20 times slower than filling a > container with > >> 4000 labels (second button) : 1 seconds for labels on my PC, 20 seconds > for > >> the edits. > >> > > Entries are just much, much more complicated. Creating 4000 edit > > widgets is always going to be slow. > > What you need to do is use a treeview instead, and have a editable as > > a cell renderer. Now it will display like a label (it should be even > > quicker than the label case), but when you click on an item, it will > > turn into an edit widget for the time that you are using it. > > Read about it here: > > http://library.gnome.org/devel/gtk/unstable/TreeWidgetObjects.html > > John > > Hi, > > You can use this technical: insert the labels with formatation > like edit and control the mouse click and the tab key. > A Treeview is really what you will be wanting here, the question is answered but I just wanted to add; Allocating a widget is effectively allocating screen realestate - you dont want to go overboard with how many actual widgets you are allocating for data display (if you can only see 10 rows of data entry widgets, you should be able to use a scrollbar just to change the data that those widgets are displaying/editing, its not effective to allocate 10,000 rows of label, button, entry etc and just put into a scrolled window, even if this evil sounds a bit tempting ;-) ). Treeview widgets try to make this task effective and optimized for displaying/editing dynamic and potentially huge datasets, in some cases you might want to use widgets instead and just update the contents - depending on what visual effect you want to achieve or how huge your dataset can potentially be. Cheers, -Tristan
_______________________________________________ gtk-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtk-list
