Hello,

I re-raised this mail thread :)
I want to discuss about exporting internal edje object inside elementary
widget or elm_object_item.
There was an elm_object_item_object_get which is deprecated currently.
This is harmful because application can manipulate it but this can give
more flexibility to App. developer.

There are pros and cons to export internal information.
Cons:
1. App. can change the property of edje object.
--> If we return the edje object as *const*, it can give warning to App.
developer and prevent the problem somehow.
2. App. can rely on the value (geometry or part name, etc.) of edje object.
--> This value should be used instantly and discard it after use. This
should be documented.
3. If edje object usage is changed, App. should be changed also.
--> That can be problem. But normal app (who does not use above API) does
not need to be changed.
Also using Evas Object property (geometry or size hint, etc.) of the edje
object is not highly problematic, Only edje property of the edje object can
be problematic. This is almost same problem as theme break if app customize
their theme. And this problem should be documented.
4. If edje object is not used and other smart object is used in the future.
--> If this will happen, I disagree about exporting internal edje object.
Instead, other wrapping APIs (wrapping Evas or Edje property which are
needed actually) can be added such as elm_object_item_geometry_get(). I
made an patch for this: https://phab.enlightenment.org/D208

Pros:
1. Edje & Evas API can be used directly.
--> App should rely on these properties instantly. Also, to prevent from
modifying the properties, the object should be returned as const.
2. App. can reuse the widget features.
--> App. can just need a little edje/C codes and reuse almost feature in
their. If not, app should make their own edje theme and move the codes
(signals or something) from the widget side to their code. Anyway, If edje
inheritance/override can be possible on the runtime, it will be my pleasure
:).

PS. I heard that Cedric will make ULTRA GREAT FANTASTIC new smart object to
substitute old edje object.
If so, how about adding new APIs which are needed for flexibility( refer Cons:
4)
Actual purpose of this mail is: https://phab.enlightenment.org/D208  :D





2013/4/16 Bluezery <ohpo...@gmail.com>

