[elm] Fix index example.

note to self: were on drugs here?



SVN revision: 71563
This commit is contained in:
Gustavo Lima Chaves 2012-05-30 17:41:48 +00:00
parent 06f5dda19b
commit 448b23eff9
1 changed files with 32 additions and 31 deletions

View File

@ -10,6 +10,7 @@
*/
#include <Elementary.h>
#include <assert.h>
struct example_data
{
@ -28,14 +29,12 @@ _index_item_del(void *data,
Evas_Object *obj,
void *event_info)
{
fprintf(stdout, "Deleting associated list node (%s). Comparing index "
fprintf(stdout, "Deleting index node (%s). Comparing index "
"item data reported via callback with the one returned by "
"index's API on items: %s.\n",
elm_object_item_text_get(data),
elm_index_item_letter_get(event_info),
data == elm_object_item_data_get(event_info) ? "OK" :
"FAIL, something went wrong");
elm_object_item_del(data);
}
/* delete an index item */
@ -44,18 +43,15 @@ _item_del(void *data,
Evas_Object *obj,
void *event_info)
{
Elm_Object_Item *iit;
Elm_Object_Item *lit = elm_index_selected_item_get(d.index, 0);
iit = elm_index_item_find(d.index, lit);
Elm_Object_Item *iit = elm_index_selected_item_get(d.index, 0);
if (!iit) return;
fprintf(stdout, "Deleting last selected index item, which had letter"
" %s (pointing to %s)\n", elm_index_item_letter_get(iit),
elm_object_item_text_get(lit));
" %s (pointing to %p)\n", elm_index_item_letter_get(iit),
elm_object_item_data_get(iit));
elm_object_item_del(lit);
elm_object_item_del(iit);
}
static void
@ -71,7 +67,8 @@ _active_set(void *data,
Evas_Object *obj,
void *event_info)
{
elm_index_autohide_disabled_set(d.index, !elm_index_autohide_disabled_get(d.index));
elm_index_autohide_disabled_set
(d.index, !elm_index_autohide_disabled_get(d.index));
fprintf(stdout, "Toggling index programmatically.\n");
}
@ -82,7 +79,7 @@ _index_changed(void *data,
Evas_Object *obj,
void *event_info)
{
elm_list_item_bring_in(event_info);
elm_list_item_bring_in(elm_object_item_data_get(event_info));
}
static void
@ -149,15 +146,18 @@ elm_main(int argc,
if (curr != dict[i][0])
{
Elm_Object_Item *index_it;
Elm_Object_Item *index_it, *it;
char buf[32];
curr = dict[i][0];
/* indexing by first letters */
snprintf(buf, sizeof(buf), "%c", curr);
elm_index_item_append(d.index, buf, NULL, lit);
index_it = elm_index_item_find(d.index, lit);
index_it = elm_index_item_append(d.index, buf, NULL, lit);
/* this is here just to demostrate the API call */
it = elm_index_item_find(d.index, lit);
assert(it == index_it);
elm_object_item_del_cb_set(index_it, _index_item_del);
}
@ -206,4 +206,5 @@ elm_main(int argc,
return 0;
}
ELM_MAIN()