コード例 #1
0
static Evas_Object *_gl_bottom_content_get(void *data, Evas_Object *obj, const char *part)
{
	__COMMON_FUNC_ENTER__;

	if (manager_object == NULL || obj == NULL)
		return NULL;

	int ret = -1;
	
	Evas_Object *toggle_btn = elm_check_add(obj);
	assertm_if(NULL == toggle_btn, "NULL!!");
	elm_object_style_set(toggle_btn, "on&off");
	evas_object_propagate_events_set(toggle_btn, EINA_TRUE);
	ret = wifi_setting_value_get(VCONFKEY_WIFI_ENABLE_QS);
	switch (ret) {
		case 1:
			elm_check_state_set(toggle_btn, EINA_TRUE);
			break;
		case 0:
			elm_check_state_set(toggle_btn, EINA_FALSE);
			break;
		default:
			assertm_if(TRUE, "Setting fail!!");
			break;
	}

	__COMMON_FUNC_EXIT__;
	return toggle_btn;
}
コード例 #2
0
static void
_init_check(Evas_Object *win)
{
   Evas_Object *bg, *cb1, *cb2, *icon;
   Eina_Bool value1, value2;

   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);

   cb1 = elm_check_add(win);
   elm_object_text_set(cb1, CHECK_TEXT1);
   elm_check_state_pointer_set(cb1, &value1);
   elm_check_state_set(cb1, EINA_TRUE);
   evas_object_smart_callback_add(cb1, "changed", _print, &value1);
   evas_object_move(cb1, 10, 10);
   evas_object_resize(cb1, 200, 30);
   evas_object_show(cb1);

   icon = elm_icon_add(win);
   elm_icon_order_lookup_set(icon, ELM_ICON_LOOKUP_THEME_FDO);
   elm_icon_standard_set(icon, "home");
   evas_object_show(icon);

   cb2 = elm_check_add(win);
   elm_object_text_set(cb2, CHECK_TEXT2);
   elm_check_state_pointer_set(cb2, &value2);
   elm_check_state_set(cb2, EINA_FALSE);
   elm_object_part_content_set(cb2, "icon", icon);
   evas_object_smart_callback_add(cb2, "changed", _print, &value2);
   evas_object_move(cb2, 10, 50);
   evas_object_resize(cb2, 200, 30);
   evas_object_show(cb2);
}
コード例 #3
0
ファイル: screen_reader.c プロジェクト: 10zeroone/study_tizen
void
screen_reader_cb(void *data, Evas_Object *obj, void *event_info)
{
	Evas_Object *nf = data;
	Evas_Object *list;
	Evas_Object *screen_reader_onoff_check;

	list = elm_list_add(nf);
	elm_list_mode_set(list, ELM_LIST_COMPRESS);
	evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL);
	screen_reader_on = is_screen_reader_running();
	screen_reader_onoff_check = elm_check_add(list);
	elm_object_style_set(screen_reader_onoff_check, "on&off");
	elm_check_state_set(screen_reader_onoff_check, screen_reader_on);
	evas_object_smart_callback_add(screen_reader_onoff_check, "changed", check_changed_cb, NULL);
	evas_object_propagate_events_set(screen_reader_onoff_check, EINA_FALSE);

	elm_list_item_append(list, "UI Descriptions", NULL, NULL, description_cb, nf);
	elm_list_item_append(list, "UI Reading order", NULL, NULL, reading_order_cb, nf);
	elm_list_item_append(list, "Custom Frame", NULL, NULL, custom_frame_cb, nf);

	elm_list_item_prepend(list, "Screen Reader (TTS)", NULL, screen_reader_onoff_check, screen_reader_item_cb,
							screen_reader_onoff_check);

	elm_list_go(list);

	elm_naviframe_item_push(nf, "Screen Reader", NULL, NULL, list, NULL);
}
コード例 #4
0
static int viewer_manager_header_create(Evas_Object* genlist)
{
	__COMMON_FUNC_ENTER__;
	Evas_Object *toggle_btn = NULL;
	manager_object->header_text = g_strdup(sc(PACKAGE, I18N_TYPE_Wi_Fi));

	header_itc_text.item_style = "dialogue/1text.1icon";
	header_itc_text.func.text_get = _gl_header_text_get;
	header_itc_text.func.content_get = _gl_header_content_get;
	header_itc_text.func.state_get = NULL;
	header_itc_text.func.del = _gl_header_del;

	common_utils_add_dialogue_separator(genlist, "dialogue/separator");

	toggle_btn = elm_check_add(genlist);
	elm_object_style_set(toggle_btn, "on&off");
	evas_object_propagate_events_set(toggle_btn, EINA_TRUE);
	elm_check_state_set(toggle_btn, EINA_FALSE);
	evas_object_show(toggle_btn);
	evas_object_ref(toggle_btn);

	assertm_if(NULL != manager_object->item_header, "ERROR!!");
	manager_object->item_header = elm_genlist_item_append(genlist, &header_itc_text, toggle_btn, NULL, ELM_GENLIST_ITEM_NONE, _gl_header_sel_cb, NULL);
	assertm_if(NULL == manager_object->item_header, "NULL!!");

	__COMMON_FUNC_EXIT__;
	return TRUE;
}
コード例 #5
0
static void
_resource_changed_signal_cb(void *userdata, const char *resource, gboolean state, GHashTable *attributes)
{
	GVariant *tmp;
	FreeSmartphoneUsageResourcePolicy policy;
	Evas_Object *toggle = NULL;
	(void) userdata;
	(void) state;
	if (!strcmp(resource, "Display")) {
		toggle = view.dimming_slide;
	}
	else if (!strcmp(resource, "CPU")) {
		toggle = view.suspend_slide;
	}
	else {
		goto clean;
	}

	if (!attributes)
		goto clean;

	tmp = g_hash_table_lookup(attributes, "policy");
	if (!tmp) {
		goto clean;
	}

	/* FIXME: Should rather honor the error instead of passing NULL */
	policy = free_smartphone_usage_resource_policy_from_string
					(g_variant_get_string(tmp, NULL), NULL);

	/* policy enabled = 2 auto = 0 */
	if (policy == FREE_SMARTPHONE_USAGE_RESOURCE_POLICY_ENABLED) {
		elm_check_state_set(toggle, 1);
	}
	else if (policy == FREE_SMARTPHONE_USAGE_RESOURCE_POLICY_AUTO) {
		elm_check_state_set(toggle, 0);
	}

clean:
	/*FIXME: how should I clean it?! */
	return;
// 	g_free(resource);
        if (attributes)
		g_hash_table_unref(attributes);
}
/**
 * @brief Negative test case of ug_init elm_check_state_get()
 */
