Sometimes the options can just be known during runtime, like available
video engines for emotion.
This goes in now as it will avoid further API breaks, so before Edje 1.0
SVN revision: 52874
These are yet-another hint, they are not enforced as documentation
already said, yet they will be useful for tools (ie: editje) to
explain to users if parameter will be set only once, or provides no
getter and such.
This will save future ABI breaks, that's why I want it in 1.0 :-)
SVN revision: 52873
Sometimes you want to catch an action like "clicked" from elm/button
or "mouse,clicked,1" from a regular part and want to set a property
like "play" on some object. In this case there is no source property
to copy, so setting the destination makes sense. This was possible
with Embryo, and now it is with regular "program".
Sample EDC:
{{{
// test.edc, compile with edje_cc and run with edje_player
externals {
external: "elm";
}
collections {
group { name: "main";
parts {
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "button"; type: EXTERNAL;
source: "elm/button";
description { state: "default" 0.0;
rel2.relative: 1.0 0.5;
}
}
part { name: "display"; type: TEXT;
description { state: "default" 0.0;
color: 0 128 0 255;
rel1.relative: 0.0 0.5;
rel2.relative: 0.5 1.0;
text { font: "Sans"; size: 16; }
}
}
part { name: "entry"; type: EXTERNAL;
source: "elm/scrolled_entry";
description { state: "default" 0.0;
rel1.relative: 0.5 0.5;
params.bool: "editable" 0;
}
}
programs {
program {
signal: "clicked";
source: "button";
action: PARAM_SET "display" "text" "hello world!";
}
program {
signal: "clicked";
source: "button";
action: PARAM_SET "entry" "text" "bla!";
}
}
}
}
}
}}}
SVN revision: 47635
Choices are useful to represent enumerations and restricted set of
elements to user. Usually this is displayed in hoversel/comboboxes.
SVN revision: 47570
Edje got a new program action called PARAM_COPY in the form:
action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";
This will copy the parameter "src_param" from part "src_part" to
parameter "dst_param" of part "dst_part".
So far so good, why the "crazy" in the first line? Because this also:
* do type conversion!
* set properties of native parts, not just EXTERNAL!
The type conversion allows one to get an integer and display that in a
text property, or get an string and convert into a float.
The set of native parts is quite simple, basically a map of Edje.h
edje_object_part_*_set(). With that one can set the string to be used
by a TEXT, or set drag page/step/size/value! (page/step increments are
not supported at the moment, if it is worth, they may be supported in
future).
Sample EDC:
{{{
// test.edc, compile with edje_cc and run with edje_player
externals {
external: "elm";
}
collections {
group { name: "main";
parts {
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "entry"; type: EXTERNAL;
source: "elm/scrolled_entry";
description { state: "default" 0.0;
rel2.relative: 1.0 0.5;
}
}
part { name: "display"; type: TEXT;
description { state: "default" 0.0;
color: 0 128 0 255;
rel1.relative: 0.0 0.5;
text { font: "Sans"; size: 16; }
}
}
programs {
program {
signal: "changed";
source: "entry";
action: PARAM_COPY "entry" "text" "display" "text";
}
}
}
}
}
}}}
SVN revision: 47500