Re: [E-devel] Clipped Smart Object draft

2008-09-06 Thread Gustavo Sverzut Barbieri
It's in SVN now.

On Mon, May 26, 2008 at 1:53 PM, Kenneth Christiansen
[EMAIL PROTECTED] wrote:
 I guess that if it is not in evas, people wont really use it, either
 because they don't know about it
 or because they don't like adding yet another library.

 Kenneth

  No radical changes? Well that certainly puts a damper on things
 Gustavo.. where's the fun in that? :) Ok, I took a look at your
 ehelpers/evas_object_smart_clipped.[ch] and that's definitely not
 radical.

  On a more serious note: If you're not going to really extend
 evas per-se, just add some convenience constructs for dealing with
 'common' kinds of smart objects, then why put this into evas?
  Why not add it to the esmart lib instead, that's a lib that's
 used for exactly these kinds of things (it has many useful kinds of
 smart classes for various things - more should be added).



 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel





-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-20 Thread Gustavo Sverzut Barbieri
On Tue, May 20, 2008 at 12:10 AM, Jose Gonzalez [EMAIL PROTECTED] wrote:
   Gustavo wrote:

 Anyone else looked at this? May I add the clipped smart object (no
 layout stuff!) to evas? I can add some docs and even change basic
 smart object to refer to this one for simple implementations.



  For those who are irc challenged, maybe you could give a short
 overview of what it is this is supposed to help address, why it should
 be 'added' to evas, etc. :)

It's just a way to help implementation of smart objects. Most common
use smart objectcase: create an internal clipper, clip every child to
it, move will move children relatively to parent,
clip/clip_unset/color/show/hide will all go to the internal clipper.
Resize is undefined.

What this code provide is this set of default method implementation
and an easy to extend base class, just do like in the examples and
provide your own methods (be it constructor or resize or show... you
name it), which can call the parent. I exposed all the base methods to
make it easier to use, one can override show() to do fancy stuff and
still call the original to do real work, this could be done
differently, having users to copy (ie: parent_class) Smart_Class after
evas_object_smart_clipped_smart_set()

Why should it be added to Evas: because it's very simple, it's useful
and can serve as base for other things.

Actually the idea of such component was born while I was teaching INdT
guys and after documenting that you should always do the same stuff
for most of methods I opted to add such default implementation and
errors went down by a huge factor... actually nowadays it's hard to
find a good case to use plain smart object itself.

Al, one of things that I failed to figure in the past why show, hide,
color_set, clip_set and color_set are ALL marked as DELETE ME. I don't
remember for sure, but I think it was rephorm that did say that the
common use case is like that and maybe these methods would be replaced
with this default implementation only. So it's a good thing in that
direction.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-20 Thread Jose Gonzalez

 Anyone else looked at this? May I add the clipped smart object (no
 layout stuff!) to evas? I can add some docs and even change basic
 smart object to refer to this one for simple implementations.

   
  For those who are irc challenged, maybe you could give a short
 overview of what it is this is supposed to help address, why it should
 be 'added' to evas, etc. :)
 

 It's just a way to help implementation of smart objects. Most common
 use smart objectcase: create an internal clipper, clip every child to
 it, move will move children relatively to parent,
 clip/clip_unset/color/show/hide will all go to the internal clipper.
 Resize is undefined.

 What this code provide is this set of default method implementation
 and an easy to extend base class, just do like in the examples and
 provide your own methods (be it constructor or resize or show... you
 name it), which can call the parent. I exposed all the base methods to
 make it easier to use, one can override show() to do fancy stuff and
 still call the original to do real work, this could be done
 differently, having users to copy (ie: parent_class) Smart_Class after
 evas_object_smart_clipped_smart_set()

 Why should it be added to Evas: because it's very simple, it's useful
 and can serve as base for other things.

   

  It's definitely useful to have such a ready-made simplifying
smart-class construction mechanism that could be 'overriden' - and
if you could couple that with some kind of object system for smart
data it might even be close to some aspects that the gui toolkits
already have. ;)

  But I'm not sure what you're proposing about doing with it in
evas itself..? Do you want to add a new 'clipped smart' object type,
or do you want to re-do the current smart stuff so that they have
default internal implementations for these smart functions but if
the functions are user-specified, then those are used rather than
the built-in default ones.. or something of that sort, or what?


 Actually the idea of such component was born while I was teaching INdT
 guys and after documenting that you should always do the same stuff
 for most of methods I opted to add such default implementation and
 errors went down by a huge factor... actually nowadays it's hard to
 find a good case to use plain smart object itself.

 Al, one of things that I failed to figure in the past why show, hide,
 color_set, clip_set and color_set are ALL marked as DELETE ME. I don't
 remember for sure, but I think it was rephorm that did say that the
 common use case is like that and maybe these methods would be replaced
 with this default implementation only. So it's a good thing in that
 direction.

   
  I've been one who's pointed out issues with these in the past