static void utc_UIFW_elm_check_state_get_func_02(void)
{
   Evas_Object *check = NULL;
   Eina_Bool state;
   check = elm_check_add(main_win);
   elm_check_state_set(check, EINA_TRUE);
   state = elm_check_state_get(NULL);
   tet_result(TET_PASS);
}
コード例 #7
0
static Evas_Object *_gl_header_content_get(void *data, Evas_Object *obj, const char *part)
{
	if (manager_object == NULL)
		return NULL;

	Evas_Object* ret = NULL;
	Evas_Object *toggle_btn = (Evas_Object *)data;
	Evas_Object *icon = NULL;

	__COMMON_FUNC_ENTER__;

	assertm_if(NULL == toggle_btn, "NULL!!");

	if (!strncmp(part, "elm.icon", strlen(part))) {
		switch (manager_object->header_mode) {
		case HEADER_MODE_OFF:
			/* Show WiFi off indication button */
			elm_check_state_set(toggle_btn, EINA_FALSE);
			ret = toggle_btn;
			break;

		case HEADER_MODE_ACTIVATING:
		case HEADER_MODE_DEACTIVATING:
			/* Dont display the WiFi on/off indication while it is Activating/Deactivating */
			icon = elm_progressbar_add(obj);
			elm_object_style_set(icon, "list_process");
			evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, 0.5);
			evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
			elm_progressbar_pulse(icon, TRUE);
			ret = icon;
			break;

		default:	/* Show WiFi on indication button */
			elm_check_state_set(toggle_btn, EINA_TRUE);
			ret = toggle_btn;
			break;
		}
	}

	__COMMON_FUNC_EXIT__;
	return ret;
}
コード例 #8
0
static void
_pdp_context_status_signal_cb(void* data,
			      FreeSmartphoneGSMContextStatus status,
			      GHashTable* attributes)
{
	(void) data;
	(void) attributes;

	switch (status) {
	case FREE_SMARTPHONE_GSM_CONTEXT_STATUS_ACTIVE:
		elm_object_disabled_set(view.sharing_slide, EINA_FALSE);
	case FREE_SMARTPHONE_GSM_CONTEXT_STATUS_OUTGOING:
		elm_check_state_set(view.gprs_slide, EINA_TRUE);
		break;
	default:
		elm_check_state_set(view.gprs_slide, EINA_FALSE);
		elm_object_disabled_set(view.sharing_slide, EINA_TRUE);
		break;
	}
	elm_check_state_set(view.sharing_slide, EINA_FALSE);
}
コード例 #9
0
static void
_pdp_activate_cb(GError *error, gpointer data)
{
	(void) data;
	elm_object_disabled_set(view.gprs_slide, EINA_FALSE);
	if (error) {
		g_warning("Activating PDP failed: (%d) %s",
			  error->code, error->message);
		ui_utils_error_message_from_gerror_show(VIEW_PTR(view),
			D_("Activating PDP failed."), error);
		elm_check_state_set(view.gprs_slide, EINA_FALSE);
	}
}
コード例 #10
0
static void
_get_offline_mode_cb(GError *error, gboolean offline, gpointer data)
{
	(void) data;

	if (error) {
		g_warning("Failed with GetOfflineMode: (%d) %s",
			  error->code, error->message);
		g_error_free(error);
		return;
	}
	elm_check_state_set(view.airplane_slide, offline);
}
コード例 #11
0
ファイル: screen_reader.c プロジェクト: 10zeroone/study_tizen
static void
screen_reader_item_cb(void *data, Evas_Object *obj, void *event_info)
{
	Evas_Object *screen_reader_onoff_check = data;
	Eina_Bool check_state = elm_check_state_get(screen_reader_onoff_check);

	elm_check_state_set(screen_reader_onoff_check, !check_state);
	screen_reader_on = !check_state;

	if(screen_reader_on)
		screen_reader_launch();
	else
		screen_reader_terminate();
}
コード例 #12
0
static void
_display_get_policy_cb(GError* error, FreeSmartphoneUsageResourcePolicy policy,
		       gpointer userdata)
{
	/*FIXME: I should probably free this profile, but how?, CHECK DBUS*/
	(void) userdata;

	if (error) {
		g_warning("Failed to get Display policy");
		elm_object_disabled_set(view.dimming_slide, 1);
		return;
	}
	else {
		elm_object_disabled_set(view.dimming_slide, 0);
	}

	if (policy == FREE_SMARTPHONE_USAGE_RESOURCE_POLICY_ENABLED) {
		elm_check_state_set(view.dimming_slide, 1);
	}
	else if (policy == FREE_SMARTPHONE_USAGE_RESOURCE_POLICY_AUTO) {
		elm_check_state_set(view.dimming_slide, 0);
	}
}
コード例 #13
0
static void
_pdp_deactivate_cb(GError *error, gpointer data)
{
	(void) data;
	elm_object_disabled_set(view.gprs_slide, EINA_FALSE);
	if (error) {
		g_warning("De-Activating PDP failed: (%d) %s",
			  error->code, error->message);
		ui_utils_error_message_from_gerror_show(VIEW_PTR(view),
			D_("De-Activating PDP failed."), error);
		/* FIXME: think about if this is right for the deactivate
		          does not work case !!! */
		elm_check_state_set(view.gprs_slide, EINA_TRUE);
	}
}
コード例 #14
0
ファイル: eail_check.c プロジェクト: patrykka/eail
/**
 * @brief Action handler for 'click'
 *
 * @param action an AtkAction object (EailCheck)
 * @param data additional data (unused here)
 *
 * @returns TRUE on success, FALSE otherwise
 */
