[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[E-devel] ewl layer handling
While I'm playing around with ewl_embed to replace my old context menu
in elitaire, I recognize that this is nearly impossible, because ewl
spreads its objects over the whole layer range, starting with -1000 upto
1000 (I'm not sure if the number are really correct). And swallow it in
a edje is indeed impossible.
So the the current layer system may work well for stand alone ewl apps,
but it is useless when you want overlap an ewl_embed and some
evas_objects. I think it would make sense to switch to the "new"
(perhaps six month old) evas_smart_object layer system, so that every
ewl widget is a smart member of the ewl_embed smart object and all ewl's
magic happens in only one layer.
I know this is not an easy step or an one-day-job, I've already done
this in elitaire. On the other hand the most code I've seen in ewl
concerning to layering was put this object over another or put this
object to the top and that is easily done with stack_above() and raise().
I see two ways to do this:
1. Trying to stay as nearly as possible to the current system. E.g. just
replacing the evas_object_layer_set(o, 1000) with evas_object_raise(o).
This should be possible but might become tricky in the detail.
2. Every widget get a dummy smart object, with no callbacks. So this
smart object holds in a "normal" widget the clip and the edje theme and
in the case of a container also the smart object of the children. This
approach would be cleaner and easier, but I don't know if it cause
Would do you think about it ? Have I missed anythink or should I try a
start (without guaranty of success)?
Thanks for your attention and sorry for my linguistic mistakes