if (a) *a = obj->part.state.a; \
} while (0)
+void _eext_rotary_selector_color_class_parent_set(Evas_Object *obj, Evas_Object *parent);
+
static double
_min(const double a, const double b)
{
elm_object_style_set(icon, "rotary_selector_item");
evas_object_resize(icon, rsd->item_width, rsd->item_height);
evas_object_show(icon);
+ _eext_rotary_selector_color_class_parent_set(icon, rsd->rotary_selector);
action_bg = elm_layout_add(icon);
elm_layout_theme_set(action_bg, "rotary_selector", "item", "bg_image");
evas_object_show(action_bg);
elm_object_part_content_set(icon, "item,bg_image", action_bg);
+ _eext_rotary_selector_color_class_parent_set(action_bg, rsd->rotary_selector);
start_idx = rsd->current_page * _ROTARY_SELECTOR_PAGE_ITEM_MAX;
tmp_item->delete_enabled = EINA_FALSE;
_back_event_cb);
}
}
+
+void
+_eext_rotary_selector_color_class_parent_set(Evas_Object *obj, Evas_Object *parent)
+{
+ Evas_Object *edje = NULL, *parent_edje = NULL;
+
+ if (!obj || !parent) return;
+
+ if (eo_isa(obj, ELM_LAYOUT_CLASS))
+ edje = elm_layout_edje_get(obj);
+ else if (eo_isa(obj, EDJE_OBJECT_CLASS))
+ edje = obj;
+
+ if (eo_isa(parent, ELM_LAYOUT_CLASS))
+ parent_edje = elm_layout_edje_get(parent);
+ else if (eo_isa(parent, EDJE_OBJECT_CLASS))
+ parent_edje = parent;
+
+ if (!edje || !parent_edje)
+ {
+ ERR("There is a missing edje to have color class relationship... edje[%p], parent_edje[%p]", edje, parent_edje);
+ return;
+ }
+
+ edje_object_color_class_parent_set(edje, parent_edje);
+}
+
// ----------------------------------------- item API --------------------------------------//
static void
_item_coords_update(Eext_Rotary_Selector_Data *rsd, Eext_Rotary_Selector_Item *item)
rsd->prev_page = elm_layout_add(rsd->rotary_selector);
elm_layout_theme_set(rsd->prev_page, "rotary_selector", "previous_page", "default");
evas_object_smart_member_add(rsd->prev_page, rsd->rotary_selector);
+ _eext_rotary_selector_color_class_parent_set(rsd->prev_page, rsd->rotary_selector);
}
_circle_path_interpolator(rsd, 1, 0, -90, radius, radius, &coord_x, &coord_y, EINA_TRUE);
evas_object_move(rsd->prev_page, (Evas_Coord)(x + coord_x + rsd->page_item_width * 0.5 + 6),
rsd->next_page = elm_layout_add(rsd->rotary_selector);
elm_layout_theme_set(rsd->next_page, "rotary_selector", "next_page", "default");
evas_object_smart_member_add(rsd->next_page, rsd->rotary_selector);
+ _eext_rotary_selector_color_class_parent_set(rsd->next_page, rsd->rotary_selector);
}
_circle_path_interpolator(rsd, 1, 0, -90, radius, radius, &coord_x, &coord_y, EINA_TRUE);
evas_object_move(rsd->next_page, (Evas_Coord)(x + coord_x - rsd->page_item_width * 0.5 - 6),
evas_object_move(button, -_ROTARY_SELECTOR_SCREEN_WIDTH, -_ROTARY_SELECTOR_SCREEN_HEIGHT);
evas_object_resize(button, rsd->item_width, rsd->item_height);
evas_object_smart_member_add(button, rotary_selector);
+ _eext_rotary_selector_color_class_parent_set(button, rotary_selector);
if (!is_add_item)
{
Evas_Object *action_bg = elm_layout_add(button);
elm_layout_theme_set(action_bg, "rotary_selector", "item", "bg_image");
elm_object_part_content_set(button, "item,bg_image", action_bg);
+ _eext_rotary_selector_color_class_parent_set(action_bg, rotary_selector);
}
item = (Eext_Rotary_Selector_Item *)calloc(1, sizeof(Eext_Rotary_Selector_Item));
elm_object_mirrored_automatic_set(rsd->next_page, EINA_FALSE);
evas_object_smart_member_add(rsd->next_page, rsd->rotary_selector);
evas_object_show(rsd->next_page);
+ _eext_rotary_selector_color_class_parent_set(rsd->next_page, rsd->rotary_selector);
}
evas_object_geometry_get(rsd->rotary_selector, &x, &y, NULL, NULL);
_circle_path_interpolator(rsd, p, 255.f, 270.f, radius, radius,
elm_object_mirrored_automatic_set(rsd->prev_page, EINA_FALSE);
evas_object_smart_member_add(rsd->prev_page, rsd->rotary_selector);
evas_object_show(rsd->prev_page);
+ _eext_rotary_selector_color_class_parent_set(rsd->prev_page, rsd->rotary_selector);
}
evas_object_geometry_get(rsd->rotary_selector, &x, &y, NULL, NULL);
_circle_path_interpolator(rsd, p, -90.f, -105.f, radius, radius,
elm_object_mirrored_automatic_set(rsd->prev_page, EINA_FALSE);
evas_object_smart_member_add(rsd->prev_page, rsd->rotary_selector);
evas_object_show(rsd->prev_page);
+ _eext_rotary_selector_color_class_parent_set(rsd->prev_page, rsd->rotary_selector);
}
evas_object_geometry_get(rsd->rotary_selector, &x, &y, NULL, NULL);
_circle_path_interpolator(rsd, p, 255.f, 270.f, rsd->radius, rsd->radius,
elm_object_mirrored_automatic_set(rsd->next_page, EINA_FALSE);
evas_object_smart_member_add(rsd->next_page, rsd->rotary_selector);
evas_object_show(rsd->next_page);
+ _eext_rotary_selector_color_class_parent_set(rsd->next_page, rsd->rotary_selector);
}
evas_object_geometry_get(rsd->rotary_selector, &x, &y, NULL, NULL);
_circle_path_interpolator(rsd, p, 260.f, 245.f, rsd->radius, rsd->radius,
}
elm_layout_theme_set(selector_bg, "rotary_selector", "selector", "selector_bg");
-
elm_object_part_content_set(rotary_selector, "selector,bg_image", selector_bg);
+ _eext_rotary_selector_color_class_parent_set(selector_bg, rotary_selector);
//default selector content part
Evas_Object *content = elm_layout_add(rotary_selector);
elm_layout_theme_set(content, "rotary_selector", "content", "default");
elm_object_part_content_set(rotary_selector, "content", content);
+ _eext_rotary_selector_color_class_parent_set(content, rotary_selector);
eext_rotary_object_event_callback_add(rotary_selector, _rotary_selector_rotary_cb, rsd);
evas_object_event_callback_add(rotary_selector, EVAS_CALLBACK_MOVE, _rotary_selector_move_cb, rsd);