static gboolean
eail_check_action_click_cb(AtkAction *action, void *data)
{
   Evas_Object *widget;
   Eina_Bool state;

   widget = eail_widget_get_widget(EAIL_WIDGET(action));
   if (!widget) return FALSE;

   if ((elm_object_disabled_get(widget)) || (!evas_object_visible_get(widget)))
     return FALSE;

   state = elm_check_state_get(widget);
   elm_check_state_set(widget, !state);

   evas_object_smart_callback_call(widget, "changed", NULL);
   eail_check_atk_notify_change(action, widget, NULL);

   return TRUE;
}
コード例 #15
0
ファイル: eail_check_tc1.c プロジェクト: mknapinski/eail
static void
_init_check(Evas_Object *win)
{
   Evas_Object *bg, *cb1;
   Eina_Bool value1;

   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);

   cb1 = elm_check_add(win);
   elm_object_text_set(cb1, CHECK_TEXT1);
   elm_check_state_pointer_set(cb1, &value1);
   elm_check_state_set(cb1, EINA_TRUE);
   evas_object_smart_callback_add(cb1, "changed", _print, &value1);
   evas_object_move(cb1, 10, 10);
   evas_object_resize(cb1, 200, 30);
   evas_object_show(cb1);
}
/**
 * @brief Positive test case of elm_check_state_get()
 */