as well, but the truth is that evas is not quite done with exploring
those things in full and it may well be that one could want to have
other implementations of such methods, or at least 'override' whatever
the default ones were.. so it may not be wise to remove them altogether,
no matter what jose, rephorm, raster, others may have said in the past
:)




-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-20 Thread Gustavo Sverzut Barbieri
On Tue, May 20, 2008 at 3:37 PM, Jose Gonzalez [EMAIL PROTECTED] wrote:

 Anyone else looked at this? May I add the clipped smart object (no
 layout stuff!) to evas? I can add some docs and even change basic
 smart object to refer to this one for simple implementations.



 For those who are irc challenged, maybe you could give a short
 overview of what it is this is supposed to help address, why it should
 be 'added' to evas, etc. :)


 It's just a way to help implementation of smart objects. Most common
 use smart objectcase: create an internal clipper, clip every child to
 it, move will move children relatively to parent,
 clip/clip_unset/color/show/hide will all go to the internal clipper.
 Resize is undefined.

 What this code provide is this set of default method implementation
 and an easy to extend base class, just do like in the examples and
 provide your own methods (be it constructor or resize or show... you
 name it), which can call the parent. I exposed all the base methods to
 make it easier to use, one can override show() to do fancy stuff and
 still call the original to do real work, this could be done
 differently, having users to copy (ie: parent_class) Smart_Class after
 evas_object_smart_clipped_smart_set()

 Why should it be added to Evas: because it's very simple, it's useful
 and can serve as base for other things.



 It's definitely useful to have such a ready-made simplifying
 smart-class construction mechanism that could be 'overriden' - and
 if you could couple that with some kind of object system for smart
 data it might even be close to some aspects that the gui toolkits
 already have. ;)

 But I'm not sure what you're proposing about doing with it in
 evas itself..? Do you want to add a new 'clipped smart' object type,
 or do you want to re-do the current smart stuff so that they have
 default internal implementations for these smart functions but if
 the functions are user-specified, then those are used rather than
 the built-in default ones.. or something of that sort, or what?

just check ehelpers/evas_object_smart_clipped.[ch], they should go to
evas/src/lib/canvas (and .h to Evas.h)

no radical change, it's just an extensible way on top of what we have
now, that I really feel is enough for our case: you can _VERY_ easily
integrate that with other object systems. I did that for Python-EFL.


 Actually the idea of such component was born while I was teaching INdT
 guys and after documenting that you should always do the same stuff
 for most of methods I opted to add such default implementation and
 errors went down by a huge factor... actually nowadays it's hard to
 find a good case to use plain smart object itself.

 Al, one of things that I failed to figure in the past why show, hide,
 color_set, clip_set and color_set are ALL marked as DELETE ME. I don't
 remember for sure, but I think it was rephorm that did say that the
 common use case is like that and maybe these methods would be replaced
 with this default implementation only. So it's a good thing in that
 direction.



 I've been one who's pointed out issues with these in the past
 as well, but the truth is that evas is not quite done with exploring
 those things in full and it may well be that one could want to have
 other implementations of such methods, or at least 'override' whatever
 the default ones were.. so it may not be wise to remove them altogether,
 no matter what jose, rephorm, raster, others may have said in the past
 :)

i'm fine with leaving them there, but if people can just avoid using
it, we can check if there is any use case left in future and if not,
maybe drop it.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-20 Thread Jose Gonzalez
   Gustavo wrote:

 It's definitely useful to have such a ready-made simplifying
 smart-class construction mechanism that could be 'overriden' - and
 if you could couple that with some kind of object system for smart
 data it might even be close to some aspects that the gui toolkits
 already have. ;)

 But I'm not sure what you're proposing about doing with it in
 evas itself..? Do you want to add a new 'clipped smart' object type,
 or do you want to re-do the current smart stuff so that they have
 default internal implementations for these smart functions but if
 the functions are user-specified, then those are used rather than
 the built-in default ones.. or something of that sort, or what?
 

 just check ehelpers/evas_object_smart_clipped.[ch], they should go to
 evas/src/lib/canvas (and .h to Evas.h)

 no radical change, it's just an extensible way on top of what we have
 now, that I really feel is enough for our case: you can _VERY_ easily
 integrate that with other object systems. I did that for Python-EFL.
   

  No radical changes? Well that certainly puts a damper on things
Gustavo.. where's the fun in that? :) Ok, I took a look at your
ehelpers/evas_object_smart_clipped.[ch] and that's definitely not
radical.

  On a more serious note: If you're not going to really extend
evas per-se, just add some convenience constructs for dealing with
'common' kinds of smart objects, then why put this into evas?
  Why not add it to the esmart lib instead, that's a lib that's
used for exactly these kinds of things (it has many useful kinds of
smart classes for various things - more should be added).



-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-19 Thread Kenneth Christiansen
I am for it, you already added this to the python bindings back in the
days and it has really proved useful for developing Canola.

Cheers,
Kenneth

On Sun, May 18, 2008 at 5:11 PM, Gustavo Sverzut Barbieri
[EMAIL PROTECTED] wrote:
 Anyone else looked at this? May I add the clipped smart object (no
 layout stuff!) to evas? I can add some docs and even change basic
 smart object to refer to this one for simple implementations.

 On Mon, Mar 24, 2008 at 9:12 PM, Gustavo Sverzut Barbieri
 [EMAIL PROTECTED] wrote:
 http://staff.get-e.org/~barbieri/ehelpers.tar.gz

 This should provide what I said these days in IRC. It's a draft, for
 real code things like member_add() should check if's really a smart
 and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
 maybe using an integer there with a magic number... I just left this
 out as if we use hooks then it goes away.

 As you can see the implementation is still generic enough and we could
 write our layout stuff on top of that easily, just implement the
 resize() callback to call reconfigure(), a function that would be
 called internally on child_add() and whenever things changed (ie:
 child size).

 If you agree with that I'll provide a layout example on top of it.

 --
 Gustavo Sverzut Barbieri
 --
 Jabber: [EMAIL PROTECTED]
  MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
  Skype: gsbarbieri
 Mobile: +55 (81) 9927 0010

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




 --
 Gustavo Sverzut Barbieri
 http://profusion.mobi embedded systems
 --
 MSN: [EMAIL PROTECTED]
 Skype: gsbarbieri
 Mobile: +55 (19) 9225-2202

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-19 Thread Gustavo Sverzut Barbieri
On Mon, May 19, 2008 at 9:13 AM, Kenneth Christiansen
[EMAIL PROTECTED] wrote:
 I am for it, you already added this to the python bindings back in the
 days and it has really proved useful for developing Canola.

yes, basically most of smart object users will just need constructor +
resize to be defined.

Possible users of hide/show are optimizations for heavy-wait
objects... it's hard to imagine interesting use for move, color_set,
clip_set, clip_unset...

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-19 Thread The Rasterman
On Mon, 19 May 2008 09:13:35 -0300 Kenneth Christiansen
[EMAIL PROTECTED] babbled:

this is in my mail queue. i killed some of it today - more tomorrow :)

 I am for it, you already added this to the python bindings back in the
 days and it has really proved useful for developing Canola.
 
 Cheers,
 Kenneth
 
 On Sun, May 18, 2008 at 5:11 PM, Gustavo Sverzut Barbieri
 [EMAIL PROTECTED] wrote:
  Anyone else looked at this? May I add the clipped smart object (no
  layout stuff!) to evas? I can add some docs and even change basic
  smart object to refer to this one for simple implementations.
 
  On Mon, Mar 24, 2008 at 9:12 PM, Gustavo Sverzut Barbieri
  [EMAIL PROTECTED] wrote:
  http://staff.get-e.org/~barbieri/ehelpers.tar.gz
 
  This should provide what I said these days in IRC. It's a draft, for
  real code things like member_add() should check if's really a smart
  and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
  maybe using an integer there with a magic number... I just left this
  out as if we use hooks then it goes away.
 
  As you can see the implementation is still generic enough and we could
  write our layout stuff on top of that easily, just implement the
  resize() callback to call reconfigure(), a function that would be
  called internally on child_add() and whenever things changed (ie:
  child size).
 
  If you agree with that I'll provide a layout example on top of it.
 
  --
  Gustavo Sverzut Barbieri
  --
  Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
   ICQ#: 17249123
   Skype: gsbarbieri
  Mobile: +55 (81) 9927 0010
 
  -
  This SF.net email is sponsored by: Microsoft
  Defy all challenges. Microsoft(R) Visual Studio 2008.
  http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 
 
 
  --
  Gustavo Sverzut Barbieri
  http://profusion.mobi embedded systems
  --
  MSN: [EMAIL PROTECTED]
  Skype: gsbarbieri
  Mobile: +55 (19) 9225-2202
 
  -
  This SF.net email is sponsored by: Microsoft
  Defy all challenges. Microsoft(R) Visual Studio 2008.
  http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-19 Thread Jose Gonzalez
   Gustavo wrote:

 Anyone else looked at this? May I add the clipped smart object (no
 layout stuff!) to evas? I can add some docs and even change basic
 smart object to refer to this one for simple implementations.

   

  For those who are irc challenged, maybe you could give a short
