efl/src/examples/edje/entry.edc

152 lines
3.9 KiB
Plaintext

efl_version: 1 22;
collections {
styles {
style {
name: "entry_style";
// This style wraps lines at word boundaries.
// Check Evas textblock's documentation to see all the options
base: "font="sans" font_size=10 color=#000 wrap="word" left_margin=2 right_margin=2";
}
}
group {
name: "example/main";
min: 12 50;
parts {
part {
name: "background";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
// 3 pixels of margin on left and top
rel1.offset: 3 3;
// 3 pixels of margin on right and bottom... -1 (default) -3 = -4
// Look at documentation about EDC parts positioning
rel2.offset: -4 -4;
}
}
part {
name: "example/text";
type: TEXTBLOCK;
scale: 1;
// It's mandatory to set entry_mode as editable.
entry_mode: EDITABLE;
select_mode: DEFAULT;
cursor_mode: UNDER;
mouse_events: 1;
// It causes a textblock that is editable to allow multiple lines
// for editing.
multiline: 1;
// Set groups used to be used as selection effect and
// cursor.
source: "example/selection";
source4: "example/cursor";
description {
state: "default" 0.0;
min: 12 50;
// Position text relative to background, with a small margin
rel1 {
to: "background";
offset: 2 2;
}
rel2 {
to: "background";
offset: -3 -3;
}
text {
style: "entry_style";
min: 0 1;
align: 0.0 0.0;
}
}
}
}
programs {
program {
name: "focus";
signal: "load";
source: "";
action: FOCUS_SET;
target: "example/text";
}
}
}
group {
name: "example/selection";
parts {
part {
name: "selection";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 180 180 180 255;
}
}
}
}
group {
name: "example/cursor";
min: 1 0;
parts {
part {
name: "cursor";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
min: 2 12;
color: 0 0 0 255;
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
color: 0 0 0 0;
}
}
}
// These programs are used to blink the cursor. They're
// started by the "load" signal, emitted when the EDJ file is loaded.
// It's a infinite loop between "default" and "hidden" states of
// the "cursor" part.
programs {
program {
name: "cursor_hide";
signal: "load";
source: "";
action: STATE_SET "hidden" 0.0;
target: "cursor";
transition: SINUSOIDAL 0.2;
after: "cursor_hide_timer";
}
program {
name: "cursor_hide_timer";
in: 0.2 0.0;
after: "cursor_show";
}
program {
name: "cursor_show";
action: STATE_SET "default" 0.0;
target: "cursor";
after: "cursor_show_timer";
}
program {
name: "cursor_show_timer";
in: 0.5 0.0;
after: "cursor_hide";
}
}
}
}