From f989cea52ddcff188bfab56a4cf5b29612d7ebaf Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 28 Dec 2019 20:36:52 +0000 Subject: [PATCH] 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 --- data/elementary/themes/edc/elm/radio.edc | 643 +++++++++++++++++++++++ src/bin/elementary/test_check.c | 63 ++- src/bin/elementary/test_radio.c | 44 +- 3 files changed, 733 insertions(+), 17 deletions(-) diff --git a/data/elementary/themes/edc/elm/radio.edc b/data/elementary/themes/edc/elm/radio.edc index 6d137b8a17..71d538e0b5 100644 --- a/data/elementary/themes/edc/elm/radio.edc +++ b/data/elementary/themes/edc/elm/radio.edc @@ -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 +} diff --git a/src/bin/elementary/test_check.c b/src/bin/elementary/test_check.c index 40ca00dfbe..b47145e773 100644 --- a/src/bin/elementary/test_check.c +++ b/src/bin/elementary/test_check.c @@ -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); } diff --git a/src/bin/elementary/test_radio.c b/src/bin/elementary/test_radio.c index 608893e9a0..d27494f8d9 100644 --- a/src/bin/elementary/test_radio.c +++ b/src/bin/elementary/test_radio.c @@ -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); }