> 2013/4/16 Daniel Juyung Seo <seojuyu...@gmail.com>
>
>> On Tue, Apr 16, 2013 at 8:02 PM, Bluezery <ohpo...@gmail.com> wrote:
>>
>> > 2013/4/16 Daniel Juyung Seo <seojuyu...@gmail.com>
>> >
>> > > Hello, I don't want to export the internal object any more.
>> > >
>> >
>> > That depends on point of views.
>> > Think about 3 mans
>> > Designer / Frame developer / Application Developer
>> >
>> > Edje is designed for designer. Designer makes edje. It can be compiled
>> and
>> > distributed itself.
>> > Frame developer makes elementary widget. It can be also distributed
>> itself.
>> > Application developer uses elementary and edje.
>> >
>> >                     Designer
>> >                       /       \
>> > Frame Developer -  Application Developer
>> >
>> > They depends on each others like above.
>> >
>>
>> True.
>>
>>
>> > If application cannot access the edje. Above can be changed like below.
>> >
>>
>> Well you are talking about general edje object. THE EDJE OBJECT we were
>> talking about was an edje object which was created inside the widget.
>> Exposing this internal object is same as exposing class' private members
>> to
>> public.
>>
>
> edje object is created on widget side initilally.
> But elm_object_style_set or elm_theme_extension_add can load edje fo
> application.
>
>
>> If you create your own edje object and you handle it, I don't care.
>>
>>
>> >
>> > Framework Designer (widget theme) <-> Frame Developer <-> Application
>> > Developer <-> Applicaiton Designer
>> >
>> > So the problem is that edje is designed from Framework Designer can not
>> be
>> > reused for application developer.
>> > Application designer overwrites (cannot override) it.
>> >
>>
>> Are you talking about theme by "edje is designed from Framework Designer"?
>> Of course you can use it by elm_layout_theme_set. There is no limitation
>> for reusing the any styles in theme.
>> You are just not allowed to hook the other's edje object which is
>> instanciated version of styles/themes whatsoever.
>>
>
> Yes.
> But this edje cannot interact with frameworks.
> So framework functionality cannot be reused.
>
> I don't know the policy of the elementary widget.
> But I want to find better way. :)
>
>
>>
>> It looks like this discussion is headed to the wrong direction :(
>>
>> Thanks.
>>
>> Daniel Juyung Seo (SeoZ)
>>
>>
>> >
>> >
>> >
>> > > Anyway there is room to discuss as always.
>> > >
>> > > Well.. history repeats itself.
>> > > This was already discussed before. Please refer the following thread.
>> > >
>> > >
>> >
>> http://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg48240.html
>> > >
>> > >
>> > > On Tue, Apr 16, 2013 at 3:29 PM, ChunEon Park <her...@naver.com>
>> wrote:
>> > >
>> > > > Does somebody agree on it?
>> > > >
>> > > > ------------------------------------
>> > > > -Regards, Hermet-
>> > > >
>> > > > -----Original Message-----
>> > > > From: "Bluezery"<ohpo...@gmail.com>
>> > > > To: "Enlightenment developer list"<
>> > > > enlightenment-devel@lists.sourceforge.net>;
>> > > > Cc:
>> > > > Sent: 2013-04-12 (금) 20:16:20
>> > > > Subject: Re: [E-devel] [Question] About depcreated
>> > > > elm_object_item_object_get API
>> > > >
>> > > > Yes, theme dependency can be the problem.
>> > > > But there eixst pros and cons.
>> > > >
>> > >
>> > > Yes there exists pros and cons.
>> > > But *MY* policy is not to export the internal objects as much as
>> > possible.
>> > > Managing one objects in the two different places deosn't look good.
>> > > Once we export the internal objects, people will abuse it with the
>> very
>> > > high possibility.
>> > >
>> > >
>> > > >
>> > > > If application make customized winset theme, application can add
>> > programs
>> > > > or parts or something for their own purpose and do more things on
>> theme
>> > > and
>> > > > do not need to make their own customized winset. In this situation,
>> > there
>> > > > is no need to change the elementary and default theme.  Application
>> > > install
>> > > > their app just with their extension theme.
>> > > >
>> > > > In this case, application should know the edje/evas APIs (or
>> elementary
>> > > > should wrap it but this is almost impossible, I think). But I think
>> > that
>> > > > application should know those and use those for making perferctly
>> there
>> > > own
>> > > > purpose.
>> > > >
>> > > > Otherwise, application should make their own edje and add code for
>> > > > manupulate it (make own winset).  In this case, application also
>> know
>> > > > edje/evas APIs.
>> > > >
>> > >
>> > > Yes this is what I recommend as of now.
>> > > If you want to handle/manage something, you create it. Do not take
>> > other's
>> > > possessions. There must be a conflict.
>> > > Genlist supports "full" item style for this kind of use cases.
>> > >
>> > >
>> > > >
>> > > > Theme is already exported for applications. So application can make
>> > their
>> > > > own theme.
>> > > > And I requested to export theme (edje), currently it is hidden.
>> > > >
>> > > >
>> > > >
>> > > > 2013/4/4 ChunEon Park <hermet>@naver.com>
>> > > >
>> > > > > Maybe it can be... but i don't like those kinds of apis since it
>> will
>> > > > > result in the increase of the theme compatibility break.
>> > > > >
>> > > >
>> > >
>> > > Agreed.
>> > >
>> > >
>> > > > > For your information,
>> > > > > Users even can't decide the ctxpopup size.
>> > > > > Conceptually, the ctxpopup itself decides the size and position by
>> > > > itself.
>> > > > >
>> > > > > ------------------------------------
>> > > > > -Regards, Hermet-
>> > > > >
>> > > > > -----Original Message-----
>> > > > > From: "Bluezery"<ohpowel>@gmail.com>
>> > > > > To: "Enlightenment developer list"<
>> > > > > enlightenment-devel@lists.sourceforge.net>;
>> > > > > Cc:
>> > > > > Sent: 2013-04-04 (목) 16:31:02
>> > > > > Subject: [E-devel] [Question] About depcreated
>> > > elm_object_item_object_get
>> > > > > API
>> > > > >
>> > > > > Dear EFL developers,
>> > > > >
>> > > > > I have question about getting geometry of edje part on elemenatry
>> > > object
>> > > > or
>> > > > > elm object item.
>> > > > > If ctx popup or date time widget want to be placed on the text
>> part,
>> > I
>> > > > > cannot find the way.
>> > > > >
>> > > > > Actually application should depend on edje theme part on some
>> cases.
>> > > > > Applications should know the name of the swallowed part on the
>> edje
>> > > > theme.
>> > > > >
>> > > > > So, How about elm_object_item_part_geomtry_get API? Or I think
>> that
>> > > >
>> > >
>> > > NO!!!!!! We don't wrap all the evas/edje apis from elm side.
>> > >
>> > >
>> > > > > elm_object_item_object_get or elm_object_object_get seems to be
>> > needed.
>> > > > > If applications can get the edje object from elementary widget or
>> > > > > elementary object item,  they can use edje APIs directly.
>> > > > > But elm_object_item_object_get API was depecated and removed. The
>> > > reason
>> > > > to
>> > > > > remove this API seems to prevent abuse of application developers.
>> > > > > But, for the flexibility, this API can be needed.
>> > > > > Previously, this API returns Evas_Object *.How about retunring
>> > > > > *const*Evas_Object *. ?
>> > > > > I can prevent chaning Object property.
>> > > > >
>> > > > >
>> > > > > BRs,
>> > > > > Kim.
>> > > > >
>> > > > > --
>> > > > > BRs,
>> > > > > Kim.
>> > > >
>> > >
>> > > Thanks.
>> > >
>> > > Daniel Juyung Seo (SeoZ)
>> > >
>> > >
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>> ------------------------------------------------------------------------------
>> > > > > Minimize network downtime and maximize team effectiveness.
>> > > > > Reduce network management and security costs.Learn how to hire
>> > > > > the most talented Cisco Certified professionals. Visit the
>> > > > > Employer Resources Portal
>> > > > > http://www.cisco.com/web/learning/employer_resources/index.html
>> > > > > _______________________________________________
>> > > > > enlightenment-devel mailing list
>> > > > > enlightenment-devel@lists.sourceforge.net
>> > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>> ------------------------------------------------------------------------------
>> > > > > Minimize network downtime and maximize team effectiveness.
>> > > > > Reduce network management and security costs.Learn how to hire
>> > > > > the most talented Cisco Certified professionals. Visit the
>> > > > > Employer Resources Portal
>> > > > > http://www.cisco.com/web/learning/employer_resources/index.html
>> > > > > _______________________________________________
>> > > > > enlightenment-devel mailing list
>> > > > > enlightenment-devel@lists.sourceforge.net
>> > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > BRs,
>> > > > Kim.
>> > > >
>> > > >
>> > >
>> >
>> ------------------------------------------------------------------------------
>> > > > Precog is a next-generation analytics platform capable of advanced
>> > > > analytics on semi-structured data. The platform includes APIs for
>> > > building
>> > > > apps and a phenomenal toolset for data science. Developers can use
>> > > > our toolset for easy data analysis & visualization. Get a free
>> account!
>> > > > http://www2.precog.com/precogplatform/slashdotnewsletter
>> > > > _______________________________________________
>> > > > enlightenment-devel mailing list
>> > > > enlightenment-devel@lists.sourceforge.net
>> > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > > >
>> > > >
>> > >
>> >
>> ------------------------------------------------------------------------------
>> > > > Precog is a next-generation analytics platform capable of advanced
>> > > > analytics on semi-structured data. The platform includes APIs for
>> > > building
>> > > > apps and a phenomenal toolset for data science. Developers can use
>> > > > our toolset for easy data analysis & visualization. Get a free
>> account!
>> > > > http://www2.precog.com/precogplatform/slashdotnewsletter
>> > > > _______________________________________________
>> > > > enlightenment-devel mailing list
>> > > > enlightenment-devel@lists.sourceforge.net
>> > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > > >
>> > >
>> > >
>> >
>> ------------------------------------------------------------------------------
>> > > Precog is a next-generation analytics platform capable of advanced
>> > > analytics on semi-structured data. The platform includes APIs for
>> > building
>> > > apps and a phenomenal toolset for data science. Developers can use
>> > > our toolset for easy data analysis & visualization. Get a free
>> account!
>> > > http://www2.precog.com/precogplatform/slashdotnewsletter
>> > > _______________________________________________
>> > > enlightenment-devel mailing list
>> > > enlightenment-devel@lists.sourceforge.net
>> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > >
>> >
>> >
>> >
>> > --
>> > BRs,
>> > Kim.
>> >
>> >
>> ------------------------------------------------------------------------------
>> > Precog is a next-generation analytics platform capable of advanced
>> > analytics on semi-structured data. The platform includes APIs for
>> building
>> > apps and a phenomenal toolset for data science. Developers can use
>> > our toolset for easy data analysis & visualization. Get a free account!
>> > http://www2.precog.com/precogplatform/slashdotnewsletter
>> > _______________________________________________
>> > enlightenment-devel mailing list
>> > enlightenment-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >
>>
>> ------------------------------------------------------------------------------
>> Precog is a next-generation analytics platform capable of advanced
>> analytics on semi-structured data. The platform includes APIs for building
>> apps and a phenomenal toolset for data science. Developers can use
>> our toolset for easy data analysis & visualization. Get a free account!
>> http://www2.precog.com/precogplatform/slashdotnewsletter
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
>
> --
> BRs,
> Kim.
>



-- 
BRs,
Kim.
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to