Dear List,
I want to access a BOX element's items from python code to change the
text on it.
Please see this picture:
http://laszlo.krekacs.googlepages.com/flowed_outofarea.png
Looks like accessing by part name is not possible because
the items are swallowed from external group.
Also accessing them via embryo script (.edc) file seems
impossible too (I could have implement some signaling between
python and embryo).
There are basically two way accessing them using C:
1) accessing them via eina iterator (complicated)
2) adding each element from C program, thats way we can access
them through a variable.
I would prefer this one, because of its simplicity, however I
do not find the corresponding python functions.
C has this function: evas_object_box_add() and evas_object_box_add_to().
In trunk/evas/src/lib/canvas/evas_object_box.c:477.
I didnt find it in python bindings. I examined how other
function is wrapped into python, like evas_object_image_add().
C:
evas_object_image.c
Python:
trunk/BINDINGS/python/python-evas/include/evas/c_evas.pxd:507
trunk/BINDINGS/python/python-evas/evas/evas.c_evas_object.image.pxi:132
Looks like thats only what is required (c_evas.pxd:507):
Evas_Object *evas_object_image_add(Evas *e)
So Im asking if it is possible to add at least evas_object_box_add() to python
bindings?
If the above is true, it would be as simple as adding this line:
Evas_Object *evas_object_box_add(Evas *e)
However I lack the knowledge what exactly required to compile the python
bindings. So I cant try out myself. I began to read what are these
.pxd and .pxi
files at http://wiki.cython.org/FAQ, but dont really see the whole picture.
I post the example python code[1], if somebody want to play with it
(the goal is to be able to change the items' texts):
http://pastebin.ca/1543898
http://pastebin.ca/1543897
Every idea, pointers are much appreciated!
Best regards,
Laszlo
[1]:
Python:
#!/usr/bin/env python
import ecore
import ecore.evas
import edje
import sys
import os
edje_obj_item0 = None
def load_edje(canvas = "", edje_file = "", group = ""):
""" Create an edje.Edje object from a file
@canvas: canvas object
@file: filename as string
@group: groupname as string
@returns: edje object
"""
try:
edje_obj = edje.Edje(canvas, file=edje_file, group=group)
return edje_obj
except Exception, e: # should be EdjeLoadError, but it's wrong on python2.5
raise SystemExit("Failed to load Edje file: %s" % edje_file)
def update_screen():
edje_obj_item0.part_text_set('text', 'Updated after one sec')
def init_gui():
"""Initialize the main window """
f = ecore.evas.SoftwareX11
ee = f(w=320, h=640)
edje.frametime_set(1.0 / 15)
# Load and setup UI
ee.title = "Edje App Launcher Demo"
ee.name_class = ("Edje_App_Launcher_Demo", "Edje_App_Launcher_Demo")
canvas = ee.evas
edje_file = os.path.join(os.path.dirname(sys.argv[0]),
"01-app_launcher.edj")
edje_obj_main = load_edje(canvas, edje_file, "main")
edje_obj_main.size = canvas.size
edje_obj_main.show()
ee.data["edje"] = edje_obj_main
edje_obj_main.focus = True
global edje_obj_item0
#edje_obj_item0 = load_edje(canvas, edje_file, "item0")
edje_obj_item1 = load_edje(canvas, edje_file, "item1")
edje_obj_item2 = load_edje(canvas, edje_file, "item2")
edje_obj_item3 = load_edje(canvas, edje_file, "item3")
edje_obj_item4 = load_edje(canvas, edje_file, "item4")
edje_obj_item5 = load_edje(canvas, edje_file, "item5")
edje_obj_item0 = edje_obj_main.part_swallow_get('item0')
ee.show()
edje_obj_item0.part_text_set('text','Overwritten')
edje_obj_item0.size = canvas.size
edje_obj_item0.show()
ecore.timer_add(1.0, update_screen)
ecore.main_loop_begin()
if __name__ == '__main__':
init_gui()
-------------------------------------------------------------------
01-app_launcher.edc:
images {
image: "background.jpeg" LOSSY 95;
image: "audio_player.png" COMP;
image: "image_viewer.png" COMP;
image: "video_player.png" COMP;
image: "web_browser.png" COMP;
}
styles {
style {
name: "style";
base: "font=DejaVuSans font_size=20 text_class=item align=top
valign=center color=#000 wrap=word";
tag: "numbering" "+ style=soft_outline outline_color=#7fa3ed
color=#d8e0e3";
}
}
collections {
group {
name: "main";
min: 800 480;
script {
public selected = 0;
public pulsing = 0;
public stop_pulsing_timer_id = 0;
const Float:pulse_timeout = 10.0;
public unselect() {
if (get_int(selected) == 0)
return;
run_program(get_int(selected));
set_int(selected, 0);
}
public stop_pulsing() {
if (get_int(pulsing) == 0)
return;
set_state(get_int(pulsing), "default", 0.0);
set_int(pulsing, 0);
if (get_int(stop_pulsing_timer_id) != 0) {
cancel_timer(get_int(stop_pulsing_timer_id));
set_int(stop_pulsing_timer_id, 0);
}
}
public stop_pulsing_cb(val) {
stop_pulsing();
return 0;
}
}
parts {
part {
name: "background";
type: IMAGE;
mouse_events: 0;
description {
state: "default" 0.0;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0; offset: -1 -1; }
image { normal: "background.jpeg"; }
}
}
#define ICON(part_name, relx, rely, part_label) \
part { \
name: part_name"_area"; \
type: RECT; \
mouse_events: 1; \
description { \
state: "default" 0.0; \
rel1 { relative: relx rely; offset: -96 -96; } \
rel2 { relative: relx rely; offset: 95 95; } \
color: 0 0 0 0; \
} \
} \
part { \
name: part_name"_pulser"; \
type: IMAGE; \
mouse_events: 0; \
description { \
state: "default" 0.0; \
rel1 { relative: 0.5 0.5; offset: -64 -64; } \
rel2 { relative: 0.5 0.5; offset: 63 63; } \
color: 0 0 0 0; \
image { normal: part_name".png"; } \
} \
description { \
state: "selected" 0.0; \
inherit: "default" 0.0; \
rel1 { relative: 0.5 0.5; offset: -64 -64; } \
rel2 { relative: 0.5 0.5; offset: 63 63; } \
color: 255 255 255 128; \
} \
description { \
state: "selected" 1.0; \
inherit: "default" 0.0; \
rel1 { relative: 0.5 0.5; offset: -96 -96; } \
rel2 { relative: 0.5 0.5; offset: 95 95; } \
color: 255 255 255 0; \
} \
} \
part { \
name: part_name; \
type: IMAGE; \
mouse_events: 0; \
description { \
state: "default" 0.0; \
rel1 { relative: relx rely; offset: -32 -32; } \
rel2 { relative: relx rely; offset: 31 31; } \
image { normal: part_name".png"; } \
} \
description { \
state: "selected" 0.0; \
inherit: "default" 0.0; \
rel1 { relative: 0.5 0.5; offset: -64 -64; } \
rel2 { relative: 0.5 0.5; offset: 63 63; } \
} \
} \
part { \
name: part_name"_label"; \
type: TEXT; \
effect: SHADOW; \
mouse_events: 0; \
description { \
state: "default" 0.0; \
rel1 { relative: relx rely; offset: -100 33; } \
rel2 { relative: relx rely; offset: 99 53; } \
align: 0.5 0.5; \
color: 255 255 255 255; \
color2: 0 0 0 255; \
color3: 0 0 0 255; \
text { \
font: "Sans"; \
size: 18; \
text: part_label; \
min: 1 1; \
fit: 1 1; \
} \
} \
description { \
state: "selected" 0.0; \
inherit: "default" 0.0; \
rel1 { relative: 0.5 0.5; offset: -128 -25; } \
rel2 { relative: 0.5 0.5; offset: 127 24; } \
} \
}
ICON("web_browser", 0.25, 0.25, "Web Browser")
ICON("audio_player", 0.75, 0.25, "Audio Player")
ICON("image_viewer", 0.25, 0.75, "Image Viewer")
ICON("video_player", 0.75, 0.75, "Video Player")
part {
name: box_bg;
type: RECT;
mouse_events: 1;
description {
state: "default" 0.0;
rel1 { relative: 0.2 0.1;}
rel2 { relative: 0.9 0.3;}
color: 255 255 255 155;
}
}
part {
name: "area";
type: BOX;
mouse_events:1;
description {
state: "default" 0.0;
align: 0.0 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: box_bg;
}
rel2 {
relative: 1.0 1.0;
to: box_bg;
}
box {
layout: "horizontal_flow";
padding: 0 2;
align: 0.5 0.5;
}
}
box {
items {
item {
type: GROUP;
source:"item0";
}
item {
type: GROUP;
source:"item1";
}
item {
type: GROUP;
source:"item2";
}
item {
type: GROUP;
source:"item3";
}
item {
type: GROUP;
source:"item4";
}
item {
type: GROUP;
source:"item5";
}
item {
type: GROUP;
source:"item6";
}
}
}
}
}
programs {
#define ICON_PROGRAMS(part_name) \
program { \
name: "set_selected_"part_name; \
signal: "mouse,clicked,1"; \
source: part_name"_area"; \
script { \
const pid = PROGRAM:"unselect_"part_name; \
if (get_int(selected) == pid) \
return; \
stop_pulsing(); \
unselect(); \
set_int(selected, pid); \
emit("selected", part_name); \
} \
} \
program { \
name: "select_"part_name; \
signal: "selected"; \
source: part_name; \
action: STATE_SET "selected" 0.0; \
target: part_name; \
target: part_name"_label"; \
transition: LINEAR 0.2; \
after: "start_pulse_"part_name; \
} \
program { \
name: "start_pulse_"part_name; \
script { \
stop_pulsing(); \
set_int(pulsing, PART:part_name"_pulser"); \
new i = timer(pulse_timeout, "stop_pulsing_cb", 0); \
set_int(stop_pulsing_timer_id, i); \
run_program(PROGRAM:"shrink_"part_name); \
} \
} \
program { \
name: "shrink_"part_name; \
action: STATE_SET "selected" 0.0; \
target: part_name"_pulser"; \
after: "grow_"part_name; \
} \
program { \
name: "grow_"part_name; \
action: STATE_SET "selected" 1.0; \
target: part_name"_pulser"; \
transition: LINEAR 0.5; \
after: "check_continue_pulsing_"part_name; \
} \
program { \
name: "check_continue_pulsing_"part_name; \
script { \
if (get_int(pulsing) == PART:part_name"_pulser") \
run_program(PROGRAM:"shrink_"part_name); \
else \
set_state(PART:part_name"_pulser", "default", 0.0); \
} \
} \
program { \
name: "unselect_"part_name; \
signal: "unselect_"part_name; \
action: STATE_SET "default" 0.0; \
target: part_name; \
target: part_name"_label"; \
target: part_name"_pulser"; \
transition: LINEAR 0.2; \
}
ICON_PROGRAMS("web_browser")
ICON_PROGRAMS("audio_player")
ICON_PROGRAMS("image_viewer")
ICON_PROGRAMS("video_player")
}
}
group {
name: "item0";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Kossuth";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item1";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "és";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item2";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "valamint";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item3";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item4";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item5";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item6";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item7";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item8";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item9";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
group {
name: "item10";
parts {
part {
name: "bg";
type: RECT;
mouse_events:1;
description {
state: "default" 0.0;
color: 0 0 0 255;
rel1 { relative: 0.0 0.0; }
rel2 { relative: 1.0 1.0;}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part {
name: "bg_inner";
type: RECT;
mouse_events:0;
description {
state: "default" 0.0;
color: 255 255 255 255;
rel1 {
relative: 0.0 0.0;
to: bg;
offset: 1 1;
}
rel2 {
relative: 1.0 1.0;
to: bg;
offset: -2 -2;
}
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
}
}
part {
name: "text";
type: TEXT;
mouse_events:0;
description {
visible: 1;
state: "default" 0.0;
color: 0 0 0 255;
align: 0.1 0.1;
text {
align: 0.5 0.5;
size: 20;
font: DejaVuSans;
text: "Batthyány";
min: 1 1;
}
rel1 { relative: 0.1 0.1; }
rel2 { relative: 0.9 0.9; }
}
description {
state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "item_pressed";
signal: "mouse,down,1";
source: "bg";
action: STATE_SET "pressed" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
program {
name: "item_released";
signal: "mouse,up,1";
source: "bg";
action: STATE_SET "default" 0.0;
target: "bg";
target: "bg_inner";
target: "text";
}
}
}
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel