static Eina_Bool __cluster_view_scroll_timer_cb(void *data);
-static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_scroll_drag_start_cb(void *data, Evas_Object *obj, void *event_info);
static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info);
static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h);
static int __cluster_view_allpage_get_page_index(int x, int y);
evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL);
evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL);
- evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL);
+ evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,drag,start", __cluster_view_scroll_drag_start_cb, NULL);
cluster_view_s.box = elm_box_add(cluster_view_s.scroller);
elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE);
return ECORE_CALLBACK_CANCEL;
}
-static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info)
+static void __cluster_view_scroll_drag_start_cb(void *data, Evas_Object *obj, void *event_info)
{
cluster_view_s.is_srolling = true;
+ cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page);
+ Eina_List *find_list = NULL;
+ widget_data_t *item;
+ LOGD("Current Page : %d", cluster_view_s.current_page);
+ EINA_LIST_FOREACH(current_page->widget_list, find_list, item) {
+ widget_viewer_send_cancel_click_event(item);
+ }
}
static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info)
#endif
static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __widget_viewer_created_cb(void *data, Evas_Object *obj, void *event_info);
+static void __widget_viewer_faulted_cb(void *data, Evas_Object *obj, void *event_info);
+static void __widget_viewer_update_cb(void *data, Evas_Object *obj, void *event_info);
+static void __widget_viewer_extra_info_updated_cb(void *data, Evas_Object *obj, void *event_info);
+
void widget_viewer_init(Evas_Object *win)
{
widget_viewer_evas_init(win);
{
Evas_Object *widget_layout;
+ LOGD("pkg : %s , Content INfo : %s", item->pkg_name, item->content_info);
widget_layout = elm_layout_add(parent);
elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY);
evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
#ifndef _TEST_
int w, h;
- Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period);
+ Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, item->content_info, item->period);
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
//Notify widget_size_type_e to widget application.
widget_service_get_size(item->type, &w, &h);
evas_object_resize(widget, w, h);
+
+ evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_created_cb, item);
+ evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_FAULTED, __widget_viewer_faulted_cb, item);
+ evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_UPDATED, __widget_viewer_update_cb, item);
+ evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_EXTRA_INFO_UPDATED, __widget_viewer_extra_info_updated_cb, item);
+
#else // for TEST
/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout));
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
void widget_viewer_send_cancel_click_event(widget_data_t *item)
{
+ LOGD("Send to : %s", item->pkg_name);
Evas_Object *widget_obj = NULL;
widget_obj = elm_object_part_content_get(item->widget_layout, WIDGET_CONTENT);
widget_viewer_evas_cancel_click_event(widget_obj);
elm_object_part_content_set(item->widget_layout, WIDGET_CONTENT, item->widget_content);
}
}
+
+static void __widget_viewer_created_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ widget_data_t *widget = (widget_data_t*) data;
+ LOGD("Pkg : %s ", widget->pkg_name);
+ const char *content_info = widget_viewer_evas_get_content_info(widget->widget_content);
+ if (content_info) {
+ if (widget->content_info) {
+ free(widget->content_info);
+ widget->content_info = NULL;
+ }
+ widget->content_info = strdup(content_info);
+ LOGD("content info :%s",widget->content_info);
+ cluster_data_update(widget);
+ }
+}
+static void __widget_viewer_faulted_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ widget_data_t *widget = (widget_data_t*) data;
+ LOGD("Pkg : %s ", widget->pkg_name);
+}
+static void __widget_viewer_update_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ widget_data_t *widget = (widget_data_t*) data;
+ LOGD("Pkg : %s ", widget->pkg_name);
+ const char *content_info = widget_viewer_evas_get_content_info(widget->widget_content);
+ if (content_info) {
+ if (widget->content_info) {
+ free(widget->content_info);
+ widget->content_info = NULL;
+ }
+ widget->content_info = strdup(content_info);
+ LOGD("content info :%s",widget->content_info);
+ cluster_data_update(widget);
+ }
+}
+
+static void __widget_viewer_extra_info_updated_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ widget_data_t *widget = (widget_data_t*) data;
+ LOGD("Pkg : %s ", widget->pkg_name);
+ const char *content_info = widget_viewer_evas_get_content_info(widget->widget_content);
+ if (content_info) {
+ if (widget->content_info) {
+ free(widget->content_info);
+ widget->content_info = NULL;
+ }
+ widget->content_info = strdup(content_info);
+ LOGD("content info :%s",widget->content_info);
+ cluster_data_update(widget);
+ }
+}