On Mon, Apr 2, 2012 at 10:41 AM, Tom Hacohen <tom.haco...@samsung.com>wrote:
> 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. > > Hey :) Thank you for taking a look, Tom. > 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. > > You're right. I'll try to summarize, with links to commits and code, the most crucial changes, soon. I just don't want to do it right now cause I'm tearing Elm's guts real hard yet, so just wait a little. Cheers, > -- > 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 > -- Gustavo Lima Chaves Senior Developer ProFUSION embedded systems http://profusion.mobi ------------------------------------------------------------------------------ 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