static void _entry_unfocused_cb(void *data, Evas_Object * obj, void *event_info) { if (elm_entry_is_empty(obj)) elm_object_signal_emit(data, "elm,state,guidetext,show", "elm"); elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); }
static void __common_utils_entry_changed_cb(void* data, Evas_Object* obj, void* event_info) { if (obj == NULL) return; if (elm_object_focus_get(data)) { if (elm_entry_is_empty(obj)) elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); else elm_object_signal_emit(data, "elm,state,eraser,show", "elm"); } }
Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info) { Evas_Object *layout = elm_layout_add(parent); Evas_Object *entry = NULL; elm_layout_theme_set(layout, "layout", "editfield", "title"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_text_set(layout, "elm.text", entry_info->title); elm_object_part_text_set(layout, "elm.guidetext", entry_info->guide_txt); // Set guidetext. entry = elm_entry_add(layout); elm_object_part_content_set(layout, "elm.swallow.content", entry); elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); elm_entry_entry_set(entry, entry_info->entry_txt); elm_entry_input_panel_layout_set(entry, entry_info->panel_type); if (!elm_entry_is_empty(entry)) { INFO_LOG(UG_NAME_NORMAL, "entry is not empty"); elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); if (!entry_info->guide_txt || strlen(entry_info->guide_txt) <= 0) evas_object_data_set(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY, g_strdup(entry_info->entry_txt)); } evas_object_smart_callback_add(entry, "changed", __common_utils_entry_changed_cb, layout); evas_object_smart_callback_add(entry, "focused", __common_utils_entry_focused_cb, layout); evas_object_smart_callback_add(entry, "unfocused", __common_utils_entry_unfocused_cb, layout); elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __common_utils_eraser_clicked_cb, entry); evas_object_show(entry); return layout; }
void Browser_Common_View::show_notify_popup_layout(const char *msg, int timeout, Evas_Object *parent) { if (m_selinfo_layout) { evas_object_del(m_selinfo_layout); m_selinfo_layout = NULL; } m_selinfo_layout = elm_layout_add(parent); if (!m_selinfo_layout) { BROWSER_LOGD("elm_layout_add failed"); return; } elm_object_part_content_set(parent, "selinfo.swallow.contents", m_selinfo_layout); evas_object_size_hint_weight_set(m_selinfo_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_selinfo_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(m_selection_info, m_selection_info_layout); /* Set the layout theme */ elm_layout_theme_set(m_selinfo_layout, "standard", "selectioninfo", "default"); /* Set the text */ elm_object_part_text_set(m_selinfo_layout, "elm.text", msg); elm_object_signal_emit(parent, "show,selection,info", "elm"); }
static void _scroll(void *data, Evas_Object *obj, void *ei) { int cur_page; page_data *pd = (page_data *)data; elm_scroller_current_page_get(pd->scroller, &cur_page, NULL); if (cur_page != pd->cur_page) { printf("scroll: %d\n", pd->cur_page); pd->prev_page = pd->cur_page; pd->cur_page = cur_page; if ((pd->cur_page >= NUM_ITEMS_CIRCLE_EVEN) || (pd->prev_page >= NUM_ITEMS_CIRCLE_EVEN)) return; elm_object_signal_emit(pd->page_layout[pd->cur_page], "elm,state,thumbnail,select", "elm"); elm_object_signal_emit(pd->page_layout[pd->prev_page], "elm,state,thumbnail,unselect", "elm"); _index_sync(pd); } }
static void _set_osd_timer(Enna_View_Player_Video_Data *priv, double t) { FREE_NULL_FUNC(ecore_timer_del, priv->osd_timer); if (t > 0.0) priv->osd_timer = ecore_timer_add(t, _osd_timer_cb, priv); elm_object_signal_emit(priv->layout, "show,osd", "enna"); }
void Browser_Common_View::hide_notify_popup_layout(Evas_Object *parent) { if (m_selinfo_layout) { evas_object_del(m_selinfo_layout); m_selinfo_layout = NULL; } elm_object_signal_emit(parent, "hide,selection,info", "elm"); }
static void _swallow_btn_cb(void *data, Evas_Object *btn, void *event_info) { Evas_Object *layout = data; if (_btn_large == EINA_FALSE) { _btn_large = EINA_TRUE; elm_object_signal_emit(layout, "button,enlarge", ""); elm_object_text_set(btn, "Reduce me!"); } else { _btn_large = EINA_FALSE; elm_object_signal_emit(layout, "button,reduce", ""); elm_object_text_set(btn, "Enlarge me!"); } }
static void __common_utils_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info) { INFO_LOG(UG_NAME_NORMAL, "__common_utils_entry_unfocused_cb entered"); if (elm_entry_is_empty(obj)) { const char *guide_txt = elm_object_part_text_get(data, "elm.guidetext"); INFO_LOG(UG_NAME_NORMAL, "entry is empty"); if (guide_txt && strlen(guide_txt)) { /* If guide text exists then show it */ elm_object_signal_emit(data, "elm,state,guidetext,show", "elm"); } else { /* If default entry text exists then show it */ char *default_entry_txt = NULL; default_entry_txt = evas_object_data_get(data, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY); if (default_entry_txt && strlen(default_entry_txt)) { elm_entry_entry_set(obj, default_entry_txt); } } } elm_object_signal_emit(data, "elm,state,eraser,hide", "elm"); }
static Eina_Bool _osd_timer_cb(void *data) { Enna_View_Player_Video_Data *priv = data; if (priv->on_hold) { return EINA_FALSE; } elm_object_signal_emit(priv->layout, "hide,osd", "enna"); return EINA_TRUE; }
/* set focus to edit field idler callback to show ime. */ Eina_Bool Browser_Common_View::__set_focus_editfield_idler_cb(void *edit_field) { BROWSER_LOGD("[%s]", __func__); if (!edit_field) return ECORE_CALLBACK_CANCEL; elm_object_focus_set((Evas_Object *)edit_field, EINA_TRUE); elm_object_signal_emit((Evas_Object *)edit_field, "clicked", "elm"); Evas_Object *entry = br_elm_editfield_entry_get((Evas_Object *)edit_field); elm_entry_cursor_end_set(entry); return ECORE_CALLBACK_CANCEL; }
static void _btn_clicked(void *data, Evas_Object *obj, void *event_info) { Evas_Object *win = data; Evas_Object *ctxpopup; Evas_Coord x,y; ctxpopup = elm_ctxpopup_add(win); elm_object_style_set(ctxpopup, "1text.1icon"); elm_object_signal_emit(ctxpopup, "elm,action,focus", "elm"); item_new(ctxpopup, "Text List1", "home"); item_new(ctxpopup, "Text List2", "file"); item_new(ctxpopup, "Text List3", "delete"); switch (dir) { case 0: elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP, 0, 0, 0); break; case 1: elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_DOWN, 0, 0, 0); break; case 2: elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_LEFT, 0, 0, 0); break; case 3: elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_RIGHT, 0, 0, 0); break; } evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); evas_object_move(ctxpopup, x, y); evas_object_show(ctxpopup); eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK, _ctxpopup_back_key_cb, NULL); }
static void _create_view_layout(Evas_Object *parent, char *layout_file, char *index_style, char it_style[][20], Eina_Bool even_num) { Evas_Object *layout, *scroller, *box, *left_right_rect, *img, *page_layout, *index; Elm_Object_Item *nf_it; char img_path[PATH_MAX]; int i, max_items; page_data *pd = (page_data *)calloc(1, sizeof(page_data)); /* Create Layout */ layout = elm_layout_add(parent); elm_layout_file_set(layout, ELM_DEMO_EDJ, layout_file); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(layout); evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd); pd->main_layout = layout; /* Create Scroller */ scroller = elm_scroller_add(layout); elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE); evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_scroller_page_scroll_limit_set(scroller, 1, 0); elm_object_scroll_lock_y_set(scroller, EINA_TRUE); elm_object_part_content_set(layout, "scroller", scroller); evas_object_show(scroller); evas_object_smart_callback_add(scroller, "scroll", _scroll, pd); pd->scroller = scroller; /* Create Box */ box = elm_box_add(scroller); elm_box_horizontal_set(box, EINA_TRUE); elm_object_content_set(scroller, box); evas_object_show(box); pd->box = box; /* Create Rect object for page_layout center align in Box */ left_right_rect = evas_object_rectangle_add(evas_object_evas_get(box)); elm_box_pack_end(box, left_right_rect); /* Create Pages */ if (even_num) max_items = NUM_INDEX_CIRCLE_EVEN; else max_items = NUM_ITEMS; for (i = 0; i < max_items; ++i) { page_layout = elm_layout_add(box); pd->page_layout[i] = page_layout; evas_object_size_hint_weight_set(page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL); elm_layout_theme_set(page_layout, "layout", "body_thumbnail", "default"); evas_object_show(page_layout); img = elm_image_add(page_layout); snprintf(img_path, sizeof(img_path), "%s/100_%d.jpg", ICON_DIR, (i % 6) + 1); elm_image_file_set(img, img_path, NULL); elm_object_part_content_set(page_layout, "elm.icon", img); /* Make unselect state all of the pages except first one */ if (i) elm_object_signal_emit(page_layout, "elm,state,thumbnail,unselect", "elm"); elm_box_pack_end(box, page_layout); } /*Add resize callback for get a actual size of layout and main layout */ evas_object_event_callback_add(pd->page_layout[0], EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd); elm_box_pack_end(box, left_right_rect); pd->left_right_rect = left_right_rect; /* Add animator for page transfer effect */ ecore_animator_add(animator_cb, pd); /* Create Index */ index = elm_index_add(layout); elm_object_style_set(index, index_style); evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_index_horizontal_set(index, EINA_TRUE); elm_index_autohide_disabled_set(index, EINA_TRUE); elm_object_part_content_set(layout, "controller", index); for (i = 0; i < max_items; ++i) { pd->it[i] = elm_index_item_append(index, NULL, NULL, (void *) i); if (it_style) elm_object_item_style_set(pd->it[i], it_style[i]); } pd->min_page = 0; pd->max_page = max_items - 1; elm_index_level_go(index, 0); elm_index_item_selected_set(pd->it[0], EINA_TRUE); pd->cur_page = 0; pd->index = index; pd->last_it = pd->it[0]; evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd); nf_it = elm_naviframe_item_push(parent, NULL, NULL, NULL, layout, NULL); elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE); }