Пример #1
0
Файл: pager.c Проект: gzorin/e17
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);
}
Пример #2
0
EINA_DEPRECATED EAPI void
elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon)
{elm_object_part_content_set(obj, "icon", icon);}
Пример #3
0
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);
}
Пример #4
0
static void
_win_search_trigger_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
   Evas_Event_Key_Down *ev = event_info;
   App_Data *ad = data;
   Evas_Object *box, *box2, *entry, *btn, *ic;

   if (strcmp(ev->keyname, "f") ||
       !evas_key_modifier_is_set(ev->modifiers, "Control"))
     return;
   if (ad->search_box || !ad->current_tab)
     return;

   box = elm_box_add(ad->win);
   elm_box_horizontal_set(box, EINA_TRUE);
   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_after(ad->main_box, box, ad->url);
   evas_object_show(box);

   evas_object_event_callback_add(box, EVAS_CALLBACK_DEL, _search_box_del_cb,
                                  ad);

   entry = elm_entry_add(ad->win);
   elm_entry_single_line_set(entry, EINA_TRUE);
   elm_entry_scrollable_set(entry, EINA_TRUE);
   evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(box, entry);
   evas_object_show(entry);

   evas_object_smart_callback_add(entry, "changed", _search_entry_changed_cb,
                                  ad);
   evas_object_smart_callback_add(entry, "activated", _search_entry_activate_cb,
                                  ad);

   box2 = elm_box_add(ad->win);
   elm_box_horizontal_set(box2, EINA_TRUE);
   elm_object_part_content_set(entry, "end", box2);

   btn = elm_button_add(ad->win);
   elm_box_pack_end(box2, btn);
   evas_object_show(btn);

   ic = elm_icon_add(ad->win);
   elm_icon_standard_set(ic, "arrow_up");
   elm_object_part_content_set(btn, "icon", ic);

   evas_object_smart_callback_add(btn, "clicked", _search_prev_cb, ad);

   btn = elm_button_add(ad->win);
   elm_box_pack_end(box2, btn);
   evas_object_show(btn);

   ic = elm_icon_add(ad->win);
   elm_icon_standard_set(ic, "arrow_down");
   elm_object_part_content_set(btn, "icon", ic);

   evas_object_smart_callback_add(btn, "clicked", _search_next_cb, ad);

   btn = elm_button_add(ad->win);
   elm_box_pack_end(box, btn);
   evas_object_show(btn);

   ic = elm_icon_add(ad->win);
   elm_icon_standard_set(ic, "close");
   elm_object_part_content_set(btn, "icon", ic);

   evas_object_smart_callback_add(btn, "clicked", _search_close_cb, ad);

   ad->search_box = box;
   ad->search_entry = entry;

   elm_object_focus_set(entry, EINA_TRUE);
}
Пример #5
0
/* public functions */
EM_INTERN Eina_Bool
em_gui_init(void)
{
   Evas_Object *o, *oo;

   /* allocate our object */
   gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free);
   if (!gui) return EINA_FALSE;

   /* create window */
   gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC);
   elm_win_title_set(gui->w_win, "Emote");
   elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA);
   evas_object_smart_callback_add(gui->w_win, "delete,request",
                                  _em_gui_cb_win_del, NULL);

   /* create background */
   o = elm_bg_add(gui->w_win);
   evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(gui->w_win, o);
   evas_object_show(o);

   o = elm_box_add(gui->w_win);
   elm_box_homogeneous_set(o, EINA_FALSE);
   elm_win_resize_object_add(gui->w_win, o);
   evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_box_align_set(o, 0.5, 0.5);
   evas_object_show(o);

   /* create main toolbar */
   gui->w_tb = elm_toolbar_add(gui->w_win);
   elm_toolbar_icon_size_set(gui->w_tb, (8 * elm_config_scale_get()));
   elm_toolbar_align_set(gui->w_tb, 1.0);
   elm_toolbar_shrink_mode_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL);
   elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"),
                        _em_gui_cb_settings, NULL);
   elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"),
                        _em_gui_cb_quit, NULL);
   evas_object_size_hint_weight_set(gui->w_tb, EVAS_HINT_EXPAND, 0.0);
   evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0);
   evas_object_show(gui->w_tb);
   elm_box_pack_start(o, gui->w_tb);

   /* create packing box */
   gui->w_box = elm_panes_add(gui->w_win);
   elm_panes_fixed_set(gui->w_box, EINA_FALSE);
   elm_panes_horizontal_set(gui->w_box, EINA_FALSE);
   elm_panes_content_left_size_set(gui->w_box, 0.20);
   evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(gui->w_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(o, gui->w_box);
   evas_object_show(gui->w_box);

   gui->w_chansel_itc = elm_genlist_item_class_new();
   gui->w_chansel_itc->item_style = "default";
   gui->w_chansel_itc->func.text_get = _em_gui_chansel_cb_label_get;
   gui->w_chansel_itc->func.content_get = NULL;
   gui->w_chansel_itc->func.state_get = NULL;
   gui->w_chansel_itc->func.del = NULL;

   /* create channel selector w/ frame */
   gui->w_chansel = elm_genlist_add(gui->w_win);
   elm_genlist_mode_set(gui->w_chansel, ELM_LIST_SCROLL);
   evas_object_size_hint_min_set(gui->w_chansel, 200, MIN_WIN_HEIGHT);
   evas_object_size_hint_weight_set(gui->w_chansel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_show(gui->w_chansel);

   o = elm_frame_add(gui->w_win);
   elm_object_part_text_set(o, "default", "Channels");
   oo = elm_frame_add(gui->w_win);
   elm_object_style_set(oo, "pad_small");
   elm_object_part_content_set(o, "default", oo);
   elm_object_part_content_set(oo, "default", gui->w_chansel);
   elm_object_part_content_set(gui->w_box, "left", o);
   evas_object_show(oo);
   evas_object_show(o);

   /* set min size of window and show it */
   evas_object_show(gui->w_win);
   evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT);

   gui->servers = eina_hash_string_small_new(_em_gui_server_del);

   return EINA_TRUE;
}
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));
}
Пример #7
0
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;
}
Пример #10
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);
}
Пример #11
0
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);
}
Пример #12
0
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);
}             
Пример #13
0
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;
}
Пример #15
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);
}
Пример #18
0
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");
    }
}
Пример #19
0
void Object::setContent (const Evasxx::Object &content)
{
  elm_object_part_content_set(o, NULL, content.obj());
}
Пример #20
0
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;
}
Пример #21
0
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;
}
Пример #23
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;
}
Пример #24
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;
}
Пример #25
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;
}
Пример #27
0
EINA_DEPRECATED EAPI void
elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end)
{elm_object_part_content_set(obj, "end", end);}
Пример #28
0
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);
	
}