void Browser_Common_View::show_notify_popup(const char *msg, int timeout, Eina_Bool has_control_bar) { if (m_selection_info_layout) { evas_object_del(m_selection_info_layout); m_selection_info_layout = NULL; } if (m_selection_info) { evas_object_del(m_selection_info); m_selection_info = NULL; } int angle = 0; angle = elm_win_rotation_get(m_win); m_selection_info = elm_notify_add(m_navi_bar); if (!m_selection_info) { BROWSER_LOGD("elm_notify_add failed"); return; } elm_notify_orient_set(m_selection_info, ELM_NOTIFY_ORIENT_BOTTOM); evas_object_size_hint_weight_set(m_selection_info, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_selection_info, EVAS_HINT_FILL, EVAS_HINT_FILL); m_selection_info_layout = elm_layout_add(m_selection_info); if (!m_selection_info_layout) { BROWSER_LOGD("elm_layout_add failed"); return; } evas_object_size_hint_weight_set(m_selection_info_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_selection_info_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(m_selection_info, m_selection_info_layout); if (has_control_bar) { if(angle == 0 || angle == 180) elm_layout_theme_set(m_selection_info_layout, "standard", "selectioninfo", "vertical/bottom_64"); else elm_layout_theme_set(m_selection_info_layout, "standard", "selectioninfo", "horizontal/bottom_64"); } else { if(angle == 0 || angle == 180) elm_layout_theme_set(m_selection_info_layout, "standard", "selectioninfo", "vertical/bottom_12"); else elm_layout_theme_set(m_selection_info_layout, "standard", "selectioninfo", "horizontal/bottom_12"); } edje_object_part_text_set(elm_layout_edje_get(m_selection_info_layout), "elm.text", msg); if (timeout) elm_notify_timeout_set(m_selection_info, timeout); evas_object_show(m_selection_info); }
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 _test_layout() { Evas_Object *win, *box, *ly, *bt; char buf[PATH_MAX]; win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in); box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); ly = elm_layout_add(win); if (!elm_layout_theme_set( ly, "layout", "application", "titlebar")) fprintf(stderr, "Failed to set layout"); elm_object_part_text_set(ly, "elm.text", "Some title"); evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, ly); evas_object_show(ly); bt = elm_icon_add(win); elm_icon_standard_set(bt, "chat"); evas_object_size_hint_min_set(bt, 20, 20); elm_layout_icon_set(ly, bt); bt = elm_icon_add(win); elm_icon_standard_set(bt, "close"); evas_object_size_hint_min_set(bt, 20, 20); elm_layout_end_set(ly, bt); ly = elm_layout_add(win); snprintf(buf, sizeof(buf), "%s/test.edj","./data/"); elm_layout_file_set(ly, buf, "layout"); evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(box, ly); //elm_win_resize_object_add(win, ly); evas_object_show(ly); bt = elm_button_add(win); elm_object_text_set(bt, "Button 1"); elm_object_part_content_set(ly, "element1", bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Button 2"); elm_object_part_content_set(ly, "element2", bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Button 3"); elm_object_part_content_set(ly, "element3", bt); evas_object_show(bt); evas_object_show(win); }
/** * send * This function is used to create layout * @param parent pointer to evas object, as the parent * @return when success, return a pointer to evas object, or return NULL * @exception */ Evas_Object *widget_create_layout(Evas_Object * parent) { Evas_Object *ret = elm_layout_add(parent); retvm_if(!ret, NULL, "elm_layout_add error!"); elm_layout_theme_set(ret, "layout", "application", "noindicator"); evas_object_size_hint_weight_set(ret, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(ret); return ret; }
Evas_Object *ui_utils_layout_add(Evas_Object *parent, Evas_Object_Event_Cb destroy_cb, void *cb_data) { Evas_Object *layout = elm_layout_add(parent); RETVM_IF(!layout, NULL, "elm_layout_add() failed"); elm_layout_theme_set(layout, "layout", "application", "default"); evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE, destroy_cb, cb_data); return layout; }
static void _block_events_theme_apply(Evas_Object *obj) { ELM_NOTIFY_DATA_GET(obj, sd); const char *style = elm_widget_style_get(obj); if (!elm_layout_theme_set (sd->block_events, "notify", "block_events", style)) CRI("Failed to set layout!"); }
static Evas_Object* consumerapp_create_base_layout(Evas_Object *parent) { Evas_Object *base; base = elm_layout_add(parent); elm_layout_theme_set(base , "layout" , "application" , "default"); evas_object_size_hint_weight_set(base , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND); evas_object_show(base); return base; }
static Evas_Object* gl_content_get_cb(void *data, Evas_Object *obj, const char *part) { settings_internal_data *sd = data; if (!sd || !sd->item || !part) return NULL; const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(sd->item); if (!itc) return NULL; Evas_Object *content = NULL; /* Check the item class style and add the object needed in the item class*/ /* Here, puts the icon in the item class to add it to genlist items */ if (itc->item_style && !strcmp(itc->item_style, "1line")) { if (part && !strcmp(part, "elm.icon.1") && sd->selected.menu[sd->selected.index].icon != NULL) { content = elm_layout_add(obj); elm_layout_theme_set(content, "layout", "list/B/type.3", "default"); Evas_Object *icon = create_icon(content, sd->selected.menu[sd->selected.index].icon); elm_layout_content_set(content, "elm.swallow.content", icon); } if (sd->selected.menu[sd->selected.index].type == SETTINGS_TYPE_TOGGLE) { if (part && !strcmp(part, "elm.icon.right")) { Evas_Object *icon; content = elm_layout_add(obj); elm_layout_theme_set(content, "layout", "list/A/right.icon", "default"); if (sd->selected.menu[sd->selected.index].toggled) icon = create_icon(sd->parent, "toggle_on.png"); else icon = create_icon(sd->parent, "toggle_off.png"); elm_layout_content_set(content, "elm.swallow.content", icon); } } } return content; }
void create_base_gui(appdata_s *ad) { /* * Widget Tree * Window * - conform * - layout main * - naviframe */ /* Window */ ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE); elm_win_conformant_set(ad->win, EINA_TRUE); elm_win_autodel_set(ad->win, EINA_TRUE); if (elm_win_wm_rotation_supported_get(ad->win)) { int rots[4] = { 0, 90, 180, 270 }; elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4); } evas_object_smart_callback_add(ad->win, "delete,request", win_delete_request_cb, NULL); /* Conformant */ ad->conform = elm_conformant_add(ad->win); evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(ad->win, ad->conform); evas_object_show(ad->conform); // Eext Circle Surface Creation ad->circle_surface = eext_circle_surface_conformant_add(ad->conform); /* Indicator */ /* elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW); */ /* Base Layout */ ad->layout = elm_layout_add(ad->conform); evas_object_size_hint_weight_set(ad->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_theme_set(ad->layout, "layout", "application", "default"); evas_object_show(ad->layout); elm_object_content_set(ad->conform, ad->layout); /* Naviframe */ ad->nf = elm_naviframe_add(ad->layout); create_main_view(ad); elm_object_part_content_set(ad->layout, "elm.swallow.content", ad->nf); eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL); /* Show window after base gui is set up */ evas_object_show(ad->win); }
static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) { if (data == NULL) { return NULL; } devpkr_gl_data_t *gdata = (devpkr_gl_data_t *) data; Evas_Object* icon = NULL; if (!strncmp(part, "elm.icon.1", strlen(part))) { char *temp_str = NULL; Evas_Object *ic = elm_layout_add(obj); icon = elm_image_add(ic); elm_layout_theme_set(ic, "layout", "list/B/type.1", "default"); temp_str = g_strdup_printf("%s.png", gdata->dev_info->ap_image_path); elm_image_file_set(icon, CUSTOM_EDITFIELD_PATH, temp_str); g_free(temp_str); if (gdata->highlighted == TRUE) { ea_theme_object_color_set(icon, "AO001P"); } else { ea_theme_object_color_set(icon, "AO001"); } evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_content_set(ic, "elm.swallow.content", icon); return ic; } else if (!strncmp(part, "elm.icon.2", strlen(part))) { switch (gdata->connection_mode) { case ITEM_CONNECTION_MODE_OFF: break; case ITEM_CONNECTION_MODE_CONNECTING: icon = elm_progressbar_add(obj); elm_object_style_set(icon, "process_medium"); evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_progressbar_pulse(icon, TRUE); break; default: break; } } return icon; }
static Evas_Object* _create_layout_main(Evas_Object* parent) { Evas_Object *layout; layout = elm_layout_add(parent); elm_layout_theme_set(layout, "layout", "application", "default"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(parent, layout); evas_object_show(layout); return layout; }
static Evas_Object * _emo_content_get(void *data, Evas_Object *obj, const char *part) { Evas_Object *o; if (strcmp(part, "elm.swallow.icon")) return NULL; o = elm_layout_add(obj); if (!elm_layout_theme_set(o, "entry/emoticon", data, "default")) { fprintf(stderr, "Failed to set layout"); return NULL; } return o; }
static Evas_Object *__create_main_layout(Evas_Object *win) { Evas_Object *layout; layout = elm_layout_add(win); if (!layout) return NULL; if (!elm_layout_theme_set(layout, "layout", "application", "default")) BROWSER_LOGE("elm_layout_theme_set is failed.\n"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,indicator", "elm"); evas_object_show(layout); return layout; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *layout, *icon; struct _App app; app.current = 0; win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); elm_win_title_set(win, "Layout"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255, 255, 255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Adding layout and filling it with widgets layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); elm_layout_theme_set( layout, "layout", "application", "content-back-next"); evas_object_show(layout); icon = elm_icon_add(win); elm_icon_standard_set(icon, images[app.current]); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_part_content_set(layout, "elm.swallow.content", icon); elm_object_signal_callback_add(layout, "elm,action,back", "", _signal_cb, &app); elm_object_signal_callback_add(layout, "elm,action,next", "", _signal_cb, &app); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
Evas_Object *common_utils_create_conformant_layout(Evas_Object *navi_frame) { Evas_Object *layout; layout = elm_layout_add(navi_frame); elm_layout_theme_set(layout, "layout", "application", "noindicator"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); Evas_Object* bg = elm_bg_add(layout); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_style_set(bg, "group_list"); elm_object_part_content_set(layout, "elm.swallow.bg", bg); Evas_Object* conform = __common_utils_create_conformant(layout); assertm_if(NULL == conform, "NULL!!"); elm_object_part_content_set(layout, "elm.swallow.content", conform); evas_object_show(layout); return layout; }
static void create_base_gui(appdata_s *ad) { // Window ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE); elm_win_conformant_set(ad->win, EINA_TRUE); elm_win_autodel_set(ad->win, EINA_TRUE); if (elm_win_wm_rotation_supported_get(ad->win)) { int rots[4] = { 0, 90, 180, 270 }; elm_win_wm_rotation_available_rotations_set(ad->win, (const int *) (&rots), 4); } evas_object_smart_callback_add(ad->win, "delete,request", win_delete_request_cb, NULL); // Conformant ad->conform = elm_conformant_add(ad->win); evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(ad->win, ad->conform); evas_object_show(ad->conform); // Base Layout ad->layout = elm_layout_add(ad->conform); evas_object_size_hint_weight_set(ad->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_theme_set(ad->layout, "layout", "application", "default"); evas_object_show(ad->layout); elm_object_content_set(ad->conform, ad->layout); // Naviframe ad->nf = elm_naviframe_add(ad->layout); create_list_view(ad); elm_object_part_content_set(ad->layout, "elm.swallow.content", ad->nf); eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL); // Show window after base gui is set up evas_object_show(ad->win); }
static void create_main_layout(interface *intf, Evas_Object *conform, view_e view_type) { /* Add a layout to the conformant */ Evas_Object *layout = elm_layout_add(conform); elm_layout_theme_set(layout, "layout", "drawer", "panel"); evas_object_show(layout); /* Create the panel and put it in the layout */ intf->sidebar = create_sidebar(intf, layout, view_type); elm_object_part_content_set(layout, "elm.swallow.left", sidebar_get_widget(intf->sidebar)); /* Create the content box and put it in the layout */ intf->main_box = create_main_box(intf, layout); elm_object_part_content_set(layout, "elm.swallow.content", intf->main_box); /* */ evas_object_show(intf->main_box); elm_object_content_set(conform, layout); }
/** * send * This function is used to create editfield * @param parent pointer to Evas object, as the parent * @param title string for title * @param str string for guide text * @param clicked_cb cb, when get single "clicked" * @param data_clicked @clicked_cb data * @param unfocused_cb cb, when get signle "unfocused" * @param data_unfocused @unfocused data * @return when success, return a pointer to evas object, or return NULL * @exception */ Evas_Object *widget_create_editfield(Evas_Object * parent, gchar * title, gchar * str, EO_SMART_CB clicked_cb, void *data_clicked, EO_SMART_CB unfocused_cb, void *data_unfocused) { Evas_Object *ret = NULL; int nErr = SUCCESS; Evas_Object *layout = elm_layout_add(parent); elm_layout_theme_set(layout, "layout", "editfield", "title"); Evas_Object *entry = elm_entry_add(parent); elm_object_part_content_set(layout, "elm.swallow.content", entry); ret = layout; CLK_RETVM_IF(!ret, NULL, "elm_editfield_add error!"); elm_object_part_text_set(layout, "elm.text", title); elm_object_part_text_set(layout, "elm.text", str); elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); evas_object_size_hint_weight_set(ret, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ret, EVAS_HINT_FILL, 0); //cb evas_object_smart_callback_add(entry, "changed", _entry_changed_cb, layout); evas_object_smart_callback_add(entry, "focused", _entry_focused_cb, layout); evas_object_smart_callback_add(entry, "unfocused", _entry_unfocused_cb, layout); elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry); End: //CLK_FUN_END(); return ret; }
Evas_Object* viewer_manager_create(Evas_Object* _parent) { __COMMON_FUNC_ENTER__; if (manager_object != NULL || _parent == NULL) { __COMMON_FUNC_EXIT__; return NULL; } manager_object = (viewer_manager_object*) g_malloc0(sizeof(viewer_manager_object)); memset(manager_object, 0, sizeof(viewer_manager_object)); manager_object->list = NULL; manager_object->item_hidden_btn = NULL; manager_object->item_sep_above_hidden_button = NULL; manager_object->item_sep_below_hidden_button = NULL; manager_object->item_header = NULL; /* Add Full Layout */ Evas_Object* layout = elm_layout_add(_parent); elm_layout_theme_set(layout, "layout", "application", "default"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(_parent, layout); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm"); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm"); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,indicator", "elm"); /* Add Naviframe */ manager_object->nav = elm_naviframe_add(layout); elm_object_part_content_set(layout, "elm.swallow.content", manager_object->nav); /* Add back button on Navigationbar */ Evas_Object* button_back = elm_button_add(manager_object->nav); /* Add MainView Layout */ Evas_Object* view_content = elm_layout_add(manager_object->nav); elm_layout_theme_set(view_content, "standard", "window", "integration"); edje_object_signal_emit(elm_layout_edje_get(view_content), "elm,state,show,content", "elm"); edje_object_signal_emit(elm_layout_edje_get(view_content), "elm,bg,show,group_list", "elm"); /* Add Conformant */ Evas_Object *conform = elm_conformant_add(manager_object->nav); elm_object_style_set(conform, "internal_layout"); elm_object_part_content_set(view_content, "elm.swallow.content", conform); evas_object_show(conform); /* Add Genlist */ manager_object->list = viewer_list_create(manager_object->nav); assertm_if(NULL == manager_object->list, "manager_object->list is NULL!!"); viewer_manager_header_create(manager_object->list); viewer_manager_bottom_create(manager_object->list); viewer_manager_hidden_button_create(manager_object->list); elm_object_content_set(conform, manager_object->list); if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) { Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), NULL, NULL, view_content, NULL); evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it); Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); if(ug_app_state->lbutton_setup_wizard_prev_icon != NULL && ug_app_state->lbutton_setup_wizard != NULL) { manager_object->prev_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->lbutton_setup_wizard_prev_icon, ug_app_state->lbutton_setup_wizard, _lbutton_click_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); } if(ug_app_state->rbutton_setup_wizard_scan_icon != NULL) { manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_scan_icon, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); } if(ug_app_state->rbutton_setup_wizard_skip_icon != NULL && ug_app_state->rbutton_setup_wizard_skip != NULL) { manager_object->next_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_skip_icon, ug_app_state->rbutton_setup_wizard_skip, _rbutton_click_cb, NULL); } elm_object_item_part_content_set(navi_it, "controlbar", toolbar); } else { Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, NULL, view_content, NULL); evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it); Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); elm_object_item_part_content_set(navi_it, "controlbar", toolbar); elm_object_style_set(button_back, "naviframe/back_btn/default"); evas_object_smart_callback_add(button_back, "clicked", _back_sk_cb, NULL); } evas_object_show(layout); __COMMON_FUNC_EXIT__; return layout; }
EAPI int elm_main(int argc, char **argv) { Evas_Object *window; Evas_Object *layout; Evas_Object *edje; Evas_Object *grid; Evas_Object *list; char path[PATH_MAX]; Eina_Bool quit_option = EINA_FALSE; int args; Ecore_Getopt_Value values[] = { ECORE_GETOPT_VALUE_BOOL(crazy_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_NONE }; _log_domain = eina_log_domain_register("Excessive", NULL); if (_log_domain < 0) { EINA_LOG_CRIT("could not create log domain 'Excessive'."); return -1; } args = ecore_getopt_parse(&options, values, argc, argv); if (args < 0) { ERR("could not parse command line options."); return -1; } if (quit_option) return 0; excessive_browse_init(); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_theme_extension_add(NULL, PACKAGE_DATA_DIR "/themes/theme.edj"); elm_theme_overlay_add(NULL, PACKAGE_DATA_DIR "/themes/theme.edj"); elm_need_efreet(); elm_need_ethumb(); window = elm_win_add(NULL, PACKAGE_NAME, ELM_WIN_BASIC); if (!window) { ERR("could'nt create window."); return -1; } /* FIXME: later remember last size */ elm_win_alpha_set(window, 1); evas_object_resize(window, 800, 600); elm_win_title_set(window, PACKAGE_STRING); elm_win_autodel_set(window, 1); layout = elm_layout_add(window); if (!layout) { ERR("couldn't create layout object."); return -1; } evas_object_size_hint_align_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(window, layout); if (!elm_layout_theme_set(layout, "layout", "application", "content")) { ERR("could not load style 'content' from theme"); return -1; } evas_object_show(layout); evas_object_show(window); edje = elm_layout_edje_get(layout); grid = edje_object_part_external_object_get(edje, "grid"); evas_object_data_set(grid, "excessive/layout", layout); evas_object_data_set(layout, "excessive/win", window); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_gengrid_bounce_set(grid, EINA_FALSE, EINA_TRUE); elm_gengrid_align_set(grid, 0.5, 0.5); elm_gengrid_item_size_set(grid, 128, 128); excessive_browse_load(layout); list = edje_object_part_external_object_get(edje, "shortcut"); excessive_shortcut_init(list, grid); if (argc < args + 1) { getcwd(path, PATH_MAX); excessive_browse_directory(grid, path); } else { excessive_browse_directory(grid, argv[args]); } elm_run(); excessive_shortcut_shutdown(); excessive_browse_shutdown(); return 0; }
minicontrol* mini_control_view_create(playback_service *p_ps, application *p_app) { minicontrol *mc = calloc(1, sizeof(*mc)); mc->p_ps = p_ps; mc->p_app = p_app; ps = p_ps; const Evas_Coord width = 720; const Evas_Coord height = 120; /* main widget */ mc->win = minicontrol_create_window("quickpanel", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, mini_control_event_cb); evas_object_resize(mc->win, width, height); evas_object_hide(mc->win); /* Create layout and set the theme */ Evas_Object *wlayout = elm_layout_add(mc->win); evas_object_resize(wlayout, width, height); //elm_win_resize_object_add(mc->win, layout); elm_layout_theme_set(wlayout, "layout", "application", "default"); evas_object_show(wlayout); /* Create the background */ Evas_Object *bg = elm_bg_add(wlayout); elm_bg_color_set(bg, 255, 255, 255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(bg); /* Set the background to the theme */ elm_object_part_content_set(wlayout, "elm.swallow.bg", bg); /* */ Evas_Object *layout = mc->layout = elm_layout_add(mc->win); elm_object_part_content_set(wlayout, "elm.swallow.content", layout); /* */ elm_layout_file_set(layout, QUICKPANELCONTROLS_EDJ, "quick_panel_controls"); evas_object_show(layout); mc->play_button = create_icon(layout, "ic_play_circle_normal_o.png"); mc->next_button = create_icon(layout, "ic_widget_next_normal.png"); mc->prev_button = create_icon(layout, "ic_widget_previous_normal.png"); mc->cover = create_icon(layout, "background_cone.png"); elm_object_part_content_set(layout, "swallow.play", mc->play_button); elm_object_part_content_set(layout, "swallow.cover", mc->cover); elm_object_part_content_set(layout, "swallow.previous", mc->prev_button); elm_object_part_content_set(layout, "swallow.next", mc->next_button); evas_object_event_callback_add(mc->play_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->next_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->prev_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); Evas_Object *edje = elm_layout_edje_get(layout); edje_object_signal_callback_add(edje, "mouse,clicked,1", "hub_background", mini_control_background_action_cb, mc); /* */ Evas_Object *progress = mc->progress = elm_slider_add(layout); elm_slider_horizontal_set(progress, EINA_TRUE); elm_object_disabled_set(progress, EINA_TRUE); elm_object_part_content_set(layout, "swallow.progress", progress); return mc; }
static void winmain() { const char* name = "Hapti_UI_TEST"; int w,h; Evas_Object* win; Evas_Object* bg; Evas_Object* main_layout; Evas_Object* btns_box; Evas_Object* btn_vibe; Evas_Object* btn_stop; Evas* evas; win = elm_win_add(NULL, name, ELM_WIN_BASIC); if(!win) return; elm_win_title_set(win, name); elm_win_borderless_set(win, EINA_TRUE); elm_win_autodel_set(win, EINA_TRUE); evas_object_smart_callback_add(win, "delete,request", _quit_cb, NULL); ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h); evas_object_resize(win, w, h); evas_object_show(win); evas = evas_object_evas_get(win); // set background bg = elm_bg_add(win); elm_bg_color_set(bg, 0xff, 0xff, 0xff); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Base Layout main_layout = elm_layout_add(win); elm_layout_theme_set(main_layout, "layout", "application", "default"); evas_object_size_hint_weight_set(main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, main_layout); evas_object_show(main_layout); // Indicator elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW); // add box btns_box = elm_box_add(win); elm_box_horizontal_set(btns_box, EINA_TRUE); elm_win_resize_object_add(win, btns_box); elm_box_padding_set(btns_box, 10, 0); evas_object_show(btns_box); // add Button btn_vibe = elm_button_add(main_layout); btn_stop = elm_button_add(main_layout); elm_object_text_set(btn_vibe, "Vibe"); elm_object_text_set(btn_stop, "Stop"); evas_object_smart_callback_add(btn_vibe, "clicked", _vibe_clicked_cb, NULL); evas_object_smart_callback_add(btn_stop, "clicked", _stop_clicked_cb, NULL); elm_box_pack_end(btns_box, btn_vibe); elm_box_pack_end(btns_box, btn_stop); evas_object_show(btn_vibe); evas_object_show(btn_stop); }
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); }