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

Reply via email to