void create_pager(Evas_Object *parent, Evas_Object *pg, Pginfo *info, Measurements_Lists *ml) { Evas_Object *ed, *converters_list, *layout; pg = elm_pager_add(parent); elm_win_resize_object_add(parent, pg); evas_object_size_hint_weight_set(pg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(pg); info->pager = pg; /*main page*/ layout = elm_layout_add(parent); if (!elm_layout_file_set(layout, PACKAGE_DATA_DIR "/default.edj", "main")) { DBG("Can't load Edje Layout %s", PACKAGE_DATA_DIR "/default.edj"); return; } evas_object_show(layout); elm_pager_content_push(pg, layout); info->pg1 = layout; converters_list = elm_list_add(parent); elm_object_part_content_set(layout, "converters_list", converters_list); evas_object_size_hint_weight_set(converters_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(converters_list, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(converters_list); populate_converters_list(converters_list, info); /* distance conerter*/ layout = elm_layout_add(parent); if (!elm_layout_file_set(layout, PACKAGE_DATA_DIR "/default.edj", "distance_converter")) { DBG("Can't load Edje Layout %s", PACKAGE_DATA_DIR "/default.edj"); return; } evas_object_show(layout); ed = elm_layout_edje_get(layout); edje_object_part_text_set(ed, "equal", ""); edje_object_part_text_set(ed, "input", ""); edje_object_part_text_set(ed, "output", ""); ml->list_in = elm_list_add(parent); elm_object_part_content_set(layout, "measurements_in", ml->list_in); evas_object_size_hint_weight_set(ml->list_in, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(ml->list_in, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(ml->list_in); populate_measurements_list_in(ml->list_in, ed, info); ml->list_out = elm_list_add(parent); elm_object_part_content_set(layout, "measurements_out", ml->list_out); evas_object_size_hint_weight_set(ml->list_out, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(ml->list_out, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(ml->list_out); populate_measurements_list_out(ml->list_out, ed, info); /* Set callback functions */ edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_1", on_number_button_clicked, "1"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_2", on_number_button_clicked, "2"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_3", on_number_button_clicked, "3"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_4", on_number_button_clicked, "4"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_5", on_number_button_clicked, "5"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_6", on_number_button_clicked, "6"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_7", on_number_button_clicked, "7"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_8", on_number_button_clicked, "8"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_9", on_number_button_clicked, "9"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_0", on_number_button_clicked, "0"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_clear", on_number_button_clear, ml); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_enter", on_number_button_enter, ml); edje_object_signal_callback_add(ed, "mouse,clicked,1", "back", back_page_1, info); elm_pager_content_push(pg, layout); info->pg2 = layout; elm_pager_content_promote(info->pager, info->pg1); }
EINA_DEPRECATED EAPI void elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon) {elm_object_part_content_set(obj, "icon", icon);}
static void _create_view_layout(Evas_Object *parent, char *layout_file, char *index_style, char it_style[][20], Eina_Bool even_num) { Evas_Object *layout, *scroller, *box, *left_right_rect, *img, *page_layout, *index; Elm_Object_Item *nf_it; char img_path[PATH_MAX]; int i, max_items; page_data *pd = (page_data *)calloc(1, sizeof(page_data)); /* Create Layout */ layout = elm_layout_add(parent); elm_layout_file_set(layout, ELM_DEMO_EDJ, layout_file); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(layout); evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd); pd->main_layout = layout; /* Create Scroller */ scroller = elm_scroller_add(layout); elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE); evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_scroller_page_scroll_limit_set(scroller, 1, 0); elm_object_scroll_lock_y_set(scroller, EINA_TRUE); elm_object_part_content_set(layout, "scroller", scroller); evas_object_show(scroller); evas_object_smart_callback_add(scroller, "scroll", _scroll, pd); pd->scroller = scroller; /* Create Box */ box = elm_box_add(scroller); elm_box_horizontal_set(box, EINA_TRUE); elm_object_content_set(scroller, box); evas_object_show(box); pd->box = box; /* Create Rect object for page_layout center align in Box */ left_right_rect = evas_object_rectangle_add(evas_object_evas_get(box)); elm_box_pack_end(box, left_right_rect); /* Create Pages */ if (even_num) max_items = NUM_INDEX_CIRCLE_EVEN; else max_items = NUM_ITEMS; for (i = 0; i < max_items; ++i) { page_layout = elm_layout_add(box); pd->page_layout[i] = page_layout; evas_object_size_hint_weight_set(page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL); elm_layout_theme_set(page_layout, "layout", "body_thumbnail", "default"); evas_object_show(page_layout); img = elm_image_add(page_layout); snprintf(img_path, sizeof(img_path), "%s/100_%d.jpg", ICON_DIR, (i % 6) + 1); elm_image_file_set(img, img_path, NULL); elm_object_part_content_set(page_layout, "elm.icon", img); /* Make unselect state all of the pages except first one */ if (i) elm_object_signal_emit(page_layout, "elm,state,thumbnail,unselect", "elm"); elm_box_pack_end(box, page_layout); } /*Add resize callback for get a actual size of layout and main layout */ evas_object_event_callback_add(pd->page_layout[0], EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd); elm_box_pack_end(box, left_right_rect); pd->left_right_rect = left_right_rect; /* Add animator for page transfer effect */ ecore_animator_add(animator_cb, pd); /* Create Index */ index = elm_index_add(layout); elm_object_style_set(index, index_style); evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_index_horizontal_set(index, EINA_TRUE); elm_index_autohide_disabled_set(index, EINA_TRUE); elm_object_part_content_set(layout, "controller", index); for (i = 0; i < max_items; ++i) { pd->it[i] = elm_index_item_append(index, NULL, NULL, (void *) i); if (it_style) elm_object_item_style_set(pd->it[i], it_style[i]); } pd->min_page = 0; pd->max_page = max_items - 1; elm_index_level_go(index, 0); elm_index_item_selected_set(pd->it[0], EINA_TRUE); pd->cur_page = 0; pd->index = index; pd->last_it = pd->it[0]; evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd); nf_it = elm_naviframe_item_push(parent, NULL, NULL, NULL, layout, NULL); elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE); }
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); }
/* 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; }
ApplicationController::ApplicationController(Evas *_e, Evas_Object *_l): evas(_e), layout(_l), mouseCursor(NULL), menu_hidden(false), homeController(NULL), mediaController(NULL), scenariosController(NULL), configController(NULL), keyboardController(NULL), webController(NULL), editScController(NULL), scheduleScController(NULL) { if (Utils::get_config_option("show_cursor") == "true") { mouseCursor = new EdjeObject(ApplicationMain::getTheme(), evas); try { mouseCursor->LoadEdje("calaos/cursor"); } catch(std::exception const& e) { cCritical() << "ApplicationController: Can't load mouse cursor"; throw; } int w, h; edje_object_size_min_get(mouseCursor->getEvasObject(), &w, &h); mouseCursor->Resize(w, h); mouseCursor->Show(); ecore_evas_object_cursor_set(ecore_evas_ecore_evas_get(evas), mouseCursor->getEvasObject(), EVAS_LAYER_MAX - 32, w / 2, h / 2); } else { Evas_Object *cursor = evas_object_rectangle_add(evas); evas_object_color_set(cursor, 0, 0, 0, 0); evas_object_resize(cursor, 1, 1); evas_object_show(cursor); ecore_evas_object_cursor_set(ecore_evas_ecore_evas_get(evas), cursor, EVAS_LAYER_MAX - 32, 0, 0); } menuView = new MainMenuView(evas, layout); menuView->setVersionString(PACKAGE_VERSION); menuView->on_home_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuHomeClick)); menuView->on_media_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuMediaClick)); menuView->on_scenario_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuScenarioClick)); menuView->on_config_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuConfigClick)); menuView->on_reboot_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuRebootClick)); menuView->on_suspend_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuSuspendClick)); menuView->on_widget_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuWidgetClick)); menuView->on_addwidget_click.connect(sigc::mem_fun(*this, &ApplicationController::onMenuAddWidgetClick)); //Start the model instance CalaosModel::Instance().home_loaded.connect(sigc::mem_fun(*this, &ApplicationController::home_loaded)); CalaosModel::Instance().login_failed.connect(sigc::mem_fun(*this, &ApplicationController::login_failed)); contentView = new MainContentView(evas, layout); elm_object_part_content_set(layout, "calaos.main.content", contentView->getSmartObject()); widgetsController = new ActivityWidgetsController(evas, layout); contentView->addView(widgetsController->getView()); menuView->on_menu_open.connect(sigc::mem_fun(*widgetsController, &ActivityWidgetsController::dimView)); menuView->on_menu_close.connect(sigc::mem_fun(*widgetsController, &ActivityWidgetsController::resetView)); menuView->on_widget_valid_click.connect(sigc::mem_fun(*widgetsController, &ActivityWidgetsController::validEdit)); menuView->on_widget_cancel_click.connect(sigc::mem_fun(*widgetsController, &ActivityWidgetsController::cancelEdit)); }
void Object::setContent (const std::string &part, const Evasxx::Object &content) { elm_object_part_content_set(o, part.c_str(), content.obj()); }
static void _init_profiles_power_page() { Evas_Object *win = ui_utils_view_window_get(VIEW_PTR(view)); view.layout1 = elm_layout_add(win); elm_win_resize_object_add(win, view.layout1); evas_object_size_hint_weight_set(view.layout1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_file_set(view.layout1, phoneui_theme, "phoneui/settings/quick-settings/profile-power"); evas_object_show(view.layout1); view.airplane_slide = elm_check_add(win); elm_object_style_set(view.airplane_slide, "toggle"); elm_object_part_content_set(view.layout1, "profiles-frame-airplane-slide", view.airplane_slide); evas_object_smart_callback_add(view.airplane_slide, "changed", _airplane_slide_changed_cb, NULL); evas_object_show(view.airplane_slide); view.dimming_slide = elm_check_add(win); elm_object_style_set(view.dimming_slide, "toggle"); elm_object_part_content_set(view.layout1, "power-frame-auto-frame-dimming-slide", view.dimming_slide); evas_object_smart_callback_add(view.dimming_slide, "changed", _dimming_slide_changed_cb, NULL); evas_object_show(view.dimming_slide); view.suspend_slide = elm_check_add(win); elm_object_style_set(view.suspend_slide, "toggle"); elm_object_part_content_set(view.layout1, "power-frame-auto-frame-suspend-slide", view.suspend_slide); evas_object_smart_callback_add(view.suspend_slide, "changed", _suspend_slide_changed_cb, NULL); evas_object_show(view.suspend_slide); elm_object_part_text_set(view.suspend_slide, "on", D_("Forbid")); elm_object_part_text_set(view.suspend_slide, "off", D_("Allow")); elm_object_part_text_set(view.dimming_slide, "on", D_("Forbid")); elm_object_part_text_set(view.dimming_slide, "off", D_("Allow")); view.profiles_combo = elm_hoversel_add(win); elm_object_part_content_set(view.layout1, "profiles-frame-profiles-combo", view.profiles_combo); elm_hoversel_hover_parent_set(view.profiles_combo, win); evas_object_show(view.profiles_combo); evas_object_smart_callback_add(view.profiles_combo, "selected", _profile_selected_cb, NULL); view.button_lock = elm_button_add(win); elm_object_text_set(view.button_lock, D_("Lock")); elm_object_part_content_set(view.layout1, "power-frame-lock-button", view.button_lock); evas_object_smart_callback_add(view.button_lock, "clicked", _button_lock_clicked_cb, NULL); evas_object_show(view.button_lock); view.button_suspend = elm_button_add(win); elm_object_text_set(view.button_suspend, D_("Suspend")); elm_object_part_content_set(view.layout1, "power-frame-suspend-button", view.button_suspend); evas_object_smart_callback_add(view.button_suspend, "clicked", _button_suspend_clicked_cb, NULL); evas_object_show(view.button_suspend); view.button_shutdown = elm_button_add(win); elm_object_text_set(view.button_shutdown, D_("Shutdown")); elm_object_part_content_set(view.layout1, "power-frame-shutdown-button", view.button_shutdown); evas_object_smart_callback_add(view.button_shutdown, "clicked", _button_shutdown_clicked_cb, NULL); evas_object_show(view.button_shutdown); elm_naviframe_item_simple_push(view.pager, view.layout1); /* Disabled until we get the list + current profile. */ elm_object_disabled_set(view.profiles_combo, EINA_TRUE); phoneui_utils_sound_profile_list(_profiles_list_cb, NULL); phoneui_utils_resources_get_resource_policy("CPU", _cpu_get_policy_cb, NULL); phoneui_utils_resources_get_resource_policy("Display", _display_get_policy_cb, NULL); phoneui_utils_get_offline_mode(_get_offline_mode_cb, NULL); /*Register to all signals*/ phoneui_info_register_and_request_profile_changes(_profile_changed_signal_cb, NULL); phoneui_info_register_and_request_resource_status(_resource_changed_signal_cb, NULL); }
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; }
void create_gui(Evas_Object *win) { int i; char no[2], *tystr, buf[255]; Evas_Object *bg, *hbox, *prop_button, *sc, *ic, *bx1; Evas_Object *vbox, *bx, *hbox1, *bt, *save_button, *note_button; //add background bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, 1.0, 1.0); evas_object_show(bg); //add vbox vbox = elm_box_add(win); elm_win_resize_object_add(win, vbox); evas_object_size_hint_weight_set(vbox, 1.0, 1.0); evas_object_show(vbox); //add hbox to vbox hbox = elm_box_add(win); elm_box_horizontal_set(hbox, 1); evas_object_size_hint_weight_set(hbox, 1.0, 0.0); evas_object_size_hint_align_set(hbox, -1.0, 0.0); elm_box_pack_end(vbox, hbox); evas_object_show(hbox); //add hover for priority hv = elm_hover_add(win); //add box for hover bx = elm_box_add(win); elm_box_pack_end(hbox, bx); //evas_object_size_hint_weight_set(bx, 0.0, 1.0); //evas_object_size_hint_align_set(bx, 0.0, -1.0); evas_object_show(bx); pr_bt = elm_button_add(win); elm_object_text_set(pr_bt, "Pr"); evas_object_smart_callback_add(pr_bt, "clicked", my_hover_bt_1, hv); elm_box_pack_end(bx, pr_bt); evas_object_show(pr_bt); elm_hover_parent_set(hv, win); elm_hover_target_set(hv, pr_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Pr"); elm_object_part_content_set(hv, "middle", bt); evas_object_show(bt); bx = elm_box_add(win); //add 5 buttons for (i=1; i<6; i++) { bt = elm_button_add(win); sprintf(no, "%d", i); elm_object_text_set(bt, no); elm_box_pack_end(bx, bt); tystr = strdup(no); evas_object_smart_callback_add(bt, "clicked", set_priority, (char *)tystr); evas_object_show(bt); } evas_object_show(bx); elm_object_part_content_set(hv, "bottom", bx); //add scroller for entry sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_weight_set(sc, 1.0, 0.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(hbox, sc); //add entry for task tk = elm_entry_add(win); elm_entry_single_line_set(tk ,1); elm_entry_entry_set(tk, "Task"); evas_object_size_hint_weight_set(tk, 1.0, 0.0); evas_object_size_hint_align_set(tk, -1.0, 0.0); elm_object_content_set(sc, tk); evas_object_show(tk); evas_object_show(sc); //add hover for date date_hs = elm_hover_add(win); //add box for hover bx1 = elm_box_add(win); elm_box_pack_end(hbox, bx1); evas_object_size_hint_weight_set(bx1, 0.0, 0.0); evas_object_size_hint_align_set(bx1, 0.0, -1.0); evas_object_show(bx1); date_bt = elm_button_add(win); elm_object_text_set(date_bt, "Date"); evas_object_smart_callback_add(date_bt, "clicked", my_hover_bt_1, date_hs); elm_box_pack_end(bx1, date_bt); evas_object_show(date_bt); elm_hover_parent_set(date_hs, win); elm_hover_target_set(date_hs, date_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Date"); elm_object_part_content_set(date_hs, "middle", bt); evas_object_show(bt); bx1 = elm_box_add(win); add_dates(win, bx1, bt); evas_object_show(bx1); elm_object_part_content_set(date_hs, "bottom", bx1); //add save button save_button = elm_button_add(win); elm_object_text_set(save_button, "Save"); evas_object_size_hint_weight_set(save_button, 0.0, 0.0); evas_object_size_hint_align_set(save_button, 1.0, -1.0); elm_box_pack_end(hbox, save_button); evas_object_show(save_button); evas_object_smart_callback_add(save_button, "clicked", save_button_clicked, list); //add list to vbox now list = elm_genlist_add(win); evas_object_size_hint_weight_set(list, 1.0, 1.0); evas_object_size_hint_align_set(list, -1.0, -1.0); elm_list_multi_select_set(list, 0); elm_box_pack_end(vbox, list); elm_genlist_mode_set(list, ELM_LIST_LIMIT); evas_object_show(list); evas_object_smart_callback_add(list, "selected", task_select, list); //genlist class defs itc1.item_style = "default"; itc1.func.text_get = gl_text_get; itc1.func.content_get = gl_content_get; itc1.func.state_get = gl_state_get; itc1.func.del = gl_del; //add hbox to vbox at pos 4 hbox1 = elm_box_add(win); elm_box_horizontal_set(hbox1, 1); evas_object_size_hint_weight_set(hbox1, 1.0, 0.0); evas_object_size_hint_align_set(hbox1, -1.0, 0.0); elm_box_pack_end(vbox, hbox1); evas_object_show(hbox1); //add new button to the hbox new_button = elm_button_add(win); elm_object_text_set(new_button, "Add"); evas_object_size_hint_weight_set(new_button, 1.0, 1.0); evas_object_size_hint_align_set(new_button, -1.0, -1.0); elm_box_pack_end(hbox1, new_button); evas_object_show(new_button); evas_object_smart_callback_add(new_button, "clicked", create_new_task, list); //add Properties button to the hbox prop_button = elm_button_add(win); elm_object_text_set(prop_button, "Details"); evas_object_size_hint_weight_set(prop_button, 1.0, 1.0); evas_object_size_hint_align_set(prop_button, -1.0, -1.0); elm_box_pack_end(hbox1, prop_button); evas_object_show(prop_button); evas_object_smart_callback_add(prop_button, "clicked", create_details_page, NULL); //add note button to the hbox note_button = elm_button_add(win); ic = elm_icon_add(win); snprintf(buf, sizeof(buf), "/usr/share/e-tasks/note_butt.png"); elm_icon_file_set(ic, buf, NULL); evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); elm_object_content_set(note_button, ic); evas_object_show(ic); //elm_object_text_set(note_button, "Note"); evas_object_size_hint_weight_set(note_button, 1.0, 1.0); evas_object_size_hint_align_set(note_button, -1.0, -1.0); elm_box_pack_end(hbox1, note_button); evas_object_show(note_button); evas_object_smart_callback_add(note_button, "clicked", note_button_clicked, list); //add hover for category select hs1 = elm_hover_add(win); //add box for hover bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 0.0, 0.0); elm_box_pack_end(hbox1, bx); evas_object_show(bx); sel_cat_bt = elm_button_add(win); elm_object_text_set(sel_cat_bt, " All Tasks "); evas_object_smart_callback_add(sel_cat_bt, "clicked", my_hover_bt_1, hs1); elm_box_pack_end(bx, sel_cat_bt); evas_object_show(sel_cat_bt); elm_hover_parent_set(hs1, win); elm_hover_target_set(hs1, sel_cat_bt); bt = elm_button_add(win); elm_object_text_set(bt, " All Tasks "); elm_object_part_content_set(hs1, "middle", bt); evas_object_show(bt); create_cat_hover (); // make window full screen evas_object_resize(win, 480, 640); }
static void _init_recipient_page(struct MessageNewViewData *view) { Evas_Object *win, *btn; win = ui_utils_view_window_get(VIEW_PTR(*view)); view->layout_recipients = elm_layout_add(view->pager); elm_win_resize_object_add(win, view->layout_recipients); elm_layout_file_set(view->layout_recipients, phoneui_theme, "phoneui/messages/new/recipients"); evas_object_show(view->layout_recipients); edje_object_part_text_set(elm_layout_edje_get(view->layout_recipients), "recipients_title", D_("Define Recipients")); view->list_recipients = elm_genlist_add(win); elm_genlist_mode_set(view->list_recipients, ELM_LIST_LIMIT); evas_object_size_hint_align_set(view->list_recipients, 0.0, 0.0); evas_object_size_hint_weight_set(view->list_recipients, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_scale_set(view->list_recipients, 1.0); elm_object_part_content_set(view->layout_recipients, "recipients_list", view->list_recipients); itc.item_style = "contact"; itc.func.text_get = gl_text_get; itc.func.content_get = gl_content_get; itc.func.state_get = NULL; itc.func.del = gl_del; evas_object_show(view->list_recipients); g_ptr_array_foreach(view->recipients, _process_recipient, view); btn = elm_button_add(win); elm_object_text_set(btn, D_("Back")); evas_object_smart_callback_add(btn, "clicked", _recipients_button_back_clicked, view); elm_object_part_content_set(view->layout_recipients, "recipients_button_back", btn); evas_object_show(btn); btn = elm_button_add(win); elm_object_text_set(btn, D_("Contact")); evas_object_smart_callback_add(btn, "clicked", _recipients_button_add_contact_clicked, view); elm_object_part_content_set(view->layout_recipients, "recipients_button_add_contact", btn); evas_object_show(btn); btn = elm_button_add(win); elm_object_text_set(btn, D_("Number")); evas_object_smart_callback_add(btn, "clicked", _recipients_button_add_number_clicked, view); elm_object_part_content_set(view->layout_recipients, "recipients_button_add_number", btn); evas_object_show(btn); btn = elm_button_add(win); elm_object_text_set(btn, D_("Send")); evas_object_smart_callback_add(btn, "clicked", _recipients_button_send_clicked, view); elm_object_part_content_set(view->layout_recipients, "recipients_button_send", btn); evas_object_show(btn); elm_naviframe_item_simple_push(view->pager, view->layout_recipients); }
void create_details_page(void *data, Evas_Object *obj, void *event_info) { Evas_Object *bg, *tb, *lb, *bt; Evas_Object *det_hv, *bx, *c_date_hs, *c_date_bt, *fr1, *fr, *bt_done; int i; char no[2], dt[10]; static Details det[15]; time_t curtime, tm; struct tm *loctime; //get the time curtime = time (NULL); //check task selected - otherwise return Elm_Object_Item *item = (Elm_Object_Item *)elm_genlist_selected_item_get(list); if(!item) return; _Task *tsk = (_Task *)elm_object_item_data_get(item); det_page = elm_win_add(NULL, "inwin", ELM_WIN_BASIC); elm_win_title_set(det_page, "Task Details"); elm_win_autodel_set(det_page, 1); bg = elm_bg_add(det_page); elm_win_resize_object_add(det_page, bg); evas_object_size_hint_weight_set(bg, 1.0, 1.0); evas_object_show(bg); tb = elm_table_add(det_page); elm_win_resize_object_add(det_page, tb); evas_object_size_hint_weight_set(tb, 1.0, 1.0); evas_object_size_hint_align_set(tb, -1.0, -1.0); evas_object_show(tb); //add a frame fr = elm_frame_add(det_page); elm_object_style_set(fr, "outdent_top"); evas_object_size_hint_align_set(fr, 0.5, -1.0); elm_table_pack(tb, fr, 0, 0, 3, 1); evas_object_show(fr); //add a label to frame lb = elm_label_add(det_page); elm_object_text_set(lb,"Edit Task Details"); evas_object_size_hint_align_set(lb, 0.5, -1.0); elm_object_content_set(fr, lb); evas_object_show(lb); //add a label lb = elm_label_add(det_page); elm_object_text_set(lb,"Task:"); evas_object_size_hint_align_set(lb, 1.0, 0.5); elm_table_pack(tb, lb, 0, 1, 1, 1); evas_object_show(lb); //add an entry entry = elm_entry_add(det_page); elm_entry_single_line_set(entry, 1); elm_entry_editable_set(entry, 1); elm_entry_entry_set(entry, tsk->text); elm_entry_line_wrap_set(entry, 0); elm_table_pack(tb, entry, 1, 1, 2, 1); evas_object_show(entry); //add a label to hbox lb = elm_label_add(det_page); elm_object_text_set(lb,"Priority:"); evas_object_size_hint_align_set(lb, 1.0, 0.5); elm_table_pack(tb, lb, 0, 2, 1, 1); evas_object_show(lb); //add hover for priority det_hv = elm_hover_add(det_page); //add box for hover bx = elm_box_add(det_page); elm_table_pack(tb, bx, 1, 2, 2, 1); evas_object_show(bx); c_pr_bt = elm_button_add(det_page); sprintf(no, "%d", tsk->pr); elm_object_text_set(c_pr_bt, no); evas_object_smart_callback_add(c_pr_bt, "clicked", my_hover_bt_1, det_hv); elm_box_pack_end(bx, c_pr_bt); evas_object_show(c_pr_bt); elm_hover_parent_set(det_hv, det_page); elm_hover_target_set(det_hv, c_pr_bt); bt = elm_button_add(det_page); elm_object_text_set(bt, "Pr"); elm_object_part_content_set(det_hv, "middle", bt); evas_object_show(bt); bx = elm_box_add(det_page); //add 5 buttons for (i=1; i<6; i++) { det[i].item = item; det[i].hover = det_hv; det[i].button = c_pr_bt; bt = elm_button_add(det_page); sprintf(no, "%d", i); elm_object_text_set(bt, no); elm_box_pack_end(bx, bt); det[i].data = strdup(no); evas_object_smart_callback_add(bt, "clicked", set_create_priority, &det[i]); evas_object_show(bt); } evas_object_show(bx); elm_object_part_content_set(det_hv, "bottom", bx); //add a label to hbox lb = elm_label_add(det_page); elm_object_text_set(lb,"Category:"); evas_object_size_hint_align_set(lb, 1.0, 0.5); elm_table_pack(tb, lb, 0, 3, 1, 1); evas_object_show(lb); hs = elm_hover_add(det_page); //add box for hover bx = elm_box_add(det_page); elm_table_pack(tb, bx, 1, 3, 2, 1); evas_object_show(bx); cat_bt = elm_button_add(det_page); elm_object_text_set(cat_bt, tsk->cat); evas_object_smart_callback_add(cat_bt, "clicked", my_hover_bt_1, hs); elm_box_pack_end(bx, cat_bt); evas_object_show(cat_bt); elm_hover_parent_set(hs, det_page); elm_hover_target_set(hs, cat_bt); bt = elm_button_add(det_page); elm_object_text_set(bt, "Category"); elm_object_part_content_set(hs, "middle", bt); evas_object_show(bt); bx = elm_box_add(det_page); //add categories add_hs_items (det_page, bx, bt, 0); evas_object_show(bx); elm_object_part_content_set(hs, "bottom", bx); //add a label to hbox lb = elm_label_add(det_page); elm_object_text_set(lb, "Date:"); evas_object_size_hint_align_set(lb, 1.0, 0.5); elm_table_pack(tb, lb, 0, 4, 1, 1); evas_object_show(lb); //add hover for date c_date_hs = elm_hover_add(det_page); //add box for hover bx = elm_box_add(det_page); elm_table_pack(tb, bx, 1, 4, 2, 1); evas_object_show(bx); c_date_bt = elm_button_add(det_page); elm_object_text_set(c_date_bt, tsk->date); evas_object_smart_callback_add(c_date_bt, "clicked", my_hover_bt_1, c_date_hs); elm_box_pack_end(bx, c_date_bt); evas_object_show(c_date_bt); elm_hover_parent_set(c_date_hs, det_page); elm_hover_target_set(c_date_hs, c_date_bt); bt = elm_button_add(det_page); elm_object_text_set(bt, "Date"); elm_object_part_content_set(c_date_hs, "middle", bt); evas_object_show(bt); bx = elm_box_add(det_page); //add dates det[6].item = item; det[6].hover = c_date_hs; det[6].button = c_date_bt; sprintf(dt, "No Date"); bt = elm_button_add(det_page); elm_object_text_set(bt,dt); elm_box_pack_end(bx, bt); det[6].data = strdup(dt); evas_object_smart_callback_add(bt, "clicked", set_create_date, &det[6]); evas_object_show(bt); for(i=0; i<7; i++) { det[7+i].item = item; det[7+i].hover = c_date_hs; det[7+i].button = c_date_bt; tm = curtime + (i * 86400); loctime = localtime (&tm); strftime(dt, 7, "%d-%m", loctime); bt = elm_button_add(det_page); elm_object_text_set(bt,dt); elm_box_pack_end(bx, bt); det[7+i].data = strdup(dt); evas_object_smart_callback_add(bt, "clicked", set_create_date, &det[7+i]); evas_object_show(bt); } det[14].item = item; det[14].hover = c_date_hs; det[14].button = c_date_bt; sprintf(dt, "Calendar"); bt = elm_button_add(det_page); elm_object_text_set(bt,dt); elm_box_pack_end(bx, bt); det[14].data = strdup(dt); evas_object_smart_callback_add(bt, "clicked", set_create_date, &det[14]); evas_object_show(bt); evas_object_show(bx); elm_object_part_content_set(c_date_hs, "bottom", bx); //add a label lb = elm_label_add(det_page); elm_object_text_set(lb,"Note:"); evas_object_size_hint_align_set(lb, 1.0, 0.5); elm_table_pack(tb, lb, 0, 5, 1, 1); evas_object_show(lb); //add an entry note_entry = elm_entry_add(det_page); elm_entry_single_line_set(note_entry, 1); elm_entry_editable_set(note_entry, 1); if(strcmp(tsk->note, "") != 0) elm_entry_entry_set(note_entry, tsk->note); else { elm_entry_entry_set(note_entry, "Note"); elm_entry_select_all(note_entry); } elm_entry_line_wrap_set(note_entry, 0); elm_table_pack(tb, note_entry, 1, 5, 2, 1); evas_object_show(note_entry); /*lb = elm_label_add(det_page); elm_object_text_set(lb,"Note:"); elm_table_pack(tb, lb, 1, 5, 2, 1); evas_object_show(lb);*/ //add a frame fr1 = elm_frame_add(det_page); elm_object_style_set(fr1, "outdent_bottom"); evas_object_size_hint_weight_set(fr1, -1.0, 0.0); evas_object_size_hint_align_set(fr1, -1.0, -1.0); elm_table_pack(tb, fr1, 0, 6, 3, 1); evas_object_show(fr1); //add done button bt_done = elm_button_add(det_page); elm_object_text_set(bt_done, "Done"); evas_object_size_hint_weight_set(bt_done, 1.0, 0.0); evas_object_size_hint_align_set(bt_done, -1.0, -1.0); elm_table_pack(tb, bt_done, 0, 7, 1, 1); evas_object_show(bt_done); evas_object_smart_callback_add(bt_done, "clicked", det_page_done, (_Task *)tsk); //add del button bt = elm_button_add(det_page); elm_object_text_set(bt, "Delete"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_table_pack(tb, bt, 1, 7, 1, 1); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", det_page_del, (_Task *)tsk); //add yes button //bt = elm_button_add(det_page); //evas_object_size_hint_weight_set(bt, 1.0, 1.0); //evas_object_size_hint_align_set(bt, -1.0, -1.0); //elm_object_text_set(bt, "Note"); //elm_box_pack_end(hbox1, bt); //evas_object_show(bt); //evas_object_smart_callback_add(bt, "clicked", det_page_add, entry); //add close button bt = elm_button_add(det_page); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_object_text_set(bt, "Cancel"); elm_table_pack(tb, bt, 2, 7, 1, 1); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", cat_win_del, det_page); evas_object_resize(det_page, 480, 640); evas_object_show(det_page); }
Evas_Object * enna_browser_bar_add(Evas_Object *parent, Enna_File *file) { Evas_Object *o_layout; Evas_Object *o_ic; Evas_Object *o_seg; Evas_Object *o_box; Evas_Object *o_entry; o_layout = elm_layout_add(parent); elm_layout_file_set(o_layout, enna_config_theme_get(), "enna/browser/header"); evas_object_show(o_layout); o_box = elm_box_add(o_layout); elm_box_horizontal_set(o_box, EINA_TRUE); evas_object_show(o_box); evas_object_size_hint_align_set(o_box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(o_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_padding_set(o_box, 8, 8); o_seg = elm_button_add(o_layout); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_standard_set(o_ic, "go-up"); elm_object_content_set(o_seg, o_ic); elm_object_style_set(o_seg, "black"); evas_object_show(o_seg); elm_box_pack_end(o_box, o_seg); evas_object_smart_callback_add(o_seg, "clicked", _up_clicked_cb, o_layout); evas_object_size_hint_min_set(o_seg, 40, 40); o_seg = elm_segment_control_add(o_layout); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_standard_set(o_ic, "go-previous"); elm_segment_control_item_add(o_seg, o_ic, NULL); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_standard_set(o_ic, "go-next"); elm_segment_control_item_add(o_seg, o_ic, NULL); evas_object_show(o_seg); evas_object_smart_callback_add(o_seg, "changed", _browse_icons_changed_cb, o_layout); evas_object_data_set(o_layout, "browse", o_seg); elm_box_pack_end(o_box, o_seg); evas_object_size_hint_min_set(o_seg, 80, 40); o_entry = elm_entry_add(o_layout); elm_entry_single_line_set(o_entry, EINA_TRUE); if (file) elm_object_text_set(o_entry, file->mrl); evas_object_size_hint_weight_set(o_entry, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(o_entry, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(o_entry); elm_box_pack_end(o_box, o_entry); evas_object_data_set(o_layout, "entry", o_entry); evas_object_smart_callback_add(o_entry, "activated", _entry_activated_cb, o_layout); o_seg = elm_segment_control_add(o_layout); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/view_list"); elm_segment_control_item_add(o_seg, o_ic, NULL); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/view_grid"); elm_segment_control_item_add(o_seg, o_ic, NULL); evas_object_show(o_seg); elm_box_pack_end(o_box, o_seg); evas_object_smart_callback_add(o_seg, "changed", _view_mode_changed_cb, o_layout); evas_object_data_set(o_layout, "mode", o_seg); evas_object_size_hint_min_set(o_seg, 80, 40); o_seg = elm_button_add(o_layout); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/search"); elm_object_content_set(o_seg, o_ic); elm_object_style_set(o_seg, "black"); evas_object_show(o_seg); elm_box_pack_end(o_box, o_seg); evas_object_size_hint_min_set(o_seg, 40, 40); o_seg = elm_button_add(o_layout); o_ic = elm_icon_add(o_layout); evas_object_show(o_ic); elm_icon_file_set(o_ic, enna_config_theme_get(), "icon/settings"); elm_object_content_set(o_seg, o_ic); elm_object_style_set(o_seg, "black"); evas_object_show(o_seg); elm_box_pack_end(o_box, o_seg); evas_object_size_hint_min_set(o_seg, 40, 40); elm_object_part_content_set(o_layout, "enna.swallow.content", o_box); return o_layout; }
EAPI_MAIN int elm_main(int argc, char *argv[]) { Evas_Object *win, *box, *box2, *btn, *icon; static App_Data data; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("Button example", "Button example"); elm_win_autodel_set(win, EINA_TRUE); 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); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(box, box2); evas_object_show(box2); btn = elm_button_add(win); elm_object_text_set(btn, "Initial: 0.0"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); btn = elm_button_add(win); elm_object_text_set(btn, "Initial: 1.0"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); btn = elm_button_add(win); elm_object_text_set(btn, "Initial: 5.0"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(box, box2); evas_object_show(box2); btn = elm_button_add(win); elm_object_text_set(btn, "Gap: 0.1"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); btn = elm_button_add(win); elm_object_text_set(btn, "Gap: 0.5"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); btn = elm_button_add(win); elm_object_text_set(btn, "Gap: 1.0"); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _btn_options_cb, &data); btn = elm_button_add(win); elm_button_autorepeat_set(btn, EINA_TRUE); elm_button_autorepeat_initial_timeout_set(btn, 1.0); elm_button_autorepeat_gap_timeout_set(btn, 0.5); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.0); elm_box_pack_end(box, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "repeated", _btn_cursors_move_cb, &data); evas_object_smart_callback_add(btn, "unpressed", _btn_cursors_release_cb, &data); icon = elm_icon_add(win); elm_icon_standard_set(icon, "arrow_up"); elm_object_part_content_set(btn, "icon", icon); data.cursors.up = btn; box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 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_button_autorepeat_set(btn, EINA_TRUE); elm_button_autorepeat_initial_timeout_set(btn, 1.0); elm_button_autorepeat_gap_timeout_set(btn, 0.5); evas_object_size_hint_weight_set(btn, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "repeated", _btn_cursors_move_cb, &data); evas_object_smart_callback_add(btn, "unpressed", _btn_cursors_release_cb, &data); icon = elm_icon_add(win); elm_icon_standard_set(icon, "arrow_left"); elm_object_part_content_set(btn, "icon", icon); data.cursors.left = btn; btn = elm_button_add(win); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(box2, btn); evas_object_show(btn); icon = elm_icon_add(win); elm_icon_standard_set(icon, "close"); elm_object_part_content_set(btn, "icon", icon); data.mid = btn; btn = elm_button_add(win); elm_button_autorepeat_set(btn, EINA_TRUE); elm_button_autorepeat_initial_timeout_set(btn, 1.0); elm_button_autorepeat_gap_timeout_set(btn, 0.5); evas_object_size_hint_weight_set(btn, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "repeated", _btn_cursors_move_cb, &data); evas_object_smart_callback_add(btn, "unpressed", _btn_cursors_release_cb, &data); icon = elm_icon_add(win); elm_icon_standard_set(icon, "arrow_right"); elm_object_part_content_set(btn, "icon", icon); data.cursors.right = btn; btn = elm_button_add(win); elm_button_autorepeat_set(btn, EINA_TRUE); elm_button_autorepeat_initial_timeout_set(btn, 1.0); elm_button_autorepeat_gap_timeout_set(btn, 0.5); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.0); elm_box_pack_end(box, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "repeated", _btn_cursors_move_cb, &data); evas_object_smart_callback_add(btn, "unpressed", _btn_cursors_release_cb, &data); icon = elm_icon_add(win); elm_icon_standard_set(icon, "arrow_down"); elm_object_part_content_set(btn, "icon", icon); data.cursors.down = btn; evas_object_resize(win, 300, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
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); }
Evas_Object* viewer_manager_create(Evas_Object* _parent) { __COMMON_FUNC_ENTER__; if (manager_object != NULL || _parent == NULL) { __COMMON_FUNC_EXIT__; return NULL; } manager_object = (viewer_manager_object*) g_malloc0(sizeof(viewer_manager_object)); memset(manager_object, 0, sizeof(viewer_manager_object)); manager_object->list = NULL; manager_object->item_hidden_btn = NULL; manager_object->item_sep_above_hidden_button = NULL; manager_object->item_sep_below_hidden_button = NULL; manager_object->item_header = NULL; /* Add Full Layout */ Evas_Object* layout = elm_layout_add(_parent); elm_layout_theme_set(layout, "layout", "application", "default"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(_parent, layout); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm"); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm"); edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,indicator", "elm"); /* Add Naviframe */ manager_object->nav = elm_naviframe_add(layout); elm_object_part_content_set(layout, "elm.swallow.content", manager_object->nav); /* Add back button on Navigationbar */ Evas_Object* button_back = elm_button_add(manager_object->nav); /* Add MainView Layout */ Evas_Object* view_content = elm_layout_add(manager_object->nav); elm_layout_theme_set(view_content, "standard", "window", "integration"); edje_object_signal_emit(elm_layout_edje_get(view_content), "elm,state,show,content", "elm"); edje_object_signal_emit(elm_layout_edje_get(view_content), "elm,bg,show,group_list", "elm"); /* Add Conformant */ Evas_Object *conform = elm_conformant_add(manager_object->nav); elm_object_style_set(conform, "internal_layout"); elm_object_part_content_set(view_content, "elm.swallow.content", conform); evas_object_show(conform); /* Add Genlist */ manager_object->list = viewer_list_create(manager_object->nav); assertm_if(NULL == manager_object->list, "manager_object->list is NULL!!"); viewer_manager_header_create(manager_object->list); viewer_manager_bottom_create(manager_object->list); viewer_manager_hidden_button_create(manager_object->list); elm_object_content_set(conform, manager_object->list); if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD) { Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), NULL, NULL, view_content, NULL); evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it); Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); if(ug_app_state->lbutton_setup_wizard_prev_icon != NULL && ug_app_state->lbutton_setup_wizard != NULL) { manager_object->prev_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->lbutton_setup_wizard_prev_icon, ug_app_state->lbutton_setup_wizard, _lbutton_click_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); } if(ug_app_state->rbutton_setup_wizard_scan_icon != NULL) { manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_scan_icon, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); } if(ug_app_state->rbutton_setup_wizard_skip_icon != NULL && ug_app_state->rbutton_setup_wizard_skip != NULL) { manager_object->next_button = (Evas_Object *)elm_toolbar_item_append(toolbar, ug_app_state->rbutton_setup_wizard_skip_icon, ug_app_state->rbutton_setup_wizard_skip, _rbutton_click_cb, NULL); } elm_object_item_part_content_set(navi_it, "controlbar", toolbar); } else { Elm_Object_Item* navi_it = elm_naviframe_item_push(manager_object->nav, sc(PACKAGE, I18N_TYPE_Wi_Fi), button_back, NULL, view_content, NULL); evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY, (void *)VIEW_MANAGER_VIEW_TYPE_MAIN); evas_object_smart_callback_add(manager_object->nav, "transition,finished", _hide_finished_cb, navi_it); Evas_Object *toolbar = elm_toolbar_add(manager_object->nav); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); manager_object->scan_button = (Evas_Object *)elm_toolbar_item_append(toolbar, NULL, sc(PACKAGE, I18N_TYPE_Scan), _refresh_sk_cb, NULL); elm_object_item_disabled_set(elm_toolbar_item_append(toolbar, NULL, "", NULL, NULL), EINA_TRUE); elm_object_item_part_content_set(navi_it, "controlbar", toolbar); elm_object_style_set(button_back, "naviframe/back_btn/default"); evas_object_smart_callback_add(button_back, "clicked", _back_sk_cb, NULL); } evas_object_show(layout); __COMMON_FUNC_EXIT__; return layout; }
void contact_list_fill_index(struct ContactListData *list_data) { static const int index_button_height = 25; /*FIXME: get actual size*/ int limit = 1; Evas_Object *win; Elm_Object_Item *glit, *current_index_item = NULL; GHashTable *entry; char *idx, *current_index = NULL; char *name; int init_index_count, index_count; Eina_Bool new_index; int height; win = ui_utils_view_window_get(list_data->view); if (list_data->index) { evas_object_del(list_data->index); } list_data->index = elm_index_add(win); elm_win_resize_object_add(win, list_data->index); evas_object_size_hint_weight_set(list_data->index, 1.0, 0.0); evas_object_smart_callback_add(list_data->index, "delay,changed", gl_index_changed, NULL); evas_object_smart_callback_add(list_data->index, "selected", gl_index_selected, NULL); evas_object_geometry_get(list_data->index, NULL, NULL, NULL, &height); limit = height / index_button_height; init_index_count = list_data->count / (limit - 1); /* The number of indexes excluding the first */ index_count = 0; /* Add the first as well */ glit = elm_genlist_first_item_get(list_data->list); while (glit) { entry = (GHashTable *)elm_object_item_data_get(glit); name = phoneui_utils_contact_display_name_get(entry); idx = _new_get_index(name); if (idx) { if (!current_index || strcmp(idx, current_index)) { if (current_index) { free(current_index); } current_index = idx; current_index_item = glit; new_index = TRUE; } else { new_index = FALSE; free(idx); } if (index_count < 1 && new_index) { g_debug("Adding index %s", current_index); elm_index_item_append(list_data->index, current_index, NULL, current_index_item); index_count = init_index_count; } index_count--; } glit = elm_genlist_item_next_get(glit); } if (list_data->layout) { elm_object_part_content_set(list_data->layout, "contacts_index", list_data->index); } evas_object_show(list_data->index); }
static void intf_pop_view(interface *intf) { if (naviframe_count(intf->nf_content) == 1) { playback_service *p_ps = application_get_playback_service(intf->p_app); if (playback_service_is_playing(p_ps)) { /* Lower the window (but keep the mainloop running) */ elm_win_lower(intf->win); playback_service_set_auto_exit(p_ps, true); } else { ui_app_exit(); } return; } /* Get the top of the NaviFrame Stack */ Elm_Object_Item *it = elm_naviframe_top_item_get(intf->nf_content); interface_view *view = (interface_view *)elm_object_item_data_get(it); if (view) { if(view->pf_stop != NULL) { view->pf_stop(view->p_view_sys); } } // NOTE: When pop() is called a naviframe will free the content of the item // unless elm_naviframe_content_preserve_on_pop_set is set but this // function seems broken or underspecified (at least in Tizen 2.3 SDK). // To workaround this issue there's two options: // // * Don't recycle view and instantiate a new one instead // * Remove the view from the item before calling pop() // // The second option has one drawback though, once unset the part // will be flying and needs to be hidden until it's reattached. evas_object_hide(elm_object_part_content_unset(intf->nf_content, "elm.swallow.content")); /* Pop the top view */ elm_naviframe_item_pop(intf->nf_content); elm_win_indicator_opacity_set(intf->win, ELM_WIN_INDICATOR_OPAQUE); Evas_Object *sidebar_toggle_btn = create_button(intf->nf_content, "naviframe/drawers"); evas_object_smart_callback_add(sidebar_toggle_btn, "clicked", left_panel_button_clicked_cb, intf); elm_object_part_content_set(intf->nf_content, "title_left_btn", sidebar_toggle_btn); view = (interface_view *)elm_object_item_data_get(elm_naviframe_top_item_get(intf->nf_content)); if (view) { intf->current_view = view->i_type; sidebar_set_selected_view(intf->sidebar, intf->current_view); if (view->pf_has_menu && view->pf_has_menu(view->p_view_sys) == true) { Evas_Object *popup_toggle_btn = create_button(intf->nf_content, "naviframe/custom_more"); evas_object_smart_callback_add(popup_toggle_btn, "clicked", right_panel_button_clicked_cb, intf); elm_object_part_content_set(intf->nf_content, "title_right_btn", popup_toggle_btn); evas_object_show(popup_toggle_btn); } evas_object_show(view->view); } else { LOGE("Cannot get view metadata"); } }
void Object::setContent (const Evasxx::Object &content) { elm_object_part_content_set(o, NULL, content.obj()); }
interface * intf_create(application *app) { interface *intf = calloc(1, sizeof(*intf)); intf->p_app = app; intf->current_view = -1; #ifdef __arm__ /* no opengl for emulator */ elm_config_accel_preference_set("opengl"); #endif /* Add and set the main Window */ intf->win = elm_win_util_standard_add(PACKAGE, PACKAGE); elm_win_autodel_set(intf->win, EINA_TRUE); /* Change colors */ // 2.3.1 EDJE_COLOR_CLASS_SET_VLC_ORANGE("B011"); // Base class EDJE_COLOR_CLASS_SET_VLC_ORANGE("B0511"); // Naviframe base EDJE_COLOR_CLASS_SET_VLC_ORANGE("B0514"); // Naviframe tab bar EDJE_COLOR_CLASS_SET_VLC_ORANGE("B0514S"); // Naviframe tab bar EDJE_COLOR_CLASS_SET_VLC_ORANGE("B0514P"); // Naviframe tab bar EDJE_COLOR_CLASS_SET_VLC_ORANGE("B0517"); // Naviframe second EDJE_COLOR_CLASS_SET_VLC_COLOR("F043P", VLC_GREY_400_TRANSPARENT); // Naviframe selection // 2.4 EDJE_COLOR_CLASS_SET_VLC_ORANGE("B001"); // Base class EDJE_COLOR_CLASS_SET_VLC_ORANGE("B071"); // Scrollbars EDJE_COLOR_CLASS_SET_VLC_COLOR("B018", VLC_ORANGE_500_TRANSPARENT_100); // End of list effect /* Progress Bar Colors */ EDJE_COLOR_CLASS_SET_VLC_COLOR("W062L1", VLC_GREY_400_TRANSPARENT); // slider background EDJE_COLOR_CLASS_SET_VLC_COLOR("W062L2", VLC_ORANGE_500_TRANSPARENT); // slider foreground EDJE_COLOR_CLASS_SET_VLC_COLOR("W0641P", VLC_ORANGE_500_TRANSPARENT); // slider thumb pressed EDJE_COLOR_CLASS_SET_VLC_COLOR("W0641D", VLC_ORANGE_500_TRANSPARENT); // slider thumb disabled EDJE_COLOR_CLASS_SET_VLC_ORANGE("W0641"); // slider thumb // Extend theme elm_theme_extension_add(NULL, THEME_EDJ); /* Handle rotations */ if (elm_win_wm_rotation_supported_get(intf->win)) { int rots[4] = { 0, 90, 180, 270 }; elm_win_wm_rotation_available_rotations_set(intf->win, (const int *)(&rots), 4); } /* Handle back buttons and delete callbacks */ evas_object_smart_callback_add(intf->win, "delete,request", win_delete_request_cb, NULL); eext_object_event_callback_add(intf->win, EEXT_CALLBACK_BACK, win_back_key_cb, intf); eext_object_event_callback_add(intf->win, EEXT_CALLBACK_MORE, right_panel_button_clicked_cb, intf); /* Add and set a conformant in the main Window */ Evas_Object *conform = elm_conformant_add(intf->win); elm_win_conformant_set(intf->win, EINA_TRUE); evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); /* */ elm_win_indicator_mode_set(intf->win, ELM_WIN_INDICATOR_SHOW); elm_win_indicator_opacity_set(intf->win, ELM_WIN_INDICATOR_OPAQUE); elm_win_resize_object_add(intf->win, conform); evas_object_show(conform); /* Add and set a bg in the conformant */ Evas_Object *bg = elm_bg_add(conform); elm_bg_color_set(bg, 255, 136, 0); /* Add the bg in the conformant */ elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg); evas_object_show(bg); view_e view_type = preferences_get_index(PREF_CURRENT_VIEW, VIEW_VIDEO); /* Create the main view in the conformant */ create_main_layout(intf, conform, view_type); /* Create the default view in the content naviframe */ intf_show_view(intf, view_type); ps_register_on_emotion_restart_cb(application_get_playback_service(intf->p_app), intf_on_emotion_restart_cb, intf); media_library* p_ml = (media_library*)application_get_media_library(intf->p_app); media_library_register_progress_cb( p_ml, &intf_scan_progress_set_cb, intf ); /* */ evas_object_show(intf->win); return intf; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *rect, *rect2, *flip, *radio, *radio2, *radio3; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("flip", "Flip"); elm_win_autodel_set(win, EINA_TRUE); rect = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_resize(rect, 150, 150); evas_object_color_set(rect, 0, 0, 255, 255); evas_object_show(rect); rect2 = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_color_set(rect2, 0, 255, 0, 255); evas_object_show(rect2); flip = elm_flip_add(win); elm_object_part_content_set(flip, "front", rect); elm_object_part_content_set(flip, "back", rect2); evas_object_resize(flip, 150, 150); evas_object_move(flip, 10, 10); evas_object_show(flip); elm_flip_interaction_set(flip, ELM_FLIP_INTERACTION_PAGE); elm_flip_interaction_direction_enabled_set(flip, ELM_FLIP_DIRECTION_UP, EINA_TRUE); elm_flip_interaction_direction_enabled_set(flip, ELM_FLIP_DIRECTION_DOWN, EINA_TRUE); elm_flip_interaction_direction_enabled_set(flip, ELM_FLIP_DIRECTION_LEFT, EINA_TRUE); elm_flip_interaction_direction_enabled_set(flip, ELM_FLIP_DIRECTION_RIGHT, EINA_TRUE); elm_flip_interaction_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_UP, 1); elm_flip_interaction_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_DOWN, 1); elm_flip_interaction_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_LEFT, 1); elm_flip_interaction_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_RIGHT, 1); radio = elm_radio_add(win); elm_object_text_set(radio, "page"); elm_radio_value_set(radio, ELM_FLIP_INTERACTION_PAGE); elm_radio_state_value_set(radio, ELM_FLIP_INTERACTION_PAGE); evas_object_resize(radio, 55, 30); evas_object_move(radio, 10, 160); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _change_interaction, flip); radio2 = elm_radio_add(win); elm_object_text_set(radio2, "cube"); elm_radio_state_value_set(radio2, ELM_FLIP_INTERACTION_CUBE); elm_radio_group_add(radio2, radio); evas_object_resize(radio2, 55, 30); evas_object_move(radio2, 75, 160); evas_object_show(radio2); evas_object_smart_callback_add(radio2, "changed", _change_interaction, flip); radio3 = elm_radio_add(win); elm_object_text_set(radio3, "rotate"); elm_radio_state_value_set(radio3, ELM_FLIP_INTERACTION_ROTATE); elm_radio_group_add(radio3, radio); evas_object_resize(radio3, 55, 30); evas_object_move(radio3, 140, 160); evas_object_show(radio3); evas_object_smart_callback_add(radio3, "changed", _change_interaction, flip); evas_object_resize(win, 200, 200); evas_object_show(win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *icon, *icon2, *bt, *bt2, *layout; Evas_Object *clk; Evas_Object *item; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "examples/layout_example.edj"); win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Adding layout and filling it with widgets layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); snprintf(buf, sizeof(buf), "%s/examples/layout_example.edj", elm_app_data_dir_get()); elm_layout_file_set(layout, buf, "example/mylayout"); evas_object_show(layout); // Setting title const char *title = elm_layout_data_get(layout, "title"); if (title) { elm_win_title_set(win, title); elm_object_part_text_set(layout, TITLE, title); } // Add icon, clock and button to the table icon = elm_icon_add(win); elm_icon_standard_set(icon, "home"); evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, icon, 0, 0, 1, 1); evas_object_show(icon); icon2 = elm_icon_add(win); elm_icon_standard_set(icon2, "close"); evas_object_size_hint_weight_set(icon2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(icon2, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, icon2, 1, 0, 1, 1); evas_object_show(icon2); clk = elm_clock_add(win); evas_object_size_hint_weight_set(clk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(clk, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, clk, 2, 0, 1, 1); evas_object_show(clk); bt = elm_button_add(win); elm_object_text_set(bt, "Click me!"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, bt, 0, 1, 3, 1); evas_object_smart_callback_add(bt, "clicked", _tbl_btn_cb, layout); evas_object_show(bt); item = elm_button_add(win); elm_object_text_set(item, "Position 0"); evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_min_set(item, 100, 50); elm_layout_box_insert_at(layout, BOX, item, 0); evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout); evas_object_show(item); item = elm_button_add(win); elm_object_text_set(item, "Prepended"); evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_min_set(item, 100, 50); elm_layout_box_prepend(layout, BOX, item); evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout); evas_object_show(item); bt2 = elm_button_add(win); elm_object_text_set(bt2, "Delete All"); elm_object_part_content_set(layout, SWALLOW, bt2); evas_object_smart_callback_add(bt2, "clicked", _swallow_btn_cb, layout); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); elm_shutdown(); 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, *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; }
minicontrol* mini_control_view_create(playback_service *p_ps, application *p_app) { minicontrol *mc = calloc(1, sizeof(*mc)); mc->p_ps = p_ps; mc->p_app = p_app; ps = p_ps; const Evas_Coord width = 720; const Evas_Coord height = 120; /* main widget */ mc->win = minicontrol_create_window("quickpanel", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, mini_control_event_cb); evas_object_resize(mc->win, width, height); evas_object_hide(mc->win); /* Create layout and set the theme */ Evas_Object *wlayout = elm_layout_add(mc->win); evas_object_resize(wlayout, width, height); //elm_win_resize_object_add(mc->win, layout); elm_layout_theme_set(wlayout, "layout", "application", "default"); evas_object_show(wlayout); /* Create the background */ Evas_Object *bg = elm_bg_add(wlayout); elm_bg_color_set(bg, 255, 255, 255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(bg); /* Set the background to the theme */ elm_object_part_content_set(wlayout, "elm.swallow.bg", bg); /* */ Evas_Object *layout = mc->layout = elm_layout_add(mc->win); elm_object_part_content_set(wlayout, "elm.swallow.content", layout); /* */ elm_layout_file_set(layout, QUICKPANELCONTROLS_EDJ, "quick_panel_controls"); evas_object_show(layout); mc->play_button = create_icon(layout, "ic_play_circle_normal_o.png"); mc->next_button = create_icon(layout, "ic_widget_next_normal.png"); mc->prev_button = create_icon(layout, "ic_widget_previous_normal.png"); mc->cover = create_icon(layout, "background_cone.png"); elm_object_part_content_set(layout, "swallow.play", mc->play_button); elm_object_part_content_set(layout, "swallow.cover", mc->cover); elm_object_part_content_set(layout, "swallow.previous", mc->prev_button); elm_object_part_content_set(layout, "swallow.next", mc->next_button); evas_object_event_callback_add(mc->play_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->next_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->prev_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); Evas_Object *edje = elm_layout_edje_get(layout); edje_object_signal_callback_add(edje, "mouse,clicked,1", "hub_background", mini_control_background_action_cb, mc); /* */ Evas_Object *progress = mc->progress = elm_slider_add(layout); elm_slider_horizontal_set(progress, EINA_TRUE); elm_object_disabled_set(progress, EINA_TRUE); elm_object_part_content_set(layout, "swallow.progress", progress); return mc; }
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; }
EINA_DEPRECATED EAPI void elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end) {elm_object_part_content_set(obj, "end", end);}
void _show_highscores(void *data, Evas_Object *obj, void *event_info) { highscores_window = elm_win_add(NULL, "Highscores", ELM_WIN_BASIC); elm_win_autodel_set(highscores_window, EINA_TRUE); elm_win_alpha_set(highscores_window, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); highscores_layout = elm_layout_add(highscores_window); evas_object_size_hint_weight_set(highscores_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(highscores_window, highscores_layout); elm_layout_file_set(highscores_layout, HIGHSCORES_LAYOUT, "highscore_layout"); /*highscores_toolbar = elm_toolbar_add(highscores_window); elm_toolbar_shrink_mode_set(highscores_toolbar, ELM_TOOLBAR_SHRINK_SCROLL); Elm_Object_Item *it = elm_toolbar_item_append(highscores_toolbar, NULL, "Classic - small grid", _show_hs, (int*)CLASSIC_GAME_SMALL_GRID); elm_toolbar_item_append(highscores_toolbar, NULL, "Classic - medium grid", _show_hs, (int*)CLASSIC_GAME_MEDIUM_GRID); elm_toolbar_item_append(highscores_toolbar, NULL, "Classic - big grid", _show_hs, (int*)CLASSIC_GAME_BIG_GRID); elm_toolbar_item_append(highscores_toolbar, NULL, "Arcade", _show_hs, (int*)ARCADE_GAME); elm_toolbar_select_mode_set(highscores_toolbar, ELM_OBJECT_SELECT_MODE_ALWAYS);*/ Evas_Object *btn = elm_button_add(highscores_window); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, "Small"); evas_object_smart_callback_add(btn, "clicked", _show_hs, (int*)CLASSIC_GAME_SMALL_GRID); elm_layout_table_pack(highscores_layout, "hs_toolbar", btn, 0, 0, 1, 1); evas_object_show(btn); btn = elm_button_add(highscores_window); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, "Normal"); evas_object_smart_callback_add(btn, "clicked", _show_hs, (int*)CLASSIC_GAME_MEDIUM_GRID); elm_layout_table_pack(highscores_layout, "hs_toolbar", btn, 1, 0, 1, 1); evas_object_show(btn); btn = elm_button_add(highscores_window); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, "Big"); evas_object_smart_callback_add(btn, "clicked", _show_hs, (int*)CLASSIC_GAME_BIG_GRID); elm_layout_table_pack(highscores_layout, "hs_toolbar", btn, 2, 0, 1, 1); evas_object_show(btn); btn = elm_button_add(highscores_window); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, "Arcade"); evas_object_smart_callback_add(btn, "clicked", _show_hs, (int*)ARCADE_GAME); elm_layout_table_pack(highscores_layout, "hs_toolbar", btn, 3, 0, 1, 1); evas_object_show(btn); highscores_genlist = elm_genlist_add(highscores_window); elm_object_part_content_set(highscores_layout, "list", highscores_genlist); Evas_Object *reset_btn = elm_button_add(highscores_window); elm_object_text_set(reset_btn, "Reset highscores"); elm_object_part_content_set(highscores_layout, "reset_button", reset_btn); evas_object_smart_callback_add(reset_btn, "clicked", _highscores_back_button_cb, NULL); evas_object_show(highscores_layout); evas_object_show(highscores_window); //elm_toolbar_item_selected_set(it, EINA_TRUE); ea_object_event_callback_add(highscores_window, EA_CALLBACK_BACK, _highscores_back_button_cb, NULL); //_show_hs((int*)CLASSIC_GAME_SMALL_GRID, highscores_toolbar, it); }