2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
8 cb_changed(void *data __UNUSED__, Evas_Object *o __UNUSED__, void *event)
10 Elm_Object_Item *it = event;
11 printf("item %p %s\n", it, elm_object_item_text_get(it));
15 test_segment_control(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
17 Evas_Object *win, *ic, *ic1, *ic2, *ic3, *ic4, *ic5;
18 Elm_Object_Item *seg_it;
31 {{EVAS_HINT_EXPAND, 0.0}, {EVAS_HINT_FILL, EVAS_HINT_FILL}},
32 {{0.0, 0.0}, {0.5, 0.5}}
35 win = elm_win_util_standard_add("segmentcontrol", "Segment Control");
36 elm_win_autodel_set(win, EINA_TRUE);
39 bx = elm_box_add(win);
40 elm_box_padding_set(bx, 0, 10);
41 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
42 evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
43 elm_win_resize_object_add(win, bx);
45 for (i = 0; i < EINA_C_ARRAY_LENGTH(exp_modes); i++)
47 const struct exp_mode *em = exp_modes + i;
48 ic = elm_icon_add(bx);
49 elm_icon_standard_set(ic, "home");
50 evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
52 ic1 = elm_icon_add(bx);
53 elm_icon_standard_set(ic1, "home");
54 evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
56 sc = elm_segment_control_add(win);
57 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
58 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
59 elm_segment_control_item_add(sc, NULL, "Only Text");
60 seg_it = elm_segment_control_item_add(sc, ic, NULL);
61 elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
62 elm_segment_control_item_add(sc, ic1, "Text_Icon_test");
63 elm_segment_control_item_add(sc, NULL, "Seg4");
64 elm_segment_control_item_add(sc, NULL, "Seg5");
65 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
67 elm_box_pack_end(bx, sc);
69 sc = elm_segment_control_add(win);
70 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
71 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
72 elm_segment_control_item_add(sc, NULL, "SegmentItem");
73 seg_it = elm_segment_control_item_add(sc, NULL, "SegmentItem");
74 elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
75 elm_segment_control_item_add(sc, NULL, "SegmentControlItem");
76 elm_segment_control_item_add(sc, NULL, "SegmentItem");
77 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
79 elm_box_pack_end(bx, sc);
81 ic2 = elm_icon_add(bx);
82 elm_icon_standard_set(ic2, "home");
83 evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
85 ic3 = elm_icon_add(bx);
86 elm_icon_standard_set(ic3, "home");
87 evas_object_size_hint_aspect_set(ic3, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
89 ic4 = elm_icon_add(bx);
90 elm_icon_standard_set(ic4, "home");
91 evas_object_size_hint_aspect_set(ic4, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
93 sc = elm_segment_control_add(win);
94 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
95 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
96 elm_segment_control_item_add(sc, ic2, NULL);
97 seg_it = elm_segment_control_item_add(sc, ic3, NULL);
98 elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
99 elm_segment_control_item_add(sc, ic4, NULL);
100 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
101 evas_object_show(sc);
102 elm_box_pack_end(bx, sc);
104 ic5 = elm_icon_add(bx);
105 elm_icon_standard_set(ic5, "home");
106 evas_object_size_hint_aspect_set(ic5, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
108 sc = elm_segment_control_add(win);
109 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
110 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
111 elm_segment_control_item_add(sc, NULL, "Disabled");
112 seg_it = elm_segment_control_item_add(sc, ic5, "Disabled");
113 elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
114 elm_segment_control_item_add(sc, NULL, "Disabled");
115 elm_object_disabled_set(sc, EINA_TRUE);
116 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
117 evas_object_show(sc);
118 elm_box_pack_end(bx, sc);
120 sc = elm_segment_control_add(win);
121 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
122 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
123 elm_segment_control_item_add(sc, NULL, "Single");
124 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
125 evas_object_show(sc);
126 elm_box_pack_end(bx, sc);
128 sc = elm_segment_control_add(win);
129 evas_object_size_hint_weight_set(sc, em->weight.w, em->weight.h);
130 evas_object_size_hint_align_set(sc, em->align.x, em->align.y);
131 elm_segment_control_item_add(sc, NULL, "Single Disabled");
132 elm_object_disabled_set(sc, EINA_TRUE);
133 evas_object_smart_callback_add(sc, "changed", cb_changed, NULL);
134 evas_object_show(sc);
135 elm_box_pack_end(bx, sc);
138 evas_object_show(bx);
140 evas_object_resize(win, 400, 300);
141 evas_object_show(win);