On 04/30/2014 04:07 PM, Tom Hacohen wrote:
> On 30/04/14 13:31, Yossi Kantor wrote:
>> On 04/30/2014 03:16 PM, Tom Hacohen wrote:
>>> On 30/04/14 12:50, Yossi Kantor wrote:
>>>> Hello all,
>>>>
>>>> I have a task of transferring the elementary widget item structure and
>>>> its derivatives to Eo.
>>>>
>>>> Currently there is an internal structure Elm_Widget_Item with its
>>>> internal (and not too heavily used) API.
>>>> All of the classes/structures bellow are directly inheriting from
>>>> Elm_Widget_Item:
>>>>
>>>> Elm_Object_Item
>>>> Elm_Gen_Item
>>>> Elm_Color_Item
>>>> Elm_Ctxpopup_Item
>>>> Elm_Dayselector_Item
>>>> Elm_Diskselector_Item
>>>> Elm_Flipselector_Item
>>>> Elm_Hoversel_Item
>>>> Elm_Index_Item
>>>> Elm_List_Item
>>>> Elm_Menu_Item
>>>> Elm_Multibuttonentry_Item
>>>> Elm_Naviframe_Item
>>>> Elm_Segment_Item
>>>> Elm_Slideshow_Item
>>>> Elm_Toolbar_Item
>>>>
>>>> All of them except Elm_Object_Item are totally private, visible only to
>>>> their specific container. The public access to them is made
>>>> through the Elm_Object_Item, which is basically a wrapper around
>>>> Elm_Widget_Item, providing public and stable API functions to
>>>> the Elm_Widget_Item structure of a desired derived class. Naturally, out
>>>> of protection reasons, not all of the Elm_Widget_Item internal API 
>>>> functions
>>>> have representation by Elm_Object_Item interface.
>>>>
>>>> My plan is:
>>>> Make just one base eo class Elm_Object_Item from which all of the
>>>> classes listed above will directly inherit (once eo). This class will
>>>> have the internal structure
>>>> of Elm_Widget_Item (just like now) and public methods and generated
>>>> legacy for all of the interface function Elm_Object_Item has now
>>>> and protected methods for all methods that Elm_Widget_Item API has and
>>>> Elm_Object_Item doesn't.
>>>> Elm_Widget_Item as a name and legacy functions will be removed.
>>>> Elm_Widget_Item legacy functions will be replaced by eo functions calls
>>>> on Elm_Object_Item where needed in the code.
>>>>
>>>> Any suggestions/feedbacks are welcomed.
>>> The way things work there is as follows:
>>> Elm_Widget* like the rest of the EFL is internal and yeah, can be merged
>>> in principle. This is what done with Elm (non item) too. However there,
>>> you guys chose Elm_Widget as the name that stays, so maybe stick to
>>> that. That's a better name anyway.
>> I have to keep the Elm_Object_Item name and not Elm_Widget_Item because
>> the first is public and the second is not.
> We've done differently with Elm, and it's the same case there. You can
> just keep the legacy functions public and keep the class name widget.
> Legacy doesn't dictate how new API is created.

Elm_Object_Item is a type name used outside the elementary world to 
return or refer to items
of containers. It must be there cause external programs call it that. We 
might
typedef Elm_Widget_Item Elm_Object_Item, but thats about it. Am I wrong?

>>> As for the rest, I have nothing specific to say. Just follow what you
>>> guys have been doing with Elm, as that was good.
>>>
>>> Also, I hope you are not only doing it because "it's a task", and you
>>> understand how important this is for the whole EFL.
>> I fail to see the contradiction between something being important and
>> being a task.
> You've also failed to read what I've said.
>
> I never even implied there was a contradiction between the two, I just
> tried to make sure you understand how important this task is because
> from your email it sounded like you didn't really want to do it and was
> forced to.
As for this one, well, my feelings about this are irrelevant for that 
matter.
While I'm entitled to my own feelings, opinions and judgments, whether I 
speak them
out or not, the quality of my work is unaffected by that. Thats just 
professional
integrity. Or beeing a grownup. Either way makes my life great and under 
my control.

Cheers,
>
> --
> Tom.
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to