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

Reply via email to