int message_show_view_init(char* path, GHashTable *properties) { struct MessageShowViewData *view; Evas_Object *win, *ico, *box, *obj; int ret; GVariant *tmp; const char *direction = NULL; Eina_Bool in_msg = EINA_FALSE; /* path MUST always be set! It will be freed by destroying the messageviews hashtable in here, thus must be a copy */ if (!path) { g_warning("Trying to initialize a message view without path!"); return 1; } g_debug("Initializing the contact view for '%s'", path); view = malloc(sizeof(struct MessageShowViewData)); if (!view) { g_critical("Failed to allocate message view for '%s'", path); if (properties) { g_hash_table_unref(properties); } free(path); return 1; } ret = ui_utils_view_init(VIEW_PTR(*view), ELM_WIN_BASIC, D_("Message"), NULL, NULL, _destroy_cb); if (ret) { g_critical("Failed to init message view for '%s'", path); if (properties) { g_hash_table_unref(properties); } free(view); free(path); return ret; } /* cache the views to open only one view per message */ if (messageviews == NULL) { messageviews = g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL); } g_hash_table_insert(messageviews, path, view); view->path = path; view->number = NULL; view->name = NULL; view->photopath = NULL; elm_theme_extension_add(NULL, phoneui_theme); win = ui_utils_view_window_get(VIEW_PTR(*view)); ui_utils_view_delete_callback_set(VIEW_PTR(*view), _delete_cb); ui_utils_view_layout_set(VIEW_PTR(*view), phoneui_theme, "phoneui/messages/show"); GList *keys = g_hash_table_get_keys(properties); for (; keys; keys = keys->next) { tmp = g_hash_table_lookup(properties, keys->data); if (tmp) { g_debug("--- %s: %s", (char *)keys->data, g_variant_print(tmp, TRUE)); } } tmp = g_hash_table_lookup(properties, "Peer"); if (!tmp) { tmp = g_hash_table_lookup(properties, "Sender"); } if (!tmp) { tmp = g_hash_table_lookup(properties, "Recipient"); } if (tmp) { view->number = g_variant_dup_string(tmp, NULL); g_debug("Found number %s - starting lookup", view->number); // FIXME: use new @Contacts feature from opimd whenever it is // clear how to do that :P phoneui_utils_contact_lookup(view->number, _common_name_callback, common_utils_object_ref(view)); ui_utils_view_text_set(VIEW_PTR(*view), "text_number", view->number); } tmp = g_hash_table_lookup(properties, "Timestamp"); if (tmp) { char *date = common_utils_timestamp_to_date( (long)g_variant_get_int32(tmp)); if (date) { g_debug("Found date %s", date); ui_utils_view_text_set(VIEW_PTR(*view), "text_date", date); free(date); } } view->photo = elm_icon_add(win); evas_object_size_hint_aspect_set(view->photo, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); elm_image_file_set(view->photo, phoneui_theme, "icon/contact"); ui_utils_view_swallow(VIEW_PTR(*view), "photo", view->photo); evas_object_show(view->photo); ico = elm_icon_add(win); tmp = g_hash_table_lookup(properties, "Direction"); if (tmp) { direction = g_variant_get_string(tmp, NULL); if (strcmp(direction, "in") == 0) { g_debug("Setting status icon for an incoming message"); in_msg = EINA_TRUE; elm_image_file_set(ico, phoneui_theme, "icon/phonelog-incoming"); } else { g_debug("Setting status icon for a sent message"); in_msg = EINA_FALSE; elm_image_file_set(ico, phoneui_theme, "icon/phonelog-outgoing"); } } ui_utils_view_swallow(VIEW_PTR(*view), "icon_status", ico); evas_object_show(ico); const char *content = NULL; tmp = g_hash_table_lookup(properties, "Content"); if (tmp) { content = elm_entry_utf8_to_markup(g_variant_get_string(tmp, NULL)); } view->sc_content = elm_scroller_add(win); elm_scroller_bounce_set(view->sc_content, EINA_FALSE, EINA_FALSE); view->content = elm_entry_add(win); elm_entry_anchor_hover_style_set(view->content, "popout"); elm_entry_anchor_hover_parent_set(view->content, win); evas_object_size_hint_weight_set(view->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); if (content) { elm_object_text_set(view->content, content); } elm_object_content_set(view->sc_content, view->content); evas_object_show(view->content); ui_utils_view_swallow(VIEW_PTR(*view), "text_content", view->sc_content); evas_object_show(view->sc_content); obj = elm_button_add(win); elm_object_text_set(obj, D_("Close")); evas_object_smart_callback_add(obj, "clicked", _close_clicked, view); ui_utils_view_swallow(VIEW_PTR(*view), "button_close", obj); evas_object_show(obj); // Options button with hover view->hv = elm_hover_add(win); obj = elm_button_add(win); elm_object_text_set(obj, D_("Options")); evas_object_smart_callback_add(obj, "clicked", _hover_bt_1, view->hv); ui_utils_view_swallow(VIEW_PTR(*view), "button_options", obj); evas_object_show(obj); elm_hover_parent_set(view->hv, win); elm_hover_target_set(view->hv, obj); box = elm_box_add(win); elm_box_horizontal_set(box, 0); elm_box_homogeneous_set(box, 1); evas_object_show(box); obj = elm_button_add(win); elm_object_text_set(obj, D_("Delete")); evas_object_size_hint_min_set(obj, 140, 80); evas_object_smart_callback_add(obj, "clicked", _delete_clicked, view); evas_object_show(obj); elm_box_pack_end(box, obj); if (in_msg) { obj = elm_button_add(win); elm_object_text_set(obj, D_("Call")); evas_object_size_hint_min_set(obj, 140, 80); evas_object_smart_callback_add(obj, "clicked", _call_clicked, view); evas_object_show(obj); elm_box_pack_end(box, obj); } obj = elm_button_add(win); elm_object_text_set(obj, D_("Add Contact")); evas_object_size_hint_min_set(obj, 140, 80); evas_object_smart_callback_add(obj, "clicked", _new_contact_clicked, view); evas_object_show(obj); elm_box_pack_end(box, obj); view->add_contact_bt = obj; obj = elm_button_add(win); elm_object_text_set(obj, D_("Forward")); evas_object_size_hint_min_set(obj, 140, 80); evas_object_smart_callback_add(obj, "clicked", _forward_clicked, view); evas_object_show(obj); elm_box_pack_end(box, obj); elm_object_part_content_set(view->hv, "top", box); obj = elm_button_add(win); elm_object_text_set(obj, D_("Answer")); evas_object_smart_callback_add(obj, "clicked", _answer_clicked, view); ui_utils_view_swallow(VIEW_PTR(*view), "button_answer", obj); evas_object_show(obj); if (in_msg) { g_debug("going to set read status for the message"); phoneui_utils_message_set_read_status(view->path, 1, NULL, NULL); g_debug("done - destroying properties now"); } g_hash_table_destroy(properties); g_debug("done"); return 0; }
int ewallset_main() { Evas_Object *win, *bg, *bx, *bx2, *bx3, *bt, *ic, *image , *frame, *rd, *rdg,*sl; int tw,th; char buf[1024]; e->win = elm_win_add(NULL, "Ewallset", ELM_WIN_BASIC); elm_win_autodel_set(e->win, 1); evas_object_focus_set(e->win, 1); evas_object_smart_callback_add(e->win, "delete,request", usr_click_cancel, NULL); bg = elm_bg_add(e->win); elm_win_resize_object_add(e->win, bg); evas_object_size_hint_weight_set(bg, 1.0, 1.0); evas_object_show(bg); bx = elm_box_add(e->win); evas_object_size_hint_weight_set(bx, 1.0, 1.0); elm_win_resize_object_add(e->win,bx); evas_object_show(bx); image = elm_image_add(bx); elm_image_file_set(image, e->image_file, NULL); evas_object_size_hint_weight_set(image, 1.0, 1.0); evas_object_size_hint_align_set(image, -1.0, -1.0); elm_image_object_size_get(image,&e->w,&e->h); get_correct_size(410,e->w,e->h,&tw,&th,BY_HEIGHT); //printf("Res:%dx%d \n",e->w,e->h); //_get_correct_size(w,h,&tw,&th); evas_object_size_hint_min_set(image, tw, th); elm_box_pack_end(bx, image); evas_object_show(image); snprintf(buf, sizeof(buf), "Ewallset - %s", ecore_file_file_get(e->image_file)); elm_win_title_set(e->win, buf); e->quality = 90; sl = elm_slider_add(e->win); elm_slider_indicator_show_set(sl, EINA_FALSE); elm_object_text_set(sl, "Quality"); elm_slider_unit_format_set(sl, "%1.0f Percent"); elm_slider_span_size_set(sl, 250); elm_slider_min_max_set(sl, 10, 100); elm_slider_value_set(sl, e->quality); evas_object_smart_callback_add(sl, "delay,changed", slider_change_cb, NULL); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, 0.0, 0.0); elm_box_pack_end(bx, sl); evas_object_show(sl); frame = elm_frame_add(e->win); elm_object_text_set(frame,"Where to place this Wallpaper"); elm_object_style_set(frame,"outdent_bottom"); elm_box_pack_end(bx, frame); evas_object_show(frame); bx3 = elm_box_add(e->win); elm_box_horizontal_set(bx3, 1); elm_object_content_set(frame,bx3); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 0); elm_object_text_set(rd, "All Desktops"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); e->rdg = rd; rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 1); elm_radio_group_add(rd, e->rdg); elm_object_text_set(rd, "This Desktop"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 2); elm_radio_group_add(rd, e->rdg); elm_object_text_set(rd, "This Screen"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); ecore_timer_add(0.1,get_config_timer,NULL); frame = elm_frame_add(e->win); elm_object_text_set(frame,"Fill and Stretch Options"); elm_object_style_set(frame,"outdent_top"); elm_box_pack_end(bx, frame); evas_object_show(frame); bx3 = elm_box_add(e->win); elm_box_horizontal_set(bx3, 1); elm_box_homogeneous_set(bx3, EINA_TRUE); elm_object_content_set(frame,bx3); evas_object_show(bx3); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_STRETCH); elm_object_text_set(rd, "Stretch"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rdg = rd; rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_CENTER); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Center"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_IN); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Within"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_OUT); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Fill"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_IN_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile-In"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); elm_radio_value_set(rdg, 0); bx2 = elm_box_add(e->win); elm_box_horizontal_set(bx2, 1); elm_box_homogeneous_set(bx2, EINA_TRUE); elm_box_pack_end(bx, bx2); evas_object_show(bx2); ic = elm_icon_add(e->win); elm_icon_file_set(ic, "/usr/share/ewallset/data/dialog-ok.png", NULL); bt = elm_button_add(bx2); elm_object_text_set(bt, "Continue"); //elm_button_icon_set(bt, ic); evas_object_smart_callback_add(bt, "clicked", usr_click_ok, NULL); elm_box_pack_end(bx2, bt); evas_object_show(bt); ic = elm_icon_add(e->win); elm_icon_file_set(ic, "/usr/share/ewallset/data/dialog-cancel.png", NULL); bt = elm_button_add(bx2); elm_object_text_set(bt, "Cancel"); //elm_button_icon_set(bt, ic); evas_object_smart_callback_add(bt, "clicked", usr_click_cancel, NULL); elm_box_pack_end(bx2, bt); evas_object_show(bt); evas_object_show(e->win); //evas_object_del(e->win); return 0; }
static void on_trash(void *data, Evas_Object *obj, void *event_info) { Evas_Object *sc, *bx2; Eina_List *l, *mlist = NULL; int from, num, i; if (content) evas_object_del(content); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(box, sc); evas_object_show(sc); content = sc; bx2 = elm_box_add(window); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); elm_scroller_content_set(sc, bx2); evas_object_show(bx2); tzset(); for (l = (Eina_List *)data_message_all_list(); l; l = l->next) { // FIXME: use filter mlist = eina_list_append(mlist, l->data); } // sort newest first mlist = eina_list_sort(mlist, eina_list_count(mlist), _sort_msg_newest); // FIXME: from and num are inputs from = 0; // from message # 0 num = 50; // 50 messages max; for (l = mlist, i = 0; l; l = l->next, i++) { Data_Message *msg = l->data; if (!(msg->flags & DATA_MESSAGE_TRASH)) continue; if (i >= from) { if (i == from) { if (l->prev) { // FIXME: add a "newer" button } } Evas_Object *msgui = _create_message(window, msg); elm_box_pack_end(bx2, msgui); evas_object_show(msgui); } if (i >= (from + num - 1)) { if (l->next) { // FIXME: add a "older" button } break; } } eina_list_free(mlist); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bx, *hbx, *li, *bt; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("list", "List Items Example"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); li = elm_list_add(win); evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, li); elm_list_item_append(li, "Item 0", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 1", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 2", NULL, NULL, NULL, NULL); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Prepend item"); evas_object_smart_callback_add(bt, "clicked", _prepend_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append item"); evas_object_smart_callback_add(bt, "clicked", _add_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Append with icon"); evas_object_smart_callback_add(bt, "clicked", _add_ic_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with selected function"); evas_object_smart_callback_add(bt, "clicked", _add_func_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with data"); evas_object_smart_callback_add(bt, "clicked", _add_data_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Delete item"); evas_object_smart_callback_add(bt, "clicked", _del_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Unselect item"); evas_object_smart_callback_add(bt, "clicked", _unselect_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Print items"); evas_object_smart_callback_add(bt, "clicked", _print_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Clear"); evas_object_smart_callback_add(bt, "clicked", _clear_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Select next item"); evas_object_smart_callback_add(bt, "clicked", _select_next_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert after item"); evas_object_smart_callback_add(bt, "clicked", _insert_after_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Select previous item"); evas_object_smart_callback_add(bt, "clicked", _select_prev_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert before item"); evas_object_smart_callback_add(bt, "clicked", _insert_before_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Set as separator"); evas_object_smart_callback_add(bt, "clicked", _set_separator_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Disable item"); evas_object_smart_callback_add(bt, "clicked", _disable_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); elm_list_go(li); evas_object_show(li); evas_object_resize(win, 320, 600); evas_object_show(win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char *argv[]) { Evas_Object *win, *bg, *box, *box2, *btn, *ic, *url, *naviframe, *tabs, *web; Evas *e; Evas_Modifier_Mask ctrl_mask; App_Data *ad; if (!elm_need_web()) return -1; ad = calloc(1, sizeof(App_Data)); if (!ad) return -1; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_add(NULL, "example-web", ELM_WIN_BASIC); elm_win_autodel_set(win, EINA_TRUE); e = evas_object_evas_get(win); ctrl_mask = evas_key_modifier_mask_get(e, "Control"); if (!evas_object_key_grab(win, "f", ctrl_mask, 0, EINA_TRUE)) fprintf(stderr, "Could not grab trigger for search dialog\n"); evas_object_smart_callback_add(win, "delete,request", _win_del_request_cb, ad); evas_object_event_callback_add(win, EVAS_CALLBACK_KEY_DOWN, _win_search_trigger_cb, ad); evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _win_free_cb, ad); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); 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); url = elm_entry_add(win); elm_entry_single_line_set(url, EINA_TRUE); elm_entry_scrollable_set(url, EINA_TRUE); evas_object_size_hint_weight_set(url, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(url, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, url); evas_object_show(url); evas_object_smart_callback_add(url, "activated", _url_activated_cb, ad); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); elm_object_part_content_set(url, "icon", box2); elm_entry_icon_visible_set(url, EINA_FALSE); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.back = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "arrow_left"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_back_cb, ad); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.refresh = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "refresh"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_refresh_cb, ad); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.fwd = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "arrow_right"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_fwd_cb, ad); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, box2); evas_object_show(box2); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(win); elm_icon_standard_set(ic, "file"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _add_tab_cb, ad); tabs = elm_toolbar_add(win); elm_toolbar_align_set(tabs, 0.0); elm_toolbar_select_mode_set(tabs, ELM_OBJECT_SELECT_MODE_ALWAYS); elm_toolbar_homogeneous_set(tabs, EINA_FALSE); elm_toolbar_shrink_mode_set(tabs, ELM_TOOLBAR_SHRINK_MENU); evas_object_size_hint_weight_set(tabs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(tabs, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box2, tabs); evas_object_show(tabs); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _close_tab_cb, ad); ic = elm_icon_add(win); elm_icon_standard_set(ic, "close"); elm_object_part_content_set(btn, "icon", ic); naviframe = elm_naviframe_add(win); evas_object_size_hint_weight_set(naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(naviframe, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, naviframe); evas_object_show(naviframe); elm_toolbar_menu_parent_set(tabs, naviframe); web = elm_web_add(win); elm_web_window_create_hook_set(web, _web_create_window_cb, ad); elm_web_history_enabled_set(web, EINA_FALSE); evas_object_size_hint_weight_set(web, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(web, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_naviframe_item_simple_push(naviframe, web); default_content_set(web); ad->win = win; ad->main_box = box; ad->naviframe = naviframe; ad->url = url; ad->default_web = web; ad->tabs = tabs; ad->close_tab = btn; evas_object_resize(win, 480, 640); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *ck; unsigned int digedit; win = elm_win_add(NULL, "clock", ELM_WIN_BASIC); elm_win_title_set(win, "Clock Example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); /* pristine (no seconds, military time) */ ck = elm_clock_add(win); elm_box_pack_end(bx, ck); evas_object_show(ck); /* am/pm */ ck = elm_clock_add(win); elm_clock_show_am_pm_set(ck, EINA_TRUE); elm_box_pack_end(bx, ck); evas_object_show(ck); /* with seconds and custom time */ ck = elm_clock_add(win); elm_clock_show_seconds_set(ck, EINA_TRUE); elm_clock_time_set(ck, 10, 11, 12); elm_box_pack_end(bx, ck); evas_object_show(ck); /* in edition mode, with seconds, custom time and am/pm set */ ck = elm_clock_add(win); elm_clock_edit_set(ck, EINA_TRUE); elm_clock_show_seconds_set(ck, EINA_TRUE); elm_clock_show_am_pm_set(ck, EINA_TRUE); elm_clock_time_set(ck, 10, 11, 12); elm_box_pack_end(bx, ck); evas_object_show(ck); /* in edition mode, with seconds, but only some digits editable */ ck = elm_clock_add(win); elm_clock_show_seconds_set(ck, EINA_TRUE); elm_clock_edit_set(ck, EINA_TRUE); digedit = ELM_CLOCK_EDIT_HOUR_UNIT | ELM_CLOCK_EDIT_MIN_UNIT | ELM_CLOCK_EDIT_SEC_UNIT; elm_clock_edit_mode_set(ck, digedit); elm_box_pack_end(bx, ck); evas_object_show(ck); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *map, *box, *bt, *entry; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("map", "Map Route Example"); elm_win_autodel_set(win, EINA_TRUE); map = elm_map_add(win); evas_object_size_hint_weight_set(map, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, map); evas_object_show(map); box = elm_box_add(win); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); bt = elm_button_add(win); elm_object_text_set(bt, "+"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_in, map); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); bt = elm_button_add(win); elm_object_text_set(bt, "-"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_out, map); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); bt = elm_button_add(win); elm_object_text_set(bt, "X"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fit, map); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); bt = elm_button_add(win); elm_object_text_set(bt, "#"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fill, map); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); entry = elm_entry_add(win); elm_entry_scrollable_set(entry, EINA_TRUE); elm_entry_single_line_set(entry, EINA_TRUE); elm_object_text_set(entry, "Jockey Club Brasileiro"); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, 0); elm_box_pack_end(box, entry); evas_object_show(entry); bt = elm_button_add(win); elm_object_text_set(bt, "Route"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_route, &example_data); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); example_data.map = map; example_data.entry = entry; example_data.route = NULL; example_data.start_lon = -43.175; example_data.start_lat = -22.97; elm_map_zoom_set(map, 12); elm_map_region_show(map, example_data.start_lon, example_data.start_lat); evas_object_resize(win, 512, 512); evas_object_show(win); ecore_timer_add(0.5, _nasty_hack, win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *map, *box, *bt; Eina_List *ovls = NULL; Elm_Map_Overlay *ovl, *city_clas, *country_clas; char buf[255]; elm_app_info_set(elm_main, "elementary", "images"); data_dir = elm_app_data_dir_get(); snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", "sdf"); data_argentina.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", "sdf"); data_chile.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", "sdf"); data_sampa.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", "sdf"); data_rio.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", "sdf"); data_brasilia.file = strdup(buf); win = elm_win_add(NULL, "map", ELM_WIN_BASIC); elm_win_title_set(win, "Map Overlay Example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); map = elm_map_add(win); elm_win_resize_object_add(win, map); evas_object_size_hint_weight_set(map, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(map); box = elm_box_add(win); evas_object_show(box); bt = elm_button_add(win); elm_object_text_set(bt, "+"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_in, map); bt = elm_button_add(win); elm_object_text_set(bt, "-"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_out, map); bt = elm_button_add(win); elm_object_text_set(bt, "X"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fit, map); bt = elm_button_add(win); elm_object_text_set(bt, "#"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fill, map); evas_object_smart_callback_add(map, "overlay,clicked", _overlay_cb, NULL); city_clas = elm_map_overlay_class_add(map); elm_map_overlay_displayed_zoom_min_set(city_clas, 3); elm_map_overlay_icon_set(city_clas, _clas_city_icon_get(map)); country_clas = elm_map_overlay_class_add(map); elm_map_overlay_displayed_zoom_min_set(country_clas, 1); elm_map_overlay_icon_set(country_clas, _clas_country_icon_get(map)); ovl = elm_map_overlay_add(map, -43.2, -22.9); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_rio); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -46.63, -23.55); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_sampa); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -47.88, -15.78); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_brasilia); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -65.23, -35.1); elm_map_overlay_icon_set(ovl, _country_icon_get(map)); elm_map_overlay_data_set(ovl, &data_argentina); elm_map_overlay_class_append(country_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -71.3, -31.75); elm_map_overlay_icon_set(ovl, _country_icon_get(map)); elm_map_overlay_data_set(ovl, &data_chile); elm_map_overlay_class_append(country_clas, ovl); ovls = eina_list_append(ovls, ovl); elm_map_overlays_show(ovls); evas_object_resize(win, 512, 512); evas_object_show(win); ecore_timer_add(1, _nasty_hack, win); elm_run(); elm_shutdown(); return 0; }
void Box::packEnd(EObject& w) { elm_box_pack_end(getHandle(), Widget::getHandle(w)); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *radio, *group, *ic; win = elm_win_add(NULL, "radio", ELM_WIN_BASIC); elm_win_title_set(win, "Radio"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_show(bg); bx = elm_box_add(win); elm_box_horizontal_set(bx, EINA_TRUE); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, bx); evas_object_show(bx); group = radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 1"); elm_radio_state_value_set(radio, 1); elm_radio_value_pointer_set(radio, &val); ic = elm_icon_add(win); elm_icon_standard_set(ic, "home"); elm_object_part_content_set(radio, "icon", ic); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 2"); elm_radio_state_value_set(radio, 2); elm_radio_value_pointer_set(radio, &val); elm_radio_group_add(radio, group); ic = elm_icon_add(win); elm_icon_standard_set(ic, "file"); elm_object_part_content_set(radio, "icon", ic); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 3"); elm_radio_state_value_set(radio, 3); elm_radio_value_pointer_set(radio, &val); elm_radio_group_add(radio, group); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 4"); elm_radio_state_value_set(radio, 4); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_show(win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *ds; unsigned int i; static const char *lbl[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; win = elm_win_add(NULL, "diskselector", ELM_WIN_BASIC); elm_win_title_set(win, "Diskselector Example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, bx); evas_object_show(bx); /* default */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); evas_object_show(ds); /* set round mode and define side label length */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_round_enabled_set(ds, EINA_TRUE); elm_diskselector_side_text_max_length_set(ds, 2); evas_object_show(ds); /* display more than 3 items */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_display_item_num_set(ds, 5); printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(ds)); evas_object_show(ds); /* set bounce and scroller policy */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_bounce_set(ds, EINA_TRUE, EINA_TRUE); elm_diskselector_scroller_policy_set(ds, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_ON); evas_object_show(ds); evas_object_resize(win, 320, 480); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *grid, *bx, *hbx_1, *hbx_2, *hbx_3, *bt, *ck, *sl, *sp; Eina_Bool bounce; double h, v; srand(time(NULL)); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_app_info_set(elm_main, "elementary", "images"); win = elm_win_util_standard_add("gengrid", "Generic Grid Example"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); grid = elm_gengrid_add(win); elm_gengrid_item_size_set(grid, 150, 150); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, grid); evas_object_smart_callback_add(grid, "clicked,double", _double_click, NULL); evas_object_smart_callback_add(grid, "longpressed", _long_pressed, NULL); evas_object_show(grid); hbx_1 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_1, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_1, EINA_TRUE); elm_box_pack_end(bx, hbx_1); evas_object_show(hbx_1); bt = elm_button_add(win); elm_object_text_set(bt, "Append"); evas_object_smart_callback_add(bt, "clicked", _append_bt_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Prepend"); evas_object_smart_callback_add(bt, "clicked", _prepend_bt_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); before_bt = elm_button_add(win); elm_object_text_set(before_bt, "Insert before"); evas_object_smart_callback_add(before_bt, "clicked", _before_bt_clicked, grid); elm_box_pack_end(hbx_1, before_bt); evas_object_show(before_bt); after_bt = elm_button_add(win); elm_object_text_set(after_bt, "Insert after"); evas_object_smart_callback_add(after_bt, "clicked", _after_bt_clicked, grid); elm_box_pack_end(hbx_1, after_bt); evas_object_show(after_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Clear"); evas_object_smart_callback_add(bt, "clicked", _clear_cb, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Bring in 1st"); evas_object_smart_callback_add(bt, "clicked", _bring_1st_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Show last"); evas_object_smart_callback_add(bt, "clicked", _show_last_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); sp = elm_spinner_add(win); elm_spinner_min_max_set(sp, 10, 1024); elm_spinner_value_set(sp, 150); elm_spinner_label_format_set(sp, "Item size: %.0f"); evas_object_smart_callback_add(sp, "changed", _size_changed, grid); evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx_1, sp); evas_object_show(sp); hbx_2 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_2, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_2, EINA_TRUE); elm_box_pack_end(bx, hbx_2); evas_object_show(hbx_2); bt = elm_button_add(win); elm_object_text_set(bt, "Disable item"); evas_object_smart_callback_add(bt, "clicked", _toggle_disabled_cb, grid); elm_box_pack_end(hbx_2, bt); evas_object_show(bt); ck = elm_check_add(win); elm_object_text_set(ck, "Horizontal mode"); evas_object_smart_callback_add(ck, "changed", _horizontal_grid, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "Always select"); evas_object_smart_callback_add(ck, "changed", _always_select_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_scroller_bounce_get(grid, &bounce, NULL); elm_object_text_set(ck, "Bouncing"); elm_check_state_set(ck, bounce); evas_object_smart_callback_add(ck, "changed", _bouncing_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "Multi-selection"); elm_check_state_set(ck, elm_gengrid_multi_select_get(grid)); evas_object_smart_callback_add(ck, "changed", _multi_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "No selection"); evas_object_smart_callback_add(ck, "changed", _no_sel_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); hbx_3 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_3, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_3, EINA_TRUE); elm_box_pack_end(bx, hbx_3); evas_object_show(hbx_3); elm_gengrid_align_get(grid, &h, &v); evas_object_smart_callback_add(grid, "scroll,anim,stop", _grid_scroll_stopped_cb, NULL); sl = elm_slider_add(win); elm_object_text_set(sl, "Horiz. alignment"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, h); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); evas_object_smart_callback_add(sl, "changed", _h_align_change_cb, grid); sl = elm_slider_add(win); elm_object_text_set(sl, "Vert. alignment"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, v); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); evas_object_smart_callback_add(sl, "changed", _v_align_change_cb, grid); elm_gengrid_align_get(grid, &h, &v); sl = elm_slider_add(win); elm_object_text_set(sl, "Page rel. size"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, h); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); _page_change_cb(grid, sl, NULL); evas_object_smart_callback_add(sl, "changed", _page_change_cb, grid); if (!gic) { gic = elm_gengrid_item_class_new(); gic->item_style = "default"; gic->func.text_get = _grid_label_get; gic->func.content_get = _grid_content_get; gic->func.state_get = _grid_state_get; gic->func.del = _grid_del; } // we only create the first time its needed. we dont unref/free _append_bt_clicked(grid, NULL, NULL); _append_bt_clicked(grid, NULL, NULL); _append_bt_clicked(grid, NULL, NULL); evas_object_resize(win, 600, 600); evas_object_show(win); elm_run(); return 0; }
static void retrieve_callback2(struct MessageShowViewData *data) { struct Window *win = data->win; window_layout_set(win, MESSAGE_FILE, "message_show"); time_t timestamp = 0; GValue *value = g_hash_table_lookup(data->properties, "timestamp"); if (value) { const char *timestr = g_value_get_string(value); timestamp = time_stringtotimestamp(timestr); } else g_debug("no timestamp for message found !!!"); char *status = data->status; char *number = data->number; char *content = data->content; char datestr[32]; strftime(datestr, 31, "%d.%m.%Y, %H:%M", localtime(×tamp)); window_text_set(win, "text_status", status); window_text_set(win, "text_number", number); window_text_set(win, "text_content", content); window_text_set(win, "text_date", datestr); window_text_set(win, "label_number", D_("From:")); window_text_set(win, "label_date", D_("Date:")); window_text_set(win, "label_status", D_("Status:")); window_text_set(win, "text_number", data->name); data->bt1 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt1, D_("Close")); evas_object_smart_callback_add(data->bt1, "clicked", message_show_view_close_clicked, data); window_swallow(win, "button_close", data->bt1); evas_object_show(data->bt1); // Options button with hover data->hv = elm_hover_add(window_evas_object_get(win)); data->bt2 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt2, D_("Options")); evas_object_smart_callback_add(data->bt2, "clicked", my_hover_bt_1, data->hv); window_swallow(win, "button_options", data->bt2); evas_object_show(data->bt2); elm_hover_parent_set(data->hv, window_evas_object_get(win)); elm_hover_target_set(data->hv, data->bt2); data->bx = elm_box_add(window_evas_object_get(win)); elm_box_horizontal_set(data->bx, 0); elm_box_homogenous_set(data->bx, 1); evas_object_show(data->bx); data->hbt1 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->hbt1, D_("Call")); evas_object_size_hint_min_set(data->hbt1, 140, 80); evas_object_smart_callback_add(data->hbt1, "clicked", message_show_view_call_clicked, data); evas_object_show(data->hbt1); elm_box_pack_end(data->bx, data->hbt1); data->hbt2 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->hbt2, D_("Delete")); evas_object_size_hint_min_set(data->hbt2, 140, 80); evas_object_smart_callback_add(data->hbt2, "clicked", message_show_view_delete_clicked, data); evas_object_show(data->hbt2); elm_box_pack_end(data->bx, data->hbt2); data->hbt3 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->hbt3, D_("Add Contact")); evas_object_size_hint_min_set(data->hbt3, 140, 80); evas_object_smart_callback_add(data->hbt3, "clicked", message_show_view_new_contact_clicked, data); evas_object_show(data->hbt3); elm_box_pack_end(data->bx, data->hbt3); elm_hover_content_set(data->hv, "top", data->bx); data->bt3 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt3, D_("Answer")); evas_object_smart_callback_add(data->bt3, "clicked", message_show_view_answer_clicked, data); window_swallow(win, "button_answer", data->bt3); evas_object_show(data->bt3); window_show(win); }
void _init_genlist(Evas_Object *win) { Evas_Object *box, *entry; static Elm_Genlist_Item_Class *_itc = NULL; int i = 0; if (!_itc) { _itc = elm_genlist_item_class_new(); _itc->item_style = "default"; _itc->func.text_get = _item_label_get; _itc->func.content_get = _item_content_get; _itc->func.state_get = NULL; _itc->func.del = NULL; } if (!_itc_group) { _itc_group = elm_genlist_item_class_new(); _itc_group->item_style = "group_index"; _itc_group->func.text_get = _group_label_get; _itc_group->func.content_get = _group_content_get; _itc_group->func.state_get = NULL; _itc_group->func.del = NULL; } 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); glob_genlist = elm_genlist_add(win); evas_object_size_hint_weight_set (glob_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set (glob_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, glob_genlist); evas_object_show(glob_genlist); entry = elm_entry_add(win); elm_entry_single_line_set(entry, EINA_TRUE); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(entry); /* filling genlist */ for (i = 0; i < N_ITEMS; i++) { Elm_Object_Item *gli = NULL, *glg = NULL; if (i % 7 == 0) { glg = gli = elm_genlist_item_append(glob_genlist, _itc_group, (void *) (long) nitems++, NULL, ELM_GENLIST_ITEM_GROUP, _item_sel_cb, NULL ); elm_genlist_item_select_mode_set( gli, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } else { gli = elm_genlist_item_append(glob_genlist, _itc, (void *) (long) nitems++, glg, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL ); } if (i == 1) glob_test_item = gli; } }
void create_second_page(void *data, Evas_Object *connect_button, void *ev) { struct appdata *ad = data; Elm_Object_Item *nf_it = NULL; Evas_Object *layout = elm_layout_add(ad->naviframe); // Outer Box Evas_Object* box = elm_box_add(layout); evas_object_size_hint_weight_set(box, EVAS_HINT_FILL, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_align_set(box, 0.5, 0.5); // Port Box Evas_Object* box2 = elm_box_add(layout); elm_box_horizontal_set(box2, EINA_TRUE); // Port Label Evas_Object* portLabel = elm_label_add(box); elm_object_text_set(portLabel, "<align = center>Port </align>"); elm_box_pack_end(box2, portLabel); evas_object_show(portLabel); // Port Entry portEntry = elm_entry_add(box2); elm_entry_entry_set(portEntry, "7777"); elm_entry_single_line_set(portEntry, EINA_FALSE); elm_entry_line_wrap_set(portEntry, ELM_WRAP_NONE); static Elm_Entry_Filter_Limit_Size portLimit_size = { .max_char_count = 5, .max_byte_count = 0 }; elm_entry_markup_filter_append(portEntry, elm_entry_filter_limit_size, &portLimit_size); elm_box_pack_end(box2, portEntry); evas_object_show(portEntry); evas_object_show(box2); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.3); evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, box2); // IP Box Evas_Object* box1 = elm_box_add(layout); elm_box_horizontal_set(box1, EINA_TRUE); // IP Label Evas_Object* ipLabel = elm_label_add(box1); elm_object_text_set(ipLabel, "<align = center>IP </align>"); elm_box_pack_end(box1, ipLabel); evas_object_show(ipLabel); static Elm_Entry_Filter_Limit_Size ipLimit_size = { .max_char_count = 3, // 3글자 까지 .max_byte_count = 0 }; // IP Entry ipEntry1 = elm_entry_add(box1); //elm_entry_entry_set(ipEntry1, "127"); elm_entry_single_line_set(ipEntry1, EINA_FALSE); elm_entry_line_wrap_set(ipEntry1, ELM_WRAP_NONE); elm_entry_markup_filter_append(ipEntry1, elm_entry_filter_limit_size, &ipLimit_size); elm_box_pack_end(box1, ipEntry1); evas_object_show(ipEntry1); // IP Label Evas_Object* ipPeriod1 = elm_label_add(box1); elm_object_text_set(ipPeriod1, "<align = center>.</align>"); elm_box_pack_end(box1, ipPeriod1); evas_object_show(ipPeriod1); // IP Entry ipEntry2 = elm_entry_add(box1); //elm_entry_entry_set(ipEntry2, " 0"); elm_entry_single_line_set(ipEntry2, EINA_FALSE); elm_entry_line_wrap_set(ipEntry2, ELM_WRAP_NONE); elm_entry_markup_filter_append(ipEntry2, elm_entry_filter_limit_size, &ipLimit_size); elm_box_pack_end(box1, ipEntry2); evas_object_show(ipEntry2); // IP Label Evas_Object* ipPeriod2 = elm_label_add(box1); elm_object_text_set(ipPeriod2, "<align = center>.</align>"); elm_box_pack_end(box1, ipPeriod2); evas_object_show(ipPeriod2); // IP Entry ipEntry3 = elm_entry_add(box1); //elm_entry_entry_set(ipEntry3, " 0"); elm_entry_single_line_set(ipEntry3, EINA_FALSE); elm_entry_line_wrap_set(ipEntry3, ELM_WRAP_NONE); elm_entry_markup_filter_append(ipEntry3, elm_entry_filter_limit_size, &ipLimit_size); elm_box_pack_end(box1, ipEntry3); evas_object_show(ipEntry3); // IP Label Evas_Object* ipPeriod3 = elm_label_add(box1); elm_object_text_set(ipPeriod3, "<align = center>.</align>"); elm_box_pack_end(box1, ipPeriod3); evas_object_show(ipPeriod3); // IP Entry ipEntry4 = elm_entry_add(box1); //elm_entry_entry_set(ipEntry4, " 1"); elm_entry_single_line_set(ipEntry4, EINA_FALSE); elm_entry_line_wrap_set(ipEntry4, ELM_WRAP_NONE); elm_entry_markup_filter_append(ipEntry4, elm_entry_filter_limit_size, &ipLimit_size); elm_box_pack_end(box1, ipEntry4); evas_object_show(ipEntry4); evas_object_show(box1); evas_object_size_hint_weight_set(box1, EVAS_HINT_EXPAND, 0.3); evas_object_size_hint_align_set(box1, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, box1); // Connect Button Evas_Object* connection_button = elm_button_add(box); elm_object_style_set(connection_button, "bottom"); elm_object_text_set(connection_button, "Connection"); elm_object_part_content_set(layout, "elm.swallow.button", connection_button); //evas_object_size_hint_weight_set(connection_button, EVAS_HINT_EXPAND, 1.0); evas_object_size_hint_align_set(connection_button, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(connection_button, "clicked", _connect_button_click_cb, NULL); elm_box_pack_end(box, connection_button); evas_object_show(connection_button); evas_object_show(box); elm_entry_input_panel_layout_set(ipEntry1,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); elm_entry_input_panel_layout_set(ipEntry2,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); elm_entry_input_panel_layout_set(ipEntry3,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); elm_entry_input_panel_layout_set(ipEntry4,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); elm_entry_input_panel_layout_set(portEntry,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY); nf_it = elm_naviframe_item_push(ad->naviframe,"<color=#F5D6FFFF>Connection</color>", NULL, NULL, box, NULL); // evas_object_show(ad->win); }
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); }
/* externally accessible functions */ Evas_Object * enna_photo_slideshow_add(Evas_Object *parent) { Smart_Data *sd; Evas_Object *bx, *bt, *ic; Evas_Coord w, h; sd = calloc(1, sizeof(Smart_Data)); sd->delay = enna_config->slideshow_delay; sd->layout = elm_layout_add(parent); elm_layout_file_set(sd->layout, enna_config_theme_get(), "enna/slideshow"); evas_object_size_hint_weight_set(sd->layout, 1.0, 1.0); evas_object_show(sd->layout); sd->slideshow = elm_slideshow_add(sd->layout); elm_slideshow_transition_set(sd->slideshow, "horizontal"); elm_slideshow_loop_set(sd->slideshow, 1); sd->controls = elm_notify_add(sd->layout); elm_notify_orient_set(sd->controls, ELM_NOTIFY_ORIENT_BOTTOM); evas_object_geometry_get(enna->layout, NULL, NULL, &w, &h); evas_object_move(sd->controls, 0, 0); evas_object_resize(sd->controls, w, h); //elm_object_style_set(sd->controls, "enna_bottom"); /* Fixme : add a config value */ elm_notify_timeout_set(sd->controls, 10); bx = elm_box_add(sd->layout); elm_box_horizontal_set(bx, 1); elm_notify_content_set(sd->controls, bx); evas_object_show(bx); evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN, _mouse_in, sd); evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT, _mouse_out, sd); ELM_ADD ("icon/mp_prev", _button_clicked_prev_cb); ELM_ADD ("icon/mp_pause", _button_clicked_play_cb); sd->btplay = bt; ELM_ADD ("icon/mp_next", _button_clicked_next_cb); ELM_ADD ("icon/mp_stop", _button_clicked_stop_cb); sd->spin = elm_spinner_add(bx); elm_spinner_label_format_set(sd->spin, "%2.f secs."); evas_object_smart_callback_add(sd->spin, "changed", _spin, sd); elm_spinner_step_set(sd->spin, 1); elm_spinner_min_max_set(sd->spin, 1, 100); elm_spinner_value_set(sd->spin, sd->delay); elm_box_pack_end(bx, sd->spin); evas_object_show(sd->spin); #ifdef FEATURE_ROTATION ELM_ADD ("icon/rotate_ccw", _button_clicked_rotate_ccw_cb); ELM_ADD ("icon/rotate_cw", _button_clicked_rotate_cw_cb); #endif /* FEATURE_ROTATION */ evas_object_show(sd->layout); evas_object_show(sd->slideshow); elm_layout_content_set(sd->layout, "enna.content.swallow", sd->slideshow); evas_object_data_set(sd->layout, "sd", sd); sd->state = 4; /* Catch mouse wheel event */ evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, sd); /* connect to the input signal */ sd->listener = enna_input_listener_add("slideshow", _input_events_cb, sd->layout); enna_input_listener_demote(sd->listener); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_UP, _controls_show, sd); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_MOVE, _controls_show, sd); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_DEL, _sd_del, sd); return sd->layout; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *conform, *btn, *bx, *en; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("conformant", "Conformant Example"); elm_win_autodel_set(win, EINA_TRUE); elm_win_conformant_set(win, EINA_TRUE); conform = elm_conformant_add(win); evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, conform); evas_object_show(conform); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); btn = elm_button_add(win); elm_object_text_set(btn, "Test Conformant"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, btn); evas_object_show(btn); en = elm_entry_add(win); elm_entry_scrollable_set(en, EINA_TRUE); elm_object_text_set(en, "This is a multi-line entry at the bottom<br>" "This can contain more than 1 line of text and be " "scrolled around to allow for entering of lots of " "content. It is also to test to see that autoscroll " "moves to the right part of a larger multi-line " "text entry that is inside of a scroller than can be " "scrolled around, thus changing the expected position " "as well as cursor changes updating auto-scroll when " "it is enabled."); evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(en); elm_box_pack_end(bx, en); btn = elm_button_add(win); elm_object_text_set(btn, "Test Conformant"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, btn); evas_object_show(btn); elm_object_content_set(conform, bx); evas_object_show(bx); evas_object_resize(win, 240, 480); evas_object_show(win); elm_run(); return 0; }
void create_third_page(void *data, Evas_Object *obj, void *event_info) { // /* Window */ // ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE); // 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); // eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad); // // /* Conformant */ // ad->conform = elm_conformant_add(ad->win); // elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW); // elm_win_indicator_opacity_set(ad->win, ELM_WIN_INDICATOR_OPAQUE); // 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); // ad->naviframe = elm_naviframe_add(ad->conform); // evas_object_size_hint_weight_set(ad->naviframe, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND); // elm_object_content_set(ad->conform, ad->naviframe); // evas_object_show(ad->naviframe); struct appdata *ad = data; Elm_Object_Item *nf_it = NULL; Evas_Object *layout = elm_box_add(ad->naviframe); initiate(); remote_control_cb(1); Evas_Object *box = elm_box_add(layout); elm_box_horizontal_set(box, EINA_FALSE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); // elm_naviframe_item_push(ad->naviframe, "Remote Control", NULL, NULL, box, NULL); elm_box_padding_set(box, 16, 16); evas_object_show(box); eext_rotary_event_handler_add(_rotary_handler_cb, NULL); Evas_Object *F5button = elm_button_add(box); evas_object_size_hint_weight_set(F5button, EVAS_HINT_FILL,EVAS_HINT_FILL); evas_object_size_hint_align_set(F5button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(F5button, "Start"); evas_object_smart_callback_add(F5button, "clicked", start_cb, NULL); elm_box_pack_end(box, F5button); evas_object_show(F5button); Evas_Object *ESCbutton = elm_button_add(box); evas_object_size_hint_weight_set(ESCbutton, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(ESCbutton, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(ESCbutton, "ESC"); evas_object_smart_callback_add(ESCbutton, "clicked", esc_cb, NULL); elm_box_pack_end(box, ESCbutton); evas_object_show(ESCbutton); nf_it = elm_naviframe_item_push(ad->naviframe,"<color=#F5D6FFFF>Remote Control</color>", NULL, NULL, box, NULL); /* Show window after base gui is set up */ // evas_object_show(ad->win); }
struct MessageListViewData * message_list_view_show(struct Window *win, GHashTable * options) { g_debug("message_list_view_show()"); struct MessageListViewData *data = g_slice_alloc0(sizeof(struct MessageListViewData)); data->win = win; window_layout_set(win, MESSAGE_FILE, "list"); window_text_set(win, "title", D_("Inbox")); data->bt1 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt1, D_("New")); evas_object_smart_callback_add(data->bt1, "clicked", message_list_view_new_clicked, data); window_swallow(win, "button_new", data->bt1); evas_object_show(data->bt1); // Options button with hover data->hv = elm_hover_add(window_evas_object_get(win)); data->bt2 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt2, D_("Options")); evas_object_smart_callback_add(data->bt2, "clicked", my_hover_bt_1, data->hv); window_swallow(win, "button_options", data->bt2); evas_object_show(data->bt2); elm_hover_parent_set(data->hv, window_evas_object_get(win)); elm_hover_target_set(data->hv, data->bt2); data->bx = elm_box_add(window_evas_object_get(win)); elm_box_horizontal_set(data->bx, 0); elm_box_homogenous_set(data->bx, 1); evas_object_show(data->bx); data->button_answer = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->button_answer, D_("Answer")); evas_object_size_hint_min_set(data->button_answer, 130, 80); evas_object_smart_callback_add(data->button_answer, "clicked", message_list_view_answer_clicked, data); evas_object_show(data->button_answer); elm_box_pack_end(data->bx, data->button_answer); data->button_delete = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->button_delete, D_("Delete")); evas_object_size_hint_min_set(data->button_delete, 130, 80); evas_object_smart_callback_add(data->button_delete, "clicked", message_list_view_delete_clicked, data); evas_object_show(data->button_delete); elm_box_pack_end(data->bx, data->button_delete); elm_hover_content_set(data->hv, "top", data->bx); data->bt3 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt3, D_("Show")); evas_object_smart_callback_add(data->bt3, "clicked", message_list_view_show_clicked, data); window_swallow(win, "button_show", data->bt3); evas_object_show(data->bt3); g_debug("tree init"); data->tree = etk_tree_new(); etk_tree_rows_height_set(ETK_TREE(data->tree), 80); etk_tree_mode_set(ETK_TREE(data->tree), ETK_TREE_MODE_LIST); etk_tree_headers_visible_set(ETK_TREE(data->tree), ETK_FALSE); etk_tree_multiple_select_set(ETK_TREE(data->tree), ETK_FALSE); data->col1 = etk_tree_col_new(ETK_TREE(data->tree), "Title", 300, 0.0); etk_tree_col_model_add(data->col1, etk_tree_model_edje_new(MESSAGE_FILE, "message_row")); etk_tree_build(ETK_TREE(data->tree)); Etk_Scrolled_View *scrolled_view = etk_tree_scrolled_view_get(ETK_TREE(data->tree)); etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(scrolled_view), ETK_TRUE); etk_scrolled_view_drag_bouncy_set(ETK_SCROLLED_VIEW(scrolled_view), ETK_FALSE); etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW(scrolled_view), ETK_POLICY_HIDE, ETK_POLICY_HIDE); data->container = etk_embed_new(evas_object_evas_get (window_evas_object_get(win))); etk_container_add(ETK_CONTAINER(data->container), data->tree); etk_widget_show_all(data->container); window_swallow(win, "list", etk_embed_object_get(ETK_EMBED(data->container))); ogsmd_sim_retrieve_messagebook("all", retrieve_messagebook_callback, data); window_show(win); return data; }
/* ad-hoc network .-box-------------------------------------------------------------------. | .-scroller----------------------------------------------------------. | | | .-table---------------------------------------------------------. | | | | | Crate an Ad-Hoc Network | | | | | | ESSID: [...................................] | | | | | | IP: [...................................] | | | | | | Channel: [...................................] | | | | | | [] Activate Internet Connection Sharing | | | | | | [] Use Encryption (WEP only) | | | | | | Key: [...................................] | | | | | `---------------------------------------------------------------' | | | `-------------------------------------------------------------------' | | .-box---------------------------------------------------------------. | | | [Cancel] [OK] | | | `-------------------------------------------------------------------' | `-----------------------------------------------------------------------' */ void wicd_adhoc(void) { Evas_Object *bx, *sc, *tb, *ob, *bx2; bx = elm_box_add(wicdelm->win); elm_box_homogeneous_set(bx, EINA_FALSE); elm_box_horizontal_set(bx, EINA_FALSE); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bx); wicdelm->adhoc.page = bx; sc = elm_scroller_add(wicdelm->win); elm_scroller_content_min_limit(sc, EINA_TRUE, EINA_FALSE); elm_scroller_policy_set(sc , ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE); elm_box_pack_end(bx, sc); evas_object_show(sc); // table tb = elm_table_add(wicdelm->win); elm_table_homogeneous_set(tb, EINA_FALSE); evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); elm_object_content_set(sc, tb); evas_object_show(tb); ob = elm_label_add(wicdelm->win); elm_object_text_set(ob, "<b>Create an Ad-Hoc Network</b>"); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.5); elm_table_pack(tb, ob, 0, 0, 2, 1); evas_object_show(ob); ob = elm_label_add(wicdelm->win); elm_object_text_set(ob, "ESSID:"); evas_object_size_hint_weight_set(ob, 0.0, 0.0); evas_object_size_hint_align_set(ob, 0.0, 0.5); elm_table_pack(tb, ob, 0, 1, 1, 1); evas_object_show(ob); ob = elm_entry_add(wicdelm->win); elm_entry_scrollable_set(ob, EINA_TRUE); elm_entry_single_line_set(ob, EINA_TRUE); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); elm_table_pack(tb, ob, 1, 1, 1, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "changed", _changed_cb, NULL); wicdelm->adhoc.essid = ob; ob = elm_label_add(wicdelm->win); elm_object_text_set(ob, "IP:"); evas_object_size_hint_weight_set(ob, 0.0, 0.0); evas_object_size_hint_align_set(ob, 0.0, 0.5); elm_table_pack(tb, ob, 0, 2, 1, 1); evas_object_show(ob); ob = elm_entry_add(wicdelm->win); elm_entry_scrollable_set(ob, EINA_TRUE); elm_entry_single_line_set(ob, EINA_TRUE); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); elm_table_pack(tb, ob, 1, 2, 1, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "changed", _changed_cb, NULL); wicdelm->adhoc.ip = ob; ob = elm_label_add(wicdelm->win); elm_object_text_set(ob, "Channel:"); evas_object_size_hint_weight_set(ob, 0.0, 0.0); evas_object_size_hint_align_set(ob, 0.0, 0.5); elm_table_pack(tb, ob, 0, 3, 1, 1); evas_object_show(ob); ob = elm_slider_add(wicdelm->win); elm_slider_min_max_set(ob, 1.0, 14.0); elm_slider_indicator_format_set(ob, "%02.0f"); elm_slider_unit_format_set(ob, "%02.0f"); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); elm_table_pack(tb, ob, 1, 3, 1, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "delay,changed", _changed_cb, NULL); wicdelm->adhoc.channel = ob; ob = elm_check_add(wicdelm->win); elm_object_text_set(ob, "Share Internet"); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.5); elm_table_pack(tb, ob, 0, 4, 2, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "changed", _changed_cb, NULL); wicdelm->adhoc.shareInternet = ob; ob = elm_check_add(wicdelm->win); elm_object_text_set(ob, "WEP Encryption"); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.5); elm_table_pack(tb, ob, 0, 5, 2, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "changed", _changed_cb, NULL); wicdelm->adhoc.useEncryption = ob; ob = elm_label_add(wicdelm->win); elm_object_text_set(ob, "Key:"); evas_object_size_hint_weight_set(ob, 0.0, 0.0); evas_object_size_hint_align_set(ob, 0.0, 0.5); elm_table_pack(tb, ob, 0, 6, 1, 1); evas_object_show(ob); ob = elm_entry_add(wicdelm->win); elm_entry_scrollable_set(ob, EINA_TRUE); elm_entry_single_line_set(ob, EINA_TRUE); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(ob, EVAS_HINT_EXPAND, 0.0); elm_table_pack(tb, ob, 1, 6, 1, 1); evas_object_show(ob); evas_object_smart_callback_add(ob, "changed", _changed_cb, NULL); wicdelm->adhoc.key = ob; bx2 = elm_box_add(wicdelm->win); elm_box_homogeneous_set(bx2, EINA_TRUE); elm_box_horizontal_set(bx2, EINA_TRUE); evas_object_size_hint_align_set(bx2, 1.0, 1.0); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx, bx2); evas_object_show(bx2); ob = elm_button_add(wicdelm->win); elm_object_text_set(ob, "Cancel"); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_smart_callback_add(ob, "clicked", _cancel_cb, NULL); elm_box_pack_end(bx2, ob); evas_object_show(ob); ob = elm_button_add(wicdelm->win); elm_object_text_set(ob, "Ok"); evas_object_size_hint_align_set(ob, EVAS_HINT_FILL, 0.0); evas_object_smart_callback_add(ob, "clicked", _ok_cb, NULL); elm_box_pack_end(bx2, ob); evas_object_show(ob); wicdelm->adhoc.item = elm_naviframe_item_simple_push(wicdelm->naviframe, bx); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "images/logo_small.png"); win = elm_win_add(NULL, "progressbar", ELM_WIN_BASIC); elm_win_title_set(win, "Progress bar example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); bx = elm_box_add(win); elm_win_resize_object_add(win, bx); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bx); /* pb with no label, default unit label and no icon */ pb = elm_progressbar_add(win); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb1 = pb; /* pb with label, and set to pulse */ pb = elm_progressbar_add(win); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_text_set(pb, "Infinite bounce"); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb2 = pb; ic1 = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); elm_icon_file_set(ic1, buf, NULL); evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); /* pb with label, icon, custom unit label and span size set */ pb = elm_progressbar_add(win); elm_object_text_set(pb, "Label"); elm_object_part_content_set(pb, "icon", ic1); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.1f units"); elm_progressbar_span_size_set(pb, 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(ic1); evas_object_show(pb); example_data.pb3 = pb; hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, hbx); evas_object_show(hbx); /* vertical pb */ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); elm_object_text_set(pb, "percent"); evas_object_show(pb); example_data.pb4 = pb; /* vertical pb, with pulse and custom (small) span size */ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_progressbar_span_size_set(pb, 80); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, NULL); elm_object_text_set(pb, "Infinite bounce"); elm_box_pack_end(hbx, pb); evas_object_show(pb); example_data.pb5 = pb; ic2 = elm_icon_add(win); elm_icon_file_set(ic2, buf, NULL); evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); /* vertical pb, inverted, with custom unit format and icon*/ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); elm_object_text_set(pb, "Label"); elm_object_part_content_set(pb, "icon", ic2); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.2f%%"); elm_progressbar_span_size_set(pb, 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); evas_object_show(ic2); evas_object_show(pb); example_data.pb6 = pb; /* "wheel" style progress bar */ pb = elm_progressbar_add(win); elm_object_style_set(pb, "wheel"); elm_object_text_set(pb, "Style: wheel"); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb7 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, bt_bx); evas_object_show(bt_bx); bt = elm_button_add(win); elm_object_text_set(bt, "Start"); evas_object_smart_callback_add(bt, "clicked", _progressbar_example_start, NULL); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); evas_object_smart_callback_add(bt, "clicked", _progressbar_example_stop, NULL); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
static void _win_search_trigger_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *ev = event_info; App_Data *ad = data; Evas_Object *box, *box2, *entry, *btn, *ic; if (strcmp(ev->keyname, "f") || !evas_key_modifier_is_set(ev->modifiers, "Control")) return; if (ad->search_box || !ad->current_tab) return; box = elm_box_add(ad->win); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_after(ad->main_box, box, ad->url); evas_object_show(box); evas_object_event_callback_add(box, EVAS_CALLBACK_DEL, _search_box_del_cb, ad); entry = elm_entry_add(ad->win); elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, entry); evas_object_show(entry); evas_object_smart_callback_add(entry, "changed", _search_entry_changed_cb, ad); evas_object_smart_callback_add(entry, "activated", _search_entry_activate_cb, ad); box2 = elm_box_add(ad->win); elm_box_horizontal_set(box2, EINA_TRUE); elm_object_part_content_set(entry, "end", box2); btn = elm_button_add(ad->win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "arrow_up"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_prev_cb, ad); btn = elm_button_add(ad->win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "arrow_down"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_next_cb, ad); btn = elm_button_add(ad->win); elm_box_pack_end(box, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "close"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_close_cb, ad); ad->search_box = box; ad->search_entry = entry; elm_object_focus_set(entry, EINA_TRUE); }
EAPI_MAIN int elm_main(int argc, char **argv) { int h; Evas_Object *win, *bg, *box, *frame, *check, *b, *slider; /* tell elm about our app so it can figure out where to get files */ elm_app_compile_bin_dir_set(BIN_DIR); elm_app_compile_data_dir_set(DATA_DIR); elm_app_compile_lib_dir_set(LIB_DIR); elm_app_info_set(elm_main, "elementary", "images/logo.png"); fprintf(stdout, "prefix was set to: %s\n", elm_app_prefix_dir_get()); fprintf(stdout, "data directory is: %s\n", elm_app_data_dir_get()); fprintf(stdout, "library directory is: %s\n", elm_app_lib_dir_get()); fprintf(stdout, "locale directory is: %s\n", elm_app_locale_dir_get()); win = elm_win_add(NULL, "top-level-funcs-example", ELM_WIN_BASIC); elm_win_title_set(win, "Elementary Top-level Functions Example"); /* by using this policy value, we avoid having to * evas_object_smart_callback_add(win, "delete,request", _on_exit, NULL), * calling elm_exit() on that callback ourselves. */ elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); evas_object_size_hint_min_set(bg, 160, 160); /* outer box */ box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); frame = elm_frame_add(win); elm_object_text_set(frame, "Button"); evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(frame); elm_box_pack_end(box, frame); d.btn = elm_button_add(win); elm_object_text_set(d.btn, "Click me"); elm_object_content_set(frame, d.btn); fprintf(stdout, "Elementary's finger size is set to %d pixels\n.", elm_config_finger_size_get()); elm_coords_finger_size_adjust(0, NULL, 3, &h); /* so, button will be 3 fingers tall */ evas_object_size_hint_min_set(d.btn, 0, h); evas_object_show(d.btn); b = elm_box_add(win); elm_box_horizontal_set(b, EINA_FALSE); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, b); elm_box_pack_end(box, b); evas_object_show(b); check = elm_check_add(win); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(check, 0.0, 0.0); elm_object_text_set(check, "Button enabled"); elm_check_state_pointer_set(check, &d.btn_enabled); evas_object_smart_callback_add(check, "changed", _btn_enabled_cb, NULL); elm_box_pack_end(box, check); evas_object_show(check); b = elm_button_add(win); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, 0.0, 0.0); elm_object_text_set(b, "Focus top button"); evas_object_smart_callback_add(b, "clicked", _btn_focus_cb, NULL); elm_box_pack_end(box, b); evas_object_show(b); b = elm_button_add(win); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, 0.0, 0.0); elm_object_text_set(b, "Unfocus top button"); evas_object_smart_callback_add(b, "clicked", _btn_unfocus_cb, NULL); elm_box_pack_end(box, b); evas_object_show(b); check = elm_check_add(win); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(check, 0.0, 0.0); elm_object_text_set(check, "Button gets focus"); elm_check_state_pointer_set(check, &d.btn_gets_focus); evas_object_smart_callback_add(check, "changed", _btn_focus_allow_cb, NULL); elm_box_pack_end(box, check); evas_object_show(check); slider = elm_slider_add(win); elm_slider_min_max_set(slider, 0, 4); elm_slider_unit_format_set(slider, "%1.1f"); elm_slider_indicator_format_set(slider, "%1.1f"); evas_object_size_hint_weight_set( slider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(slider, "changed", _btn_scale_cb, NULL); elm_box_pack_end(box, slider); evas_object_show(slider); evas_object_resize(win, WIDTH, HEIGHT); elm_win_focus_highlight_enabled_set(win, EINA_TRUE); evas_object_show(win); elm_run(); /* and run the program now, starting to handle all * events, etc. */ elm_shutdown(); /* clean up and shut down */ /* exit code */ return 0; }
/* public functions */ EM_INTERN Eina_Bool em_gui_init(void) { Evas_Object *o, *oo; /* allocate our object */ gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); if (!gui) return EINA_FALSE; /* create window */ gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); elm_win_title_set(gui->w_win, "Emote"); elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA); evas_object_smart_callback_add(gui->w_win, "delete,request", _em_gui_cb_win_del, NULL); /* create background */ o = elm_bg_add(gui->w_win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(gui->w_win, o); evas_object_show(o); o = elm_box_add(gui->w_win); elm_box_homogeneous_set(o, EINA_FALSE); elm_win_resize_object_add(gui->w_win, o); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_align_set(o, 0.5, 0.5); evas_object_show(o); /* create main toolbar */ gui->w_tb = elm_toolbar_add(gui->w_win); elm_toolbar_icon_size_set(gui->w_tb, (8 * elm_config_scale_get())); elm_toolbar_align_set(gui->w_tb, 1.0); elm_toolbar_shrink_mode_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"), _em_gui_cb_settings, NULL); elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"), _em_gui_cb_quit, NULL); evas_object_size_hint_weight_set(gui->w_tb, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); evas_object_show(gui->w_tb); elm_box_pack_start(o, gui->w_tb); /* create packing box */ gui->w_box = elm_panes_add(gui->w_win); elm_panes_fixed_set(gui->w_box, EINA_FALSE); elm_panes_horizontal_set(gui->w_box, EINA_FALSE); elm_panes_content_left_size_set(gui->w_box, 0.20); evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(gui->w_box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(o, gui->w_box); evas_object_show(gui->w_box); gui->w_chansel_itc = elm_genlist_item_class_new(); gui->w_chansel_itc->item_style = "default"; gui->w_chansel_itc->func.text_get = _em_gui_chansel_cb_label_get; gui->w_chansel_itc->func.content_get = NULL; gui->w_chansel_itc->func.state_get = NULL; gui->w_chansel_itc->func.del = NULL; /* create channel selector w/ frame */ gui->w_chansel = elm_genlist_add(gui->w_win); elm_genlist_mode_set(gui->w_chansel, ELM_LIST_SCROLL); evas_object_size_hint_min_set(gui->w_chansel, 200, MIN_WIN_HEIGHT); evas_object_size_hint_weight_set(gui->w_chansel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gui->w_chansel); o = elm_frame_add(gui->w_win); elm_object_part_text_set(o, "default", "Channels"); oo = elm_frame_add(gui->w_win); elm_object_style_set(oo, "pad_small"); elm_object_part_content_set(o, "default", oo); elm_object_part_content_set(oo, "default", gui->w_chansel); elm_object_part_content_set(gui->w_box, "left", o); evas_object_show(oo); evas_object_show(o); /* set min size of window and show it */ evas_object_show(gui->w_win); evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); gui->servers = eina_hash_string_small_new(_em_gui_server_del); return EINA_TRUE; }
/* public functions */ EM_INTERN Eina_Bool em_gui_init(void) { Evas_Object *o; /* allocate our object */ gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); if (!gui) return EINA_FALSE; // Set finger size to 4 to avoid huge widgets // elm_finger_size_set(4); /* create window */ gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); elm_win_title_set(gui->w_win, "Emote"); elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA); evas_object_smart_callback_add(gui->w_win, "delete-request", _em_gui_cb_win_del, NULL); /* create background */ o = elm_bg_add(gui->w_win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); // evas_object_size_hint_min_set(o, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); elm_win_resize_object_add(gui->w_win, o); evas_object_show(o); /* create packing box */ gui->w_box = elm_box_add(gui->w_win); elm_win_resize_object_add(gui->w_win, gui->w_box); evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gui->w_box); /* create main toolbar */ gui->w_tb = elm_toolbar_add(gui->w_win); elm_toolbar_icon_size_set(gui->w_tb, (16 * elm_scale_get())); elm_toolbar_align_set(gui->w_tb, 0.0); elm_toolbar_mode_shrink_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); evas_object_size_hint_weight_set(gui->w_tb, 0.0, 0.0); evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"), _em_gui_cb_settings, NULL); elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"), _em_gui_cb_quit, NULL); evas_object_show(gui->w_tb); elm_box_pack_start(gui->w_box, gui->w_tb); /* create channel selector */ gui->w_chansel = elm_toolbar_add(gui->w_win); elm_toolbar_homogeneous_set(gui->w_chansel, EINA_FALSE); elm_toolbar_align_set(gui->w_chansel, 0.0); elm_toolbar_mode_shrink_set(gui->w_chansel, ELM_TOOLBAR_SHRINK_SCROLL); evas_object_size_hint_weight_set(gui->w_chansel, 0.0, 0.0); evas_object_size_hint_align_set(gui->w_chansel, EVAS_HINT_FILL, 0.0); evas_object_show(gui->w_chansel); elm_box_pack_end(gui->w_box, gui->w_chansel); /* set min size of window and show it */ // evas_object_size_hint_min_set(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); evas_object_show(gui->w_win); gui->servers = eina_hash_string_small_new(_em_gui_server_del); return EINA_TRUE; }
static void on_contact_select(void *data, Evas_Object *obj, void *event_info) { Data_Contact *ctc = data; if (!ctc) { Evas_Object *win, *bx, *bt, *sc, *en; win = window; inwin2 = elm_win_inwin_add(win); elm_object_style_set(inwin2, "minimal_vertical"); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, 0.5); elm_box_pack_end(bx, sc); en = elm_entry_add(win); elm_entry_single_line_set(en, 1); elm_entry_entry_set(en, "Enter number..."); evas_object_size_hint_weight_set(en, 1.0, 0.0); evas_object_size_hint_align_set(en, -1.0, 0.0); elm_entry_select_all(en); elm_scroller_content_set(sc, en); evas_object_show(en); evas_object_show(sc); number_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); elm_object_focus(en); } else if (eina_list_count(ctc->tel.numbers) > 1) { Evas_Object *win, *bx, *bx2, *bt, *li, *fr, *ph, *lb; Eina_List *l; char *name, *file; win = window; inwin2 = elm_win_inwin_add(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); fr = elm_frame_add(win); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); elm_frame_label_set(fr, name); free(name); } evas_object_size_hint_weight_set(fr, 1.0, 0.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); elm_box_pack_end(bx, fr); evas_object_show(fr); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, 1); elm_frame_content_set(fr, bx2); evas_object_show(bx2); ph = elm_photo_add(win); file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); elm_photo_file_set(ph, file); free(file); } evas_object_size_hint_weight_set(ph, 0.0, 0.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); lb = elm_label_add(win); elm_label_label_set(lb, "This contact has multiple<br>" "numbers. Select one."); evas_object_size_hint_weight_set(lb, 1.0, 0.0); evas_object_size_hint_align_set(lb, -1.0, -1.0); elm_box_pack_end(bx2, lb); evas_object_show(lb); li = elm_list_add(win); evas_object_size_hint_weight_set(li, 1.0, 1.0); evas_object_size_hint_align_set(li, -1.0, -1.0); elm_box_pack_end(bx, li); for (l = (Eina_List *)(ctc->tel.numbers); l; l = l->next) { Data_Contact_Tel *tel = l->data; // FIXME: // tel->flags can be 0 or more of: // DATA_CONTACT_TEL_HOME = (1 << 0), // DATA_CONTACT_TEL_MSG = (1 << 1), // DATA_CONTACT_TEL_WORK = (1 << 2), // DATA_CONTACT_TEL_PREF = (1 << 3), // DATA_CONTACT_TEL_VOICE = (1 << 4), // DATA_CONTACT_TEL_FAX = (1 << 5), // DATA_CONTACT_TEL_CELL = (1 << 6), // DATA_CONTACT_TEL_VIDEO = (1 << 7), // DATA_CONTACT_TEL_PAGER = (1 << 8), // DATA_CONTACT_TEL_BBS = (1 << 9), // DATA_CONTACT_TEL_MODEM = (1 << 10), // DATA_CONTACT_TEL_CAR = (1 << 11), // DATA_CONTACT_TEL_ISDN = (1 << 12), // DATA_CONTACT_TEL_PCS = (1 << 13) elm_list_item_append(li, tel->number, NULL, NULL, on_number_select, tel); } elm_list_go(li); evas_object_show(li); bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_list_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); } else { Data_Contact_Tel *tel; char *name, *file; tel = ctc->tel.numbers->data; if (number) free(number); number = strdup(tel->number); elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *bt, *gl; Ecore_Animator *ani; GLData *gld = NULL; if (!(gld = calloc(1, sizeof(GLData)))) return 1; // set the engine to opengl_x11 // if commented out, ELM will choose one elm_config_engine_set("opengl_x11"); win = elm_win_add(NULL, "glview simple", ELM_WIN_BASIC); elm_win_title_set(win, "GLView Simple"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); //-//-//-// THIS IS WHERE GL INIT STUFF HAPPENS (ALA EGL) //-// // create a new glview object gl = elm_glview_add(win); gld->glapi = elm_glview_gl_api_get(gl); evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); // mode is simply for supporting alpha, depth buffering, and stencil // buffering. elm_glview_mode_set(gl, ELM_GLVIEW_ALPHA | ELM_GLVIEW_DEPTH); // resize policy tells glview what to do with the surface when it // resizes. ELM_GLVIEW_RESIZE_POLICY_RECREATE will tell it to // destroy the current surface and recreate it to the new size elm_glview_resize_policy_set(gl, ELM_GLVIEW_RESIZE_POLICY_RECREATE); // render policy tells glview how it would like glview to render // gl code. ELM_GLVIEW_RENDER_POLICY_ON_DEMAND will have the gl // calls called in the pixel_get callback, which only gets called // if the object is visible, hence ON_DEMAND. ALWAYS mode renders // it despite the visibility of the object. elm_glview_render_policy_set(gl, ELM_GLVIEW_RENDER_POLICY_ON_DEMAND); // initialize callback function gets registered here elm_glview_init_func_set(gl, _init_gl); // delete callback function gets registered here elm_glview_del_func_set(gl, _del_gl); elm_glview_resize_func_set(gl, _resize_gl); elm_glview_render_func_set(gl, _draw_gl); //-// //-//-//-// END GL INIT BLOB elm_box_pack_end(bx, gl); evas_object_show(gl); elm_object_focus_set(gl, EINA_TRUE); // animating - just a demo. as long as you trigger an update on the image // object via elm_glview_changed_set() it will be updated. // // NOTE: if you delete gl, this animator will keep running trying to access // gl so you'd better delete this animator with ecore_animator_del(). ani = ecore_animator_add(_anim, gl); evas_object_data_set(gl, "ani", ani); evas_object_data_set(gl, "gld", gld); evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, _del, gl); // add an 'OK' button to end the program bt = elm_button_add(win); elm_object_text_set(bt, "OK"); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _on_done, win); evas_object_resize(win, 320, 480); evas_object_show(win); // run the mainloop and process events and callbacks elm_run(); elm_shutdown(); return 0; }
void create_compose(Data_Message *rep_to, const char *to, const char *text) { Evas_Object *bx, *bx2, *ph, *lb, *bt, *sc, *en; if (content) evas_object_del(content); reply_to = NULL; if (number) { free(number); number = NULL; } if (rep_to) { reply_to = rep_to; if (reply_to->from_to) number = strdup(reply_to->from_to); } if (to) { if (number) free(number); number = strdup(to); } bx = elm_box_add(window); evas_object_size_hint_weight_set(bx, 1.0, 1.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); content = bx; bx2 = elm_box_add(window); elm_box_horizontal_set(bx2, 1); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); ph = elm_photo_add(window); evas_object_smart_callback_add(ph, "clicked", on_to_select, NULL); evas_object_size_hint_weight_set(ph, 0.0, 1.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); write_ph = ph; lb = elm_label_add(window); elm_label_label_set(lb, "Select..."); evas_object_size_hint_weight_set(lb, 1.0, 1.0); evas_object_size_hint_align_set(lb, -1.0, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_lb = lb; lb = elm_label_add(window); elm_label_label_set(lb, "0"); evas_object_size_hint_weight_set(lb, 0.0, 1.0); evas_object_size_hint_align_set(lb, 0.5, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_stat = lb; if (number) { Data_Contact *ctc = data_contact_by_tel_find(number); if (ctc) { char *name, *file; elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } } elm_box_pack_end(bx, bx2); evas_object_show(bx2); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(bx, sc); en = elm_entry_add(window); if (text) elm_entry_entry_set(en, text); else elm_entry_entry_set(en, ""); evas_object_size_hint_weight_set(en, 1.0, 1.0); evas_object_size_hint_align_set(en, -1.0, -1.0); elm_scroller_content_set(sc, en); evas_object_smart_callback_add(en, "changed", on_edit, NULL); evas_object_show(en); evas_object_show(sc); sms_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "Send"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_send, NULL); evas_object_show(bt); elm_box_pack_end(box, bx); evas_object_show(bx); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg; Evas_Object *box, *hbox, *o_bg; Evas_Object *rd, *rdg; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "objects/test.edj"); win = elm_win_add(NULL, "bg-options", ELM_WIN_BASIC); elm_win_title_set(win, "Bg Options"); evas_object_smart_callback_add(win, "delete,request", on_done, NULL); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); 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); o_bg = elm_bg_add(win); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); elm_bg_file_set(o_bg, buf, NULL); evas_object_size_hint_weight_set(o_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, o_bg); evas_object_show(o_bg); hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_CENTER); elm_object_text_set(rd, "Center"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rdg = rd; rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_SCALE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Scale"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_STRETCH); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Stretch"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); elm_radio_value_set(rdg, ELM_BG_OPTION_SCALE); rd = elm_check_add(win); elm_object_text_set(rd, "Show Overlay"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_overlay_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); /* color choices ... this is ghetto, but we don't have a 'colorpicker' * widget yet :( */ rd = elm_spinner_add(win); elm_object_style_set(rd, "vertical"); elm_spinner_min_max_set(rd, 1, 4); elm_spinner_label_format_set(rd, "%.0f"); elm_spinner_editable_set(rd, EINA_FALSE); elm_spinner_special_value_add(rd, 1, "White"); elm_spinner_special_value_add(rd, 2, "Red"); elm_spinner_special_value_add(rd, 3, "Blue"); elm_spinner_special_value_add(rd, 4, "Green"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_color_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); elm_box_pack_end(box, hbox); evas_object_show(hbox); evas_object_resize(win, 460, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }