Elementary segment control widget
This code snippet demonstrates how to create and use elementary segment control widget.
// called when segment control item is selected
static void segment_control_cb(void *data, Evas_Object *obj, void *event_info) {
Elm_Object_Item* item = event_info;
dlog_print(DLOG_DEBUG, LOG_TAG, "Selected: %s", elm_object_item_text_get(item));
}
static void segment_control_test(appdata_s *ad) {
// create a segment control object
Evas_Object *segment_control = elm_segment_control_add(ad->win);
evas_object_size_hint_weight_set(segment_control, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(ad->win, segment_control);
evas_object_show(segment_control);
// add an item with text
elm_segment_control_item_add(segment_control, NULL, "Item 1");
// add an item with icon
Evas_Object *icon = elm_icon_add(ad->win);
elm_icon_standard_set(icon, "home");
elm_segment_control_item_add(segment_control, icon, "Item 2");
// insert an item on the front
elm_segment_control_item_insert_at(segment_control, NULL, "Item 3", 0);
// callback for segment control changes
evas_object_smart_callback_add(segment_control, "changed", segment_control_cb, NULL);
}