static void utc_UIFW_elm_check_state_get_func_01(void)
{
   Evas_Object *check = NULL;
   Eina_Bool state;

   check = elm_check_add(main_win);
   elm_check_state_set(check, EINA_TRUE);
   state = elm_check_state_get(check);
   if(state == EINA_FALSE)
      {
         evas_object_del(check);
         tet_infoline("elm_check_state_get() failed in positive test case");
         tet_result(TET_FAIL);
         return;
      }
   evas_object_show(check);
   evas_object_del(check);
   check = NULL;
   tet_result(TET_PASS);
}
コード例 #17
0
END_TEST

START_TEST (elm_check_state)
{
   Evas_Object *win, *check;
   Eina_Bool state = EINA_TRUE;

   elm_init(1, NULL);
   win = elm_win_add(NULL, "check", ELM_WIN_BASIC);

   check = elm_check_add(win);
   elm_check_state_pointer_set(check, &state);
   ck_assert(elm_check_state_get(check) == EINA_TRUE);
   ck_assert(state == EINA_TRUE);

   elm_check_state_set(check, EINA_FALSE);
   ck_assert(elm_check_state_get(check) == EINA_FALSE);
   ck_assert(state == EINA_FALSE);

   elm_shutdown();
}
コード例 #18
0
void ToolbarContentCheck::create( Evas_Object * parent )
{
	m_Evas = elm_check_add( parent );
	evas_object_size_hint_align_set( m_Evas, EVAS_HINT_FILL, EVAS_HINT_FILL );
    evas_object_size_hint_weight_set( m_Evas, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND );
    string title = ((ToolbarContentCheckParams &)m_Params).getTitle();
    bool checked = ((ToolbarContentCheckParams &)m_Params).getChecked();
    elm_object_text_set( m_Evas, title.c_str() );
    elm_check_state_set( m_Evas, checked );
	evas_object_show( m_Evas );

	evas_object_smart_callback_add( m_Evas, "changed", on_click, &m_callbackData );

//	Elm_Theme * theme = elm_theme_new();
//	elm_theme_ref_set( theme, NULL );
//
//	elm_theme_extension_add( theme, MAIN_EDJ );
//	elm_object_theme_set( m_Evas, theme  );
//	Eina_Bool applied = elm_object_style_set( m_Evas, "button_custom_my" );


	m_callbackData.lpThis = this;
	m_callbackData.userData = ((ToolbarContentCheckParams &)m_Params).getUserData();
}
コード例 #19
0
EAPI_MAIN int
elm_main(int    argc,
         char **argv)
{
   Evas_Object *win, *vbox, *hbox, *ic, *ck, *fs_bt, *en, *lb, *sep;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("fileselector-button", "File Selector Button Example");
   elm_win_autodel_set(win, EINA_TRUE);

   vbox = elm_box_add(win);
   evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, vbox);
   evas_object_show(vbox);

   ic = elm_icon_add(win);
   elm_icon_standard_set(ic, "file");
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);

   /* file selector button */
   fs_bt = elm_fileselector_button_add(win);
   elm_fileselector_button_path_set(fs_bt, "/tmp");
   elm_object_text_set(fs_bt, "Select a file");
   elm_object_part_content_set(fs_bt, "icon", ic);

   elm_box_pack_end(vbox, fs_bt);
   evas_object_show(fs_bt);
   evas_object_show(ic);

   /* attribute setting knobs */
   sep = elm_separator_add(win);
   elm_separator_horizontal_set(sep, EINA_TRUE);
   elm_box_pack_end(vbox, sep);
   evas_object_show(sep);

   hbox = elm_box_add(win);
   elm_box_horizontal_set(hbox, EINA_TRUE);
   elm_box_pack_end(vbox, hbox);
   evas_object_show(hbox);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "editable selection");
   elm_check_state_set(ck, elm_fileselector_button_is_save_get(fs_bt));
   evas_object_smart_callback_add(ck, "changed", _current_sel_toggle, fs_bt);
   elm_box_pack_end(hbox, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "\"inwin\" mode");
   elm_check_state_set(ck, elm_fileselector_button_inwin_mode_get(fs_bt));
   evas_object_smart_callback_add(ck, "changed", _inwin_mode_toggle, fs_bt);
   elm_box_pack_end(hbox, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "folders only");
   elm_check_state_set(ck, elm_fileselector_button_folder_only_get(fs_bt));
   evas_object_smart_callback_add(ck, "changed", _folder_only_toggle, fs_bt);
   elm_box_pack_end(hbox, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "expandable");
   elm_check_state_set(ck, elm_fileselector_button_expandable_get(fs_bt));
   evas_object_smart_callback_add(ck, "changed", _expandable_toggle, fs_bt);
   elm_box_pack_end(hbox, ck);
   evas_object_show(ck);

   lb = elm_label_add(win);
   elm_object_text_set(lb, "Last selection:");
   elm_box_pack_end(vbox, lb);
   evas_object_show(lb);

   en = elm_entry_add(win);
   elm_entry_line_wrap_set(en, EINA_FALSE);
   elm_entry_editable_set(en, EINA_FALSE);
   evas_object_smart_callback_add(fs_bt, "file,chosen", _file_chosen, en);
   elm_box_pack_end(vbox, en);
   evas_object_show(en);

   evas_object_resize(win, 400, 400);
   evas_object_show(win);

   elm_run();
   elm_shutdown();

   return 0;
}
コード例 #20
0
ファイル: gui.c プロジェクト: shr-project/e-tasks
Evas_Object *gl_content_get(void *data, Evas_Object *obj, const char *part)
{
	_Task *tsk = (_Task *)data;
	
	if (!strcmp(part, "elm.swallow.icon")) {
		Evas_Object *ck, *bx, *pr_lb;
		char txt[5];

		//show check box
		bx = elm_box_add(obj);
		elm_box_horizontal_set(bx, 1);
		ck = elm_check_add(obj);
		elm_box_pack_end(bx, ck);
		elm_check_state_set(ck, tsk->cb);
		evas_object_show(ck);
		evas_object_smart_callback_add(ck, "changed", task_cb_changed, (_Task *)tsk);

		//add a label for priority
		sprintf(txt, "%d", tsk->pr);
		pr_lb = elm_label_add(obj);
		elm_object_text_set(pr_lb, txt);
		elm_box_pack_end(bx, pr_lb);
		evas_object_show(pr_lb);   
		evas_object_show(bx);

		/*//add an entry for text
		entry = elm_entry_add(obj);
		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_box_pack_end(bx, entry);
		evas_object_show(entry);*/
		return bx;
	}
   else if (!strcmp(part, "elm.swallow.end"))
     {
		Evas_Object *ic, *bx, *lb_date;
		char buf[PATH_MAX], _time[20], yr[15];
		struct tm *tm, tim;
		time_t t, cur_t, tmp_t;

		bx = elm_box_add(obj);
		elm_box_horizontal_set(bx, 1);

		 if(strcmp(tsk->note, "") !=0) {
			ic= elm_icon_add(obj);
			snprintf(buf, sizeof(buf), "/usr/share/e-tasks/note.png");
			elm_icon_file_set(ic, buf, NULL);
			elm_icon_resizable_set(ic, 0, 0);
			evas_object_show(ic);
			elm_box_pack_end(bx, ic);
		 }
		if(strcmp(tsk->date, "No Date")!=0) {
			cur_t = tmp_t = time(NULL);
			tm = localtime(&tmp_t);
			//get current year and time
			strftime(yr, 15, "%Y %H:%M:%S", tm);
			//convert date into time
			sprintf(_time, "%s-%s", tsk->date, yr);
			strptime(_time, "%d-%m-%Y %H:%M:%S", &tim);	
			t = mktime(&tim);		
			if (t < cur_t) {
				ic= elm_icon_add(obj);
				snprintf(buf, sizeof(buf), "/usr/share/e-tasks/exclaim.png");
				elm_icon_file_set(ic, buf, NULL);
				elm_icon_resizable_set(ic, 0, 0);
				evas_object_show(ic);
				elm_box_pack_end(bx, ic);
			}
		}

		lb_date = elm_label_add(obj);
		elm_object_text_set(lb_date, tsk->date);
		elm_box_pack_end(bx, lb_date);
		evas_object_size_hint_weight_set(lb_date, 0.0, 0.0);
		evas_object_size_hint_align_set(lb_date, 1.0, 0.5);
		evas_object_show(lb_date);
		evas_object_show(bx);
		return bx;
     }

	return NULL;
}
コード例 #21
0
ファイル: mapbuf_example.c プロジェクト: Limsik/e17
EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *bg, *bx, *hbx, *tg, *ck, *mb, *tb, *ic;
   unsigned int i, j;

   win = elm_win_add(NULL, "mapbuf", ELM_WIN_BASIC);
   elm_win_title_set(win, "Mapbuf Example");
   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);

   bg = elm_bg_add(win);
   elm_win_resize_object_add(win, bg);
   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_show(bg);

   bx = elm_box_add(win);
   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_win_resize_object_add(win, bx);
   evas_object_show(bx);

   mb = elm_mapbuf_add(win);
   evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(bx, mb);

   tb = elm_table_add(win);
   evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(tb);

   for (i = 0; i < 8; i++)
     {
        for (j = 0; j < 8; j++)
          {
             ic = elm_icon_add(win);
             elm_icon_standard_set(ic, "home");
             elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
             evas_object_show(ic);
             elm_table_pack(tb, ic, i, j, 1, 1);
          }
     }

   elm_object_content_set(mb, tb);
   evas_object_show(mb);

   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);

   tg = elm_check_add(win);
   elm_object_style_set(tg, "toggle");
   elm_object_part_text_set(tg, "on", "Enabled");
   elm_object_part_text_set(tg, "off", "Disabled");
   elm_object_text_set(tg, "Map");
   evas_object_smart_callback_add(tg, "changed", _enabled_cb, mb);
   elm_box_pack_end(hbx, tg);
   evas_object_show(tg);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "Alpha");
   elm_check_state_set(ck, EINA_TRUE);
   evas_object_smart_callback_add(ck, "changed", _alpha_cb, mb);
   elm_box_pack_end(hbx, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "Smooth");
   elm_check_state_set(ck, EINA_TRUE);
   evas_object_smart_callback_add(ck, "changed", _smooth_cb, mb);
   elm_box_pack_end(hbx, ck);
   evas_object_show(ck);

   evas_object_resize(win, 240, 320);
   evas_object_show(win);

   elm_run();
   elm_shutdown();

   return 0;
}
コード例 #22
0
EAPI_MAIN int
elm_main(int    argc,
         char **argv)
{
   Evas_Object *win, *grid, *bx, *hbx_1, *hbx_2, *hbx_3, *bt, *ck, *sl, *sp;
   Eina_Bool bounce;
   double h, v;

   srand(time(NULL));

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
   elm_app_info_set(elm_main, "elementary", "images");

   win = elm_win_util_standard_add("gengrid", "Generic Grid Example");
   elm_win_autodel_set(win, EINA_TRUE);

   bx = elm_box_add(win);
   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, bx);
   evas_object_show(bx);

   grid = elm_gengrid_add(win);
   elm_gengrid_item_size_set(grid, 150, 150);
   evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(bx, grid);
   evas_object_smart_callback_add(grid, "clicked,double", _double_click, NULL);
   evas_object_smart_callback_add(grid, "longpressed", _long_pressed, NULL);
   evas_object_show(grid);

   hbx_1 = elm_box_add(win);
   evas_object_size_hint_weight_set(hbx_1, EVAS_HINT_EXPAND, 0.0);
   elm_box_horizontal_set(hbx_1, EINA_TRUE);
   elm_box_pack_end(bx, hbx_1);
   evas_object_show(hbx_1);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Append");
   evas_object_smart_callback_add(bt, "clicked", _append_bt_clicked, grid);
   elm_box_pack_end(hbx_1, bt);
   evas_object_show(bt);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Prepend");
   evas_object_smart_callback_add(bt, "clicked", _prepend_bt_clicked, grid);
   elm_box_pack_end(hbx_1, bt);
   evas_object_show(bt);

   before_bt = elm_button_add(win);
   elm_object_text_set(before_bt, "Insert before");
   evas_object_smart_callback_add(before_bt, "clicked", _before_bt_clicked,
                                  grid);
   elm_box_pack_end(hbx_1, before_bt);
   evas_object_show(before_bt);

   after_bt = elm_button_add(win);
   elm_object_text_set(after_bt, "Insert after");
   evas_object_smart_callback_add(after_bt, "clicked", _after_bt_clicked, grid);
   elm_box_pack_end(hbx_1, after_bt);
   evas_object_show(after_bt);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Clear");
   evas_object_smart_callback_add(bt, "clicked", _clear_cb, grid);
   elm_box_pack_end(hbx_1, bt);
   evas_object_show(bt);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Bring in 1st");
   evas_object_smart_callback_add(bt, "clicked", _bring_1st_clicked, grid);
   elm_box_pack_end(hbx_1, bt);
   evas_object_show(bt);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Show last");
   evas_object_smart_callback_add(bt, "clicked", _show_last_clicked, grid);
   elm_box_pack_end(hbx_1, bt);
   evas_object_show(bt);

   sp = elm_spinner_add(win);
   elm_spinner_min_max_set(sp, 10, 1024);
   elm_spinner_value_set(sp, 150);
   elm_spinner_label_format_set(sp, "Item size: %.0f");
   evas_object_smart_callback_add(sp, "changed", _size_changed, grid);
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_box_pack_end(hbx_1, sp);
   evas_object_show(sp);

   hbx_2 = elm_box_add(win);
   evas_object_size_hint_weight_set(hbx_2, EVAS_HINT_EXPAND, 0.0);
   elm_box_horizontal_set(hbx_2, EINA_TRUE);
   elm_box_pack_end(bx, hbx_2);
   evas_object_show(hbx_2);

   bt = elm_button_add(win);
   elm_object_text_set(bt, "Disable item");
   evas_object_smart_callback_add(bt, "clicked", _toggle_disabled_cb, grid);
   elm_box_pack_end(hbx_2, bt);
   evas_object_show(bt);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "Horizontal mode");
   evas_object_smart_callback_add(ck, "changed", _horizontal_grid, grid);
   elm_box_pack_end(hbx_2, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "Always select");
   evas_object_smart_callback_add(ck, "changed", _always_select_change, grid);
   elm_box_pack_end(hbx_2, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_scroller_bounce_get(grid, &bounce, NULL);
   elm_object_text_set(ck, "Bouncing");
   elm_check_state_set(ck, bounce);
   evas_object_smart_callback_add(ck, "changed", _bouncing_change, grid);
   elm_box_pack_end(hbx_2, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "Multi-selection");
   elm_check_state_set(ck, elm_gengrid_multi_select_get(grid));
   evas_object_smart_callback_add(ck, "changed", _multi_change, grid);
   elm_box_pack_end(hbx_2, ck);
   evas_object_show(ck);

   ck = elm_check_add(win);
   elm_object_text_set(ck, "No selection");
   evas_object_smart_callback_add(ck, "changed", _no_sel_change, grid);
   elm_box_pack_end(hbx_2, ck);
   evas_object_show(ck);

   hbx_3 = elm_box_add(win);
   evas_object_size_hint_weight_set(hbx_3, EVAS_HINT_EXPAND, 0.0);
   elm_box_horizontal_set(hbx_3, EINA_TRUE);
   elm_box_pack_end(bx, hbx_3);
   evas_object_show(hbx_3);

   elm_gengrid_align_get(grid, &h, &v);
   evas_object_smart_callback_add(grid, "scroll,anim,stop", _grid_scroll_stopped_cb, NULL);

   sl = elm_slider_add(win);
   elm_object_text_set(sl, "Horiz. alignment");
   elm_slider_span_size_set(sl, 100);
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
   elm_slider_indicator_format_set(sl, "%1.1f");
   elm_slider_value_set(sl, h);
   elm_box_pack_end(hbx_3, sl);
   evas_object_show(sl);

   evas_object_smart_callback_add(sl, "changed", _h_align_change_cb, grid);

   sl = elm_slider_add(win);
   elm_object_text_set(sl, "Vert. alignment");
   elm_slider_span_size_set(sl, 100);
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
   elm_slider_indicator_format_set(sl, "%1.1f");
   elm_slider_value_set(sl, v);
   elm_box_pack_end(hbx_3, sl);
   evas_object_show(sl);

   evas_object_smart_callback_add(sl, "changed", _v_align_change_cb, grid);

   elm_gengrid_align_get(grid, &h, &v);

   sl = elm_slider_add(win);
   elm_object_text_set(sl, "Page rel. size");
   elm_slider_span_size_set(sl, 100);
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
   elm_slider_indicator_format_set(sl, "%1.1f");
   elm_slider_value_set(sl, h);
   elm_box_pack_end(hbx_3, sl);
   evas_object_show(sl);

   _page_change_cb(grid, sl, NULL);
   evas_object_smart_callback_add(sl, "changed", _page_change_cb, grid);

   if (!gic)
     {
        gic = elm_gengrid_item_class_new();
        gic->item_style = "default";
        gic->func.text_get = _grid_label_get;
        gic->func.content_get = _grid_content_get;
        gic->func.state_get = _grid_state_get;
        gic->func.del = _grid_del;
     } // we only create the first time its needed. we dont unref/free

   _append_bt_clicked(grid, NULL, NULL);
   _append_bt_clicked(grid, NULL, NULL);
   _append_bt_clicked(grid, NULL, NULL);

   evas_object_resize(win, 600, 600);
   evas_object_show(win);

   elm_run();

   return 0;
}