Hey! I tried taking a look, but as one would expect and you said, the diff is huge. Looking at specific files it looks solid, but it's hard to judge without diving in deep which will take me time I don't have atm. I also read the docs you linked here, but they are general, so again, I can't comment without diving into the code.
Obviously, merging similar code paths, removing code duplication and etc are important and make the code easier to work with, easier to maintain and less likely to get bugs. Can't you share a bit of information regarding the lines of codes this saved us in specific widgets? That's a good indication to the amount of code we now share. -- Tom. On 23/03/12 23:04, Gustavo Chaves wrote: > Hi, folks. > > As a few people already know, ProFUSION is working on changing Elementary's > internal widgets structure. The work aims to provide type inheritance and > interfaces on widget creation. This will bring a great deal of code > factorization, easing maintainability and pushing for code reuse. Also, > making new widgets will be a lot less cumbersome, if common behavior is > shared with any of the pre-existent ones. > > I've made public a git repo with my code, rebased with SVN HEAD as of > today, for public try/analysis: > http://git.profusion.mobi/cgit.cgi/glima/elementary/ > > A basic explanation of the idea on this refactoring can be found at: > http://people.profusion.mobi/~glima/elm/group__Widget.html > > We created a base Elementary class, to aggregate common functionality all > widgets must have. On top of that, we have already created one > specialization: the layout. Besides being the code-base for the layout > widget, itself, it serves for whichever widget is just some visual > presentation (thus, a layout), with simple logic on top which is very > specific to it -- button is an example. > > Other ones will come, be it in the form of (smart) classes or interfaces -- > scroller, for example. > > I can still edit those commits, so don't expect them to land as is. > Especially, I'm still trying to factorize more code into the layout -- > sizing routines, for instance. > > There are a bunch of widgets translated to the new schema. Because their > diff would be huge/messy anyway, I didn't take care of having a minimal > diff on them, like on the infrastructure commits. Testing, comments, > patches, all welcome, of course. > > After we hit Elm's release, those patches will land upstream. > > Cheers, > ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel