Hi Jaehwan,

That's indeed a very cool and needed feature !

On Wed, Sep 14, 2011 at 9:19 AM, Tom Hacohen
<tom.haco...@partner.samsung.com> wrote:
> Thanks a lot for the patch. This is indeed a very cool and needed
> feature. I don't have time (and I'm not the maintainer anyway) to review
> the code and apply it, but I do have a couple of questions/comments:
>
> 1. Does it support multi level group inheritance? I.e group B inherits
> from group A and group C inherits from group B. I.e A->B->C ?
> 2. I see you use static variables as for context maintaining, why don't
> you pass a context structure?

In fact, you change to much thing that shouldn't in your patch. As an
example you are modifying
st_collections_group_parts_part_repeat_events when it's not related at
all to the current patch. Please only change the function that should.

> 3. Have you tested this properly? What happens when you try to inherit a
> non-existing group?
> 4. Please add a short explanation about it to the documentation in
> src/bin/edje_cc_handlers.c
> 5. Please include "@since 1.1.0" in the appropriate places in doc (after
> you finish 4).
> 6. Please add a changelog entry.

7. Do not increase the size of runtime structure, especially Edje_Part
and also Edje_program as much as possible. The reorder is maybe doable
when you find the keyword, that would avoid completly the reorder
structure inside Edje_Part.

8. Right now, your implementation is a bit like virtual in C++, the
group that inherit can change any part the way it want. Maybe, their
is two other cases that should be considered :
   - program and part could be locked and impossible to change at all,
throwing a warning if the group try to change the content of this
items.
   - pure virtual part/program, that would prevent the compilation of
a group if they are not implemented (like virtual = 0 in C++).

> I can't wait to see it get in, I really want to update elm_entry's theme
> to utilise this already, this will save me a lot of trouble. :)

Oh, yeah, this is a very interesting things to see in.

> On 14/09/11 09:37, 김재환 wrote:
>>     Dear all
>>
>>     In the group of the edc, if you want another group which has just 
>> different
>>     color,
>>
>>     you have to write a whole code of the group again and change the color.
>>
>>     It's inefficient. So I made group inheritance.
>>
>>     It inherit the whole group. If want to make new group which has just 
>> little
>>     different,
>>
>>     just use group inherit and change the part you want.
>>
>>
>>     Done
>>
>>     1.  Group inherit - It copy all data and make new group which has same
>>     property.
>>
>>     2. Override - You can change the part you want.
>>
>>     3. Part reorder - You can change the order of the parts. (use 
>> insert_before
>>     and insert_after)
>>
>>
>>     Future work
>>
>>     1. Delete - The part, description, program can be deleted.

I don't know if this is really usefull as all the object model I know
don't provide this kinde of feature. Do you have a use case for that ?
Or maybe you know a language that provide this kind of feature, so I
could read about it.

>>     2. Inherit from other edc file (is it possible?)

Hum, I would say that we don't want that. You don't know what an edc
could be. It could be just a macro, or many group, or just one part. I
don't think it would be doable.

>>     I attached the patch file (edje_group_inherit.patch)
>>
>>     Please patch it to edje and test group inherit.
>>
>>     I attached example patch file, too. (elementary_button_edc_example.patch)
>>
>>     You can test with it in elementary. I changed the 
>> "elm/button/base/anchor"
>>     in button.edc by using group inherit.
>>
>>     The code decreases 255 line and it works well.

Yeah, that's the point :-)

>>     I think group inheritance is very useful feature.

I think none of us will doubt about that !

Thanks for your patch and continue this good and usefull work,
-- 
Cedric BAIL

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1 
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to