On Thu, 9 Jul 2015 10:20:55 -0400 Toan Pham <[email protected]> said:
> Hi, > > I have not used EFL before but have a good understanding how it works in > general. I've been mucking around with the "terminology" application for > two reasons: > > 1. Understand to use the framework better. > 2. Add new features/enhancements to terminology > > > One thing that I am struggling is the overall understanding of the all > data-structures; unlike Qt/C++, it is just a little bit harder for the > programmer to understand and navigate between the many different > data-structures. > > One simple example of what I am talking about is this: object reference of > Term_Container to a win evas_object: > > term_container->wn->win > > Let's say if I have a pointer to an evas_object (term_container->wn->win), > how do I get a reference to the term_container (term_container)? > > In the Linux kernel, nested objects can be dereferenced from > child-to-parent using the container_of() function. I am curious if EFL has > similar support to navigate between different data-structures. > > Also, some common data structures such as "term, win, tabs etc..." are > defined in src/bin/win.c but they have typedef definitions src/bin/win.h. > Would it be better to move all common data-structures to the header file > @src/bin/win.h? those structures have nothing to do with efl. it's simply how terminology arranges it's data. it's not some efl-wide concept or way of working. there are objects in efl. but these structures are not objects. they are simply some structs used to contain data and mange app specific information. that's all. so looking at these and going "hey - this is efl" isn't valuable. it's terminology. the evas objects are actual objects. you can get parents of them etc. we have formalized that even more in current efl with eo. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ enlightenment-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
