On Sun, 10 Nov 2013 17:09:31 -0500 Robert Heller <[email protected]> said:
> In the enlightenment sources there seem to be at least two (and sometimes > *three*) different(?) ways of doing some things. For example for tables: > > e_table_add() + e_table_pack() > e_widget_table_add() + e_widget_table_object_append() > evas_object_<mumble>_add() + edje_object_part_table_pack() > > There are several other 'widget' or widget-like things that are this way > (such as e_box() and edje_object_part_box_append()). > > When does one use which? And why use one method vs. one of the other methods? > Which is prefered? And why? e_table is the internal "raw" smart object implementation that e_widget_table wraps. the widget will set min size hints on itself etc. etc. but e_table doesn't (you can ask it to caluclate them). the widget also auto-deletes children - e_table orphans them (they get unparented and float about). so widgets add policy. they query min width/height of children before packing them in etc. etc. the edje stuff uses edj's very simple table handling - it's fairly limited and buried inide of edje - the table description and conrol are in the hands of the edj data file and thus descinger/theme not in the hands of the programmer, unlike the above objects. so what you see there are the layers things are built out of as well as data/look abstractions. note that e_table pretty much pre-dates everything else - including tables in edje, the widget wrapper, evas's table smart obj and elm table. it's ooooooooooooooooooold. as time goes on we'll be nuking the e_widget* stuff and eventually the smart objects underneath (e_table, e_box etc.) and just use elm. as of e18 elm is a requirement for e and provides what you probably are familiar with or looking for - a widget set. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
