From: David S. <on...@gm...> - 2011-10-30 17:33:19
|
On Mon, 31 Oct 2011 02:14:11 +1000 David Seikel <on...@gm...> wrote: > On Sun, 30 Oct 2011 23:22:48 +1000 David Seikel <on...@gm...> > wrote: > > > This is my first crack at adding more lua stuff to edje. This > > implements getting and setting color_classes. > > > > It's not working though, I'm missing something. The function reads > > the existing color_classes fine. The actual values in the > > colour_class actually change, but the on screen colour never does. > > I copied how embryo does it. Perhaps the color_class in the lua > > script only group is not a pointer to the one in the edje, but a > > clone of it? > > > > Maybe someone can enlighten me about what is wrong? Think I've figured it out. Like embryo, I'm using edje_color_class_find() and edje_object_color_class_set(). The former searches through object scope, global scope, then file scope. The later searches object scope only, then creates a color_class if not found. So what's happening in my tests is that I'm finding the file scope color_class in the first test to see if I can read the existing color_class. In the second test, I set a NEW color_class in the object scope, then read it coz it's first in the _find() scope search. However, the other group, the one with the part affected by the color_class I thought I was changing, is in a different object scope. It's likely using the color_class from the file scope, which is NOT the one I'm changing. So the problem is that I'm changing the wrong color_class. It worked in embryo, coz the embryo script is in the same group as the coloured part, so it gets the same object scope. -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world. |