overview of what it is this is supposed to help address, why it should
be 'added' to evas, etc. :)


 On Mon, Mar 24, 2008 at 9:12 PM, Gustavo Sverzut Barbieri
 [EMAIL PROTECTED] wrote:
   
 http://staff.get-e.org/~barbieri/ehelpers.tar.gz

 This should provide what I said these days in IRC. It's a draft, for
 real code things like member_add() should check if's really a smart
 and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
 maybe using an integer there with a magic number... I just left this
 out as if we use hooks then it goes away.

 As you can see the implementation is still generic enough and we could
 write our layout stuff on top of that easily, just implement the
 resize() callback to call reconfigure(), a function that would be
 called internally on child_add() and whenever things changed (ie:
 child size).

 If you agree with that I'll provide a layout example on top of it.

 


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-05-18 Thread Gustavo Sverzut Barbieri
Anyone else looked at this? May I add the clipped smart object (no
layout stuff!) to evas? I can add some docs and even change basic
smart object to refer to this one for simple implementations.

On Mon, Mar 24, 2008 at 9:12 PM, Gustavo Sverzut Barbieri
[EMAIL PROTECTED] wrote:
 http://staff.get-e.org/~barbieri/ehelpers.tar.gz

 This should provide what I said these days in IRC. It's a draft, for
 real code things like member_add() should check if's really a smart
 and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
 maybe using an integer there with a magic number... I just left this
 out as if we use hooks then it goes away.

 As you can see the implementation is still generic enough and we could
 write our layout stuff on top of that easily, just implement the
 resize() callback to call reconfigure(), a function that would be
 called internally on child_add() and whenever things changed (ie:
 child size).

 If you agree with that I'll provide a layout example on top of it.

 --
 Gustavo Sverzut Barbieri
 --
 Jabber: [EMAIL PROTECTED]
  MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
  Skype: gsbarbieri
 Mobile: +55 (81) 9927 0010

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Clipped Smart Object draft

2008-03-24 Thread Gustavo Sverzut Barbieri
http://staff.get-e.org/~barbieri/ehelpers.tar.gz

This should provide what I said these days in IRC. It's a draft, for
real code things like member_add() should check if's really a smart
and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
maybe using an integer there with a magic number... I just left this
out as if we use hooks then it goes away.

As you can see the implementation is still generic enough and we could
write our layout stuff on top of that easily, just implement the
resize() callback to call reconfigure(), a function that would be
called internally on child_add() and whenever things changed (ie:
child size).

If you agree with that I'll provide a layout example on top of it.

-- 
Gustavo Sverzut Barbieri
--
Jabber: [EMAIL PROTECTED]
 MSN: [EMAIL PROTECTED]
 ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Clipped Smart Object draft

2008-03-24 Thread Gustavo Sverzut Barbieri
On Mon, Mar 24, 2008 at 9:12 PM, Gustavo Sverzut Barbieri
[EMAIL PROTECTED] wrote:
 http://staff.get-e.org/~barbieri/ehelpers.tar.gz

  This should provide what I said these days in IRC. It's a draft, for
  real code things like member_add() should check if's really a smart
  and maybe check if this Evas_Object_Smart_Clipped_Data is correct,
  maybe using an integer there with a magic number... I just left this
  out as if we use hooks then it goes away.

  As you can see the implementation is still generic enough and we could
  write our layout stuff on top of that easily, just implement the
  resize() callback to call reconfigure(), a function that would be
  called internally on child_add() and whenever things changed (ie:
  child size).

  If you agree with that I'll provide a layout example on top of it.

Ok, since it was fresh in my mind I hacked a simple layout api + vbox
implementation. It's very raw, just a proof of concept that with such
api implementations are really simple. One of the things that it
doesn't do is care about dirty/clean state, as we discussed here and
some other places that if we had smart_pre_render exposed like for
other regular objects, we could do the recalcs there, so this per
object freeze/thaw would not be required anymore.

From evas_object_layout_basic.c you can see that doing a real vbox is
just a matter of doing the math there to align, add borders/margins,
considering size hints/policy (once they're in Evas_Object*)

Also, one thing left out is a call to return the required size to fit
all children in that layout. We'd need this to allocate size properly
and also to align the bounding box of items inside the object area, if
the layout wants so... this would be like edje_object_size_min_get().
For some layouts, ie: vbox, is just to sum all the object's height and
their spacing/padding. For some others, like flow, it would require
more complex calculation that could be cached/shared with reconfigure.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi
Embedded Systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel