elm - add plain and icon style radio and check and elm tests for it

this will be common enough to put into elm - there is no way to do a
gimp style "tool palette" where you select one of them (like one from
a set of radio buttons) at all times... but you don't want the "round
circle" but instead want it to look more like a button to fit in with
a palette style look. this calls for styles... so here they are.

@feat
This commit is contained in:
Carsten Haitzler 2019-12-28 20:36:52 +00:00
parent 2e854ce7ed
commit f989cea52d
3 changed files with 733 additions and 17 deletions

View File

@ -288,3 +288,646 @@ group { name: "elm/radio/base/default";
#undef MASK
#undef DISABLE
}
group { name: "elm/radio/base/plain";
alias: "elm/check/base/plain";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
images.image: "horizontal_separated_bar_small_glow.png" COMP;
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
#define SELECTED 8
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
new s = m & SELECTED;
if (s) {
set_state(PART:"base", "selected", 0.0);
set_state(PART:"bar", "selected", 0.0);
} else {
set_state(PART:"base", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
}
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"elm.text", "disabled", 0.0);
set_state(PART:"base", "disabled", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
}
}
parts {
part { name: "base"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: -1 0;
rel2.offset: 0 1;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
}
}
part { name: "elm.swallow.content"; type: SWALLOW;
scale: 1;
clip_to: "clip";
description { state: "default" 0.0;
fixed: 1 0;
visible: 0;
align: 0.0 0.5;
max: 0 0;
rel1.offset: 6 5;
rel1.to: "base";
rel2.relative: 0.0 1.0;
rel2.offset: 6 -8;
rel2.to: "base";
}
description { state: "icononly" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 0.5 0.5;
max: 9999 9999;
min: 16 16;
rel2.relative: 1.0 1.0;
rel2.offset: -7 -8;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
aspect: 1.0 1.0;
max: 9999 9999;
min: 16 16;
}
}
part { name: "sizer_content"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "radio_text";
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
description { state: "icononly" 0.0;
inherit: "default" 0.0;
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
part { name: "elm.text"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 2 4;
rel1.to_x: "elm.swallow.content";
rel1.relative: 1.0 0.0;
rel1.to_y: "base";
rel2.offset: -8 -8;
rel2.to: "base";
color: FN_COL_DEFAULT;
color_class: "radio_text";
text { font: FN; size: 10;
min: 0 0;
align: 0.0 0.5;
text_class: "radio";
}
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "radio_text_disabled";
color3: 255 255 255 255;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
text.min: 1 1;
text.ellipsis: -1;
}
description { state: "disabled_visible" 0.0;
inherit: "default" 0.0;
color_class: "radio_text_disabled";
color3: 255 255 255 255;
visible: 1;
text.min: 1 1;
text.ellipsis: -1;
}
}
image { "bar"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
fill.smooth: 0;
fixed: 0 1;
rel.to: "base";
rel1.relative: 0.0 1.0;
rel1.offset: 1 -12;
rel2.offset: -2 -3;
color: 255 255 255 0;
visible: 0;
}
desc { "selected";
inherit: "default";
color: 255 255 255 255;
visible: 1;
}
}
part { name: "event"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
}
programs {
program { signal: "mouse,down,1"; source: "event";
action: STATE_SET "selected" 0.0;
target: "base";
}
program { signal: "mouse,up,1"; source: "event";
script {
new m = get_int(btmode);
eval_mode(m);
}
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,radio,toggle" "elm";
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
}
program { signal: "elm,state,*,on"; source: "elm";
script {
new m = get_int(btmode);
m |= SELECTED; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,*,off"; source: "elm";
script {
new m = get_int(btmode);
m &= ~SELECTED; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,text,visible"; source: "elm";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,text,hidden"; source: "elm";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,icon,visible"; source: "elm";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,icon,hidden"; source: "elm";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,disabled"; source: "elm";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,enabled"; source: "elm";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
}
group { name: "elm/radio/base/icon";
alias: "elm/check/base/icon";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
images.image: "horizontal_separated_bar_small_glow.png" COMP;
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
#define SELECTED 8
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
new s = m & SELECTED;
if (s) {
set_state(PART:"base", "selected", 0.0);
set_state(PART:"bar", "selected", 0.0);
} else {
set_state(PART:"base", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
}
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"elm.text", "disabled", 0.0);
set_state(PART:"base", "disabled", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
}
}
parts {
part { name: "base"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: -1 0;
rel2.offset: 0 1;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
}
}
part { name: "elm.swallow.content"; type: SWALLOW;
scale: 1;
clip_to: "clip";
description { state: "default" 0.0;
fixed: 0 1;
visible: 0;
align: 0.5 0.0;
max: 0 0;
rel1.offset: 6 2;
rel1.to: "base";
rel2.relative: 1.0 0.0;
rel2.offset: -7 2;
rel2.to: "base";
}
description { state: "icononly" 0.0;
inherit: "default" 0.0;
fixed: 0 0;
visible: 1;
align: 0.5 0.5;
max: 9999 9999;
min: 16 16;
rel2.relative: 1.0 1.0;
rel2.offset: -7 -8;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
fixed: 0 0;
visible: 1;
rel1.offset: 6 5;
rel2.offset: -7 5;
aspect: 1.0 1.0;
max: 9999 9999;
min: 16 16;
}
}
part { name: "sizer_content"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "radio_text";
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
description { state: "icononly" 0.0;
inherit: "default" 0.0;
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
part { name: "elm.text"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 6 2;
rel1.to_y: "elm.swallow.content";
rel1.relative: 0.0 1.0;
rel2.offset: -8 -8;
rel2.to: "base";
color: FN_COL_DEFAULT;
color_class: "radio_text";
text { font: FN; size: 10;
min: 0 0;
align: 0.5 1.0;
text_class: "radio";
}
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "radio_text_disabled";
color3: 255 255 255 255;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
text.min: 1 1;
text.ellipsis: -1;
}
description { state: "disabled_visible" 0.0;
inherit: "default" 0.0;
color_class: "radio_text_disabled";
color3: 255 255 255 255;
visible: 1;
text.min: 1 1;
text.ellipsis: -1;
}
}
image { "bar"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
fill.smooth: 0;
fixed: 0 1;
rel.to: "base";
rel1.relative: 0.0 1.0;
rel1.offset: 1 -12;
rel2.offset: -2 -3;
color: 255 255 255 0;
visible: 0;
}
desc { "selected";
inherit: "default";
color: 255 255 255 255;
visible: 1;
}
}
part { name: "event"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
}
programs {
program { signal: "mouse,down,1"; source: "event";
action: STATE_SET "selected" 0.0;
target: "base";
}
program { signal: "mouse,up,1"; source: "event";
script {
new m = get_int(btmode);
eval_mode(m);
}
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,radio,toggle" "elm";
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
}
program { signal: "elm,state,*,on"; source: "elm";
script {
new m = get_int(btmode);
m |= SELECTED; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,*,off"; source: "elm";
script {
new m = get_int(btmode);
m &= ~SELECTED; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,text,visible"; source: "elm";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,text,hidden"; source: "elm";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,icon,visible"; source: "elm";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,icon,hidden"; source: "elm";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,disabled"; source: "elm";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
program { signal: "elm,state,enabled"; source: "elm";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
}

View File

@ -29,25 +29,18 @@ state_changed_cb2(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EIN
elm_object_text_set(obj, "text is visible when check state is true.");
}
void
test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
static void
check_style(Evas_Object *win, Evas_Object *bx, const char *style)
{
Evas_Object *win, *bx, *ic, *ck, *ck0;
Evas_Object *ic, *ck, *ck0;
char buf[PATH_MAX];
win = elm_win_util_standard_add("check", "Check");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_image_file_set(ic, buf, NULL);
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Icon sized to check");
elm_object_part_content_set(ck, "icon", ic);
elm_check_state_set(ck, EINA_TRUE);
@ -62,6 +55,7 @@ test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
elm_image_file_set(ic, buf, NULL);
elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Icon not resizable");
elm_object_part_content_set(ck, "icon", ic);
elm_box_pack_end(bx, ck);
@ -71,17 +65,20 @@ test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
evas_object_smart_callback_add(ck, "changed", changed_cb, ck0);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Label Only");
elm_box_pack_end(bx, ck);
evas_object_show(ck);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Use State Pointer");
elm_check_state_pointer_set(ck, &eb);
elm_box_pack_end(bx, ck);
evas_object_show(ck);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Print State Pointer Value");
elm_box_pack_end(bx, ck);
evas_object_show(ck);
@ -92,6 +89,7 @@ test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
elm_image_file_set(ic, buf, NULL);
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_text_set(ck, "Disabled check");
elm_object_part_content_set(ck, "icon", ic);
elm_check_state_set(ck, EINA_TRUE);
@ -101,6 +99,7 @@ test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
evas_object_show(ic);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_box_pack_end(bx, ck);
elm_object_disabled_set(ck, EINA_TRUE);
evas_object_show(ck);
@ -110,21 +109,63 @@ test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
elm_image_file_set(ic, buf, NULL);
elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_object_part_content_set(ck, "icon", ic);
elm_box_pack_end(bx, ck);
evas_object_show(ck);
evas_object_show(ic);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_box_pack_end(bx, ck);
evas_object_show(ck);
ck = elm_check_add(win);
elm_object_style_set(ck, style);
elm_box_pack_end(bx, ck);
elm_object_text_set(ck, "text is visible when check state is true.");
elm_check_state_set(ck, EINA_TRUE);
evas_object_show(ck);
evas_object_smart_callback_add(ck, "changed", state_changed_cb2, NULL);
}
void
test_check(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
Evas_Object *win, *bx, *bx0;
win = elm_win_util_standard_add("check", "Check");
elm_win_autodel_set(win, EINA_TRUE);
bx0 = elm_box_add(win);
evas_object_size_hint_weight_set(bx0, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_horizontal_set(bx0, EINA_TRUE);
elm_win_resize_object_add(win, bx0);
evas_object_show(bx0);
bx = elm_box_add(win);
elm_box_horizontal_set(bx, EINA_FALSE);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
check_style(win, bx, "default");
bx = elm_box_add(win);
elm_box_horizontal_set(bx, EINA_FALSE);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
check_style(win, bx, "plain");
bx = elm_box_add(win);
elm_box_horizontal_set(bx, EINA_FALSE);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
check_style(win, bx, "icon");
evas_object_show(win);
}

View File

@ -18,7 +18,7 @@ _rdg_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
}
static void
_group_1_create(Evas_Object *bx)
_group_1_create(Evas_Object *bx, const char *style)
{
Evas_Object *bx2, *fr, *ic, *rd, *rdg;
char buf[PATH_MAX];
@ -41,6 +41,7 @@ _group_1_create(Evas_Object *bx)
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 0);
evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, 0.5);
@ -60,6 +61,7 @@ _group_1_create(Evas_Object *bx)
elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 1);
elm_radio_group_add(rd, rdg);
elm_object_text_set(rd, "Icon no scale");
@ -69,6 +71,7 @@ _group_1_create(Evas_Object *bx)
evas_object_smart_callback_add(rd, "changed", _rd_changed_cb, NULL);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 2);
elm_radio_group_add(rd, rdg); // add a radio button rd to a radio group rdg.
elm_object_text_set(rd, "Label Only");
@ -77,6 +80,7 @@ _group_1_create(Evas_Object *bx)
evas_object_smart_callback_add(rd, "changed", _rd_changed_cb, NULL);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 3);
elm_radio_group_add(rd, rdg); // add a radio button rd to a radio group rdg.
elm_object_text_set(rd, "Disabled");
@ -91,6 +95,7 @@ _group_1_create(Evas_Object *bx)
elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 4);
elm_radio_group_add(rd, rdg); // add a radio button rd to a radio group rdg.
elm_object_part_content_set(rd, "icon", ic);
@ -104,6 +109,7 @@ _group_1_create(Evas_Object *bx)
elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 5);
elm_radio_group_add(rd, rdg); // add a radio button rd to a radio group rdg.
elm_object_part_content_set(rd, "icon", ic);
@ -116,7 +122,7 @@ _group_1_create(Evas_Object *bx)
}
static void
_group_2_create(Evas_Object *bx)
_group_2_create(Evas_Object *bx, const char *style)
{
Evas_Object *bx2, *fr, *rd, *rdg;
@ -134,6 +140,7 @@ _group_2_create(Evas_Object *bx)
// radio 1
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 1);
evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, 0.5);
@ -148,6 +155,7 @@ _group_2_create(Evas_Object *bx)
// radio 2
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 2);
evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, 0.5);
@ -158,6 +166,7 @@ _group_2_create(Evas_Object *bx)
// radio 2
rd = elm_radio_add(bx2);
elm_object_style_set(rd, style);
elm_radio_state_value_set(rd, 3);
evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, 0.5);
@ -171,19 +180,42 @@ void
test_radio(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Evas_Object *win, *bx;
Evas_Object *win, *bx, *bx0;
win = elm_win_util_standard_add("radios", "Radios");
elm_win_autodel_set(win, EINA_TRUE);
bx0 = elm_box_add(win);
elm_box_horizontal_set(bx0, EINA_TRUE);
elm_win_resize_object_add(win, bx0);
evas_object_show(bx0);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
elm_box_horizontal_set(bx, EINA_TRUE);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
_group_1_create(bx);
_group_2_create(bx);
_group_1_create(bx, "default");
_group_2_create(bx, "default");
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_horizontal_set(bx, EINA_TRUE);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
_group_1_create(bx, "plain");
_group_2_create(bx, "plain");
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_horizontal_set(bx, EINA_TRUE);
elm_box_pack_end(bx0, bx);
evas_object_show(bx);
_group_1_create(bx, "icon");
_group_2_create(bx, "icon");
evas_object_show(win);
}