Bruno, while your example is valid, it's not how it will usually be. Most
of the time people will use animations, which are bound to keyboard/mouse
events.
In my code for example, I can scroll a list using the arrow keys, but if
you press the arrow twice, then two signals are sent, thus canceling the
first animation.so the state of the swalowed object is undefined as it all
depends on the elapsed milliseconds between the first and second press of
the arrow key. I consider this a race condition.
I also doubt that anyone is using edje, then suddenly unswallows the object
and decides to keep it there and start to handle it manually in C.If he
wanted to handle it in C directly, it wouldn't have been a swallowed part
in the first place.
i don't disagree though that this might chance the behavior of some really
rare apps.
As for trusting the .edj, you'd trust it to have specific groups/parts and
handle/send specific signals, but you can't trust it to have an object as a
specific position. The whole purpose of the edj is to allow the UI dev to
decide where to position everything, what sizes to give them and what
states.

On Mon, Jan 9, 2012 at 11:19 AM, Bruno Dilly <bdi...@profusion.mobi> wrote:

> On Mon, Jan 9, 2012 at 2:13 PM, Cedric BAIL <cedric.b...@free.fr> wrote:
> > On Mon, Jan 9, 2012 at 5:07 PM, Bruno Dilly <bdi...@profusion.mobi>
> wrote:
> >> On Mon, Jan 9, 2012 at 12:56 PM, Cedric BAIL <cedric.b...@free.fr>
> wrote:
> >>> On Mon, Jan 9, 2012 at 3:46 PM, Bruno Dilly <bdi...@profusion.mobi>
> wrote:
> >>>> On Mon, Jan 9, 2012 at 11:26 AM, Cedric BAIL <cedric.b...@free.fr>
> wrote:
> >>>>> On Mon, Jan 9, 2012 at 2:06 PM, Bruno Dilly <bdi...@profusion.mobi>
> wrote:
> >>>>>> On Sun, Jan 8, 2012 at 2:32 PM, Cedric BAIL <cedric.b...@free.fr>
> wrote:
> >>>>>>> On Sun, Jan 8, 2012 at 3:47 PM, ChunEon Park <her...@naver.com>
> wrote:
> >>>>>>>> I think both are no problems if it has a documentation.
> >>>>>>>> But your patch may break applications already released.
> >>>>>>>> It will be better to apply your patch when major version is
> changed.
> >>>>>>>
> >>>>>>> As I say, current behaviour is undefined. If you go out of an
> >>>>>>> animation (defined in the edj itself) in any state (hidden, moved,
> >>>>>>> resized, whatever), it will stay in that state. But this is
> completly
> >>>>>>> random and not defined (as in, depend on an external file). Now I
> do
> >>>>>>> like the raster proposal with an orphaned flag as it is the only
> sane
> >>>>>>> way to detect any leak. Relying on an undefined visual artefact
> would
> >>>>>>> not help at all.
> >>>>>>
> >>>>>> It isn't documented. But it's defined, IMHO, since you can predict
> it.
> >>>>>> As you said, in an animation it will keep the state, if it was
> >>>>>> visible, it will stay visible.
> >>>>>> So applications can be considering a unswallowed object will be
> >>>>>> visible, since it was visible, and now it will be hidden.
> >>>>>
> >>>>> No, as it is defined in the theme, it doesn't depend on the
> >>>>> application. If you change the theme, the animation, anything in the
> >>>>> .edj, it will change the behaviour in the application itself. It's
> >>>>> full of race condition. There is no sane way to expect any kind of
> >>>>> behaviour in the app. It is definitivly an undefined behaviour, as
> >>>>> their is no way you could know the state of the object without
> >>>>> requesting it after the unswallow.
> >>>>
> >>>> OK, my concept of application is code and theme.
> >>>> Anyway, a simple case is to add an rectangle to a swallow in a layout.
> >>>> I've attached a quick example. As you can see, no luck required. After
> >>>> 3 seconds the rectangle is unswallowed and displayed at 0,0.
> >>>
> >>> Ok, I see the difference. From my point of view, the application
> >>> should never trust an edj file. So if I can break your "consistent"
> >>> behaviour by just touching the edc file, then their is a bug in the
> >>> application from my point of view. In your example. I just need to set
> >>> visible: 0, or rel1.relative: 0 0; and rel2.relative: 0 0; to break
> >>> your app. So you are just lucky that no one touched your edc file.
> >>
> >> Ok, but don't you trust the edj file will have a swallow with name "X" ?
> >> It's easy to break an application changing the edj if you want to do so.
> >
> > You know that edje_object_part_swallow return an EINA_BOOL, do you ?
>
> I do, you can print something in your terminal and quit the
> application. What doesn't mean it is not working as intended.
>
> Anyway, there are signals that should be emitted to code and you don't
> emit that on your theme. So it will break your application and you
> can't detect.
> Going further, you can make every part invisible, and you application
> will be completely useless.
>
> So, yeah, I believe you need to trust your edj someway, and they need
> to be considered part of the application.
>
> > --
> > Cedric BAIL
> >
> >
> ------------------------------------------------------------------------------
> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> > infrastructure or vast IT resources to deliver seamless, secure access to
> > virtual desktops. With this all-in-one solution, easily deploy virtual
> > desktops for less than the cost of PCs and save 60% on VDI infrastructure
> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
>
> --
> Bruno Dilly
> Senior Developer
> ProFUSION embedded systems
> http://profusion.mobi
>
>
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual
> desktops for less than the cost of PCs and save 60% on VDI infrastructure
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to