-#include <Elementary.h>
+#include "test.h"
+#include <Elementary_Cursor.h>
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
+#include <Elementary.h>
#ifndef ELM_LIB_QUICKLAUNCH
+struct _api_data
+{
+ unsigned int state; /* What state we are testing */
+ void *list;
+};
+typedef struct _api_data api_data;
+
+enum _api_state
+{
+ ITEM_PREPEND, /* 0 */
+ ITEM_INSERT_BEFORE, /* 1 */
+ ITEM_INSERT_AFTER, /* 2 */
+ ITEM_SEPARATOR_SET, /* 3 */
+ LIST_ITEM_DEL, /* 4 */
+ SCROLLER_POLICY_SET_ON,
+ SCROLLER_POLICY_SET_OFF, /* Back to AUTO next */
+ TOOLTIP_TEXT_SET, /* 7 */
+ TOOLTIP_UNSET, /* 8 */
+ ITEM_CURSOR_SET, /* 9 */
+ ITEM_CURSOR_STYLE_SET,
+ DISABLED_SET, /* 11 */
+ MODE_SET_COMPRESS, /* 12 */
+ MODE_SET_LIMIT, /* 13 */
+ MODE_SET_EXPAND, /* 14 */
+ HORIZONTAL_SET, /* 15 */
+ BOUNCE_SET, /* 16 */
+ LIST_CLEAR, /* 17 */
+ API_STATE_LAST
+};
+typedef enum _api_state api_state;
+
+static void
+set_api_state(api_data *api)
+{
+/** HOW TO TEST ************************
+0 ITEM PREPEND
+Scroll to end
+1 INSERT BEFORE
+Scroll to end
+2 INSERT AFTER
+3 INSERT SEPERATOR
+Scroll to end
+4 ITEM DEL
+5 POLICY ON, BOUNCE_SET(TRUE, TRUE)
+6 POLICY OFF
+Scroll to end
+7 TOOLTIP last-item
+8 Cancel tootip
+9 Curosr set on last item
+10 Cursor style set last item
+11 DISABLE last item
+12 MODE COMPRESS
+13 MODE LIMIT
+14 MODE EXPAND
+15 HORIZ SET
+16 VERT MODE, BOUNCE(TRUE, FALSE) try to bounce on Y-axis
+17 List clear
+*** HOW TO TEST ***********************/
+ Evas_Object *li = api->list;
+
+ switch(api->state)
+ { /* Put all api-changes under switch */
+ case ITEM_PREPEND: /* 0 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ elm_list_item_prepend(li, "PREPEND", NULL, NULL, NULL, NULL);
+ elm_list_go(li);
+ elm_list_item_bring_in(eina_list_nth(items, 0));
+ }
+ break;
+
+ case ITEM_INSERT_BEFORE: /* 1 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_list_item_insert_before(li,
+ eina_list_nth(items, eina_list_count(items)-1),
+ "1-before-last", NULL, NULL, NULL, NULL);
+ elm_list_go(li);
+ elm_list_item_bring_in(eina_list_data_get(eina_list_last(items)));
+ }
+ }
+ break;
+
+ case ITEM_INSERT_AFTER: /* 2 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_list_item_insert_after(li,
+ eina_list_nth(items, eina_list_count(items)-2),
+ "insert-after", NULL, NULL, NULL, NULL);
+ elm_list_go(li);
+ elm_list_item_bring_in(eina_list_data_get(eina_list_last(items)));
+ }
+ }
+ break;
+
+ case ITEM_SEPARATOR_SET: /* 3 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_list_item_separator_set(eina_list_nth(items, eina_list_count(items)-3), EINA_TRUE);
+ elm_list_item_bring_in(eina_list_nth(items, eina_list_count(items)-3));
+ elm_list_go(li);
+ }
+ }
+ break;
+
+ case LIST_ITEM_DEL: /* 4 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_del(eina_list_data_get(eina_list_last(items)));
+ }
+ }
+ break;
+
+ case SCROLLER_POLICY_SET_ON: /* 5 */
+ elm_list_bounce_set(li, EINA_TRUE, EINA_TRUE);
+ elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
+ break;
+
+ case SCROLLER_POLICY_SET_OFF: /* Back to AUTO next (6) */
+ elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ break;
+
+ case TOOLTIP_TEXT_SET: /* 7 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_tooltip_text_set(eina_list_data_get(eina_list_last(items)), "Tooltip set from API");
+ }
+ elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_AUTO);
+ }
+ break;
+
+ case TOOLTIP_UNSET: /* 8 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_tooltip_unset(eina_list_data_get(eina_list_last(items)));
+ }
+ }
+ break;
+
+ case ITEM_CURSOR_SET: /* 9 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_cursor_set(eina_list_data_get(eina_list_last(items)), ELM_CURSOR_HAND2);
+ }
+ }
+ break;
+
+ case ITEM_CURSOR_STYLE_SET: /* 10 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_cursor_style_set(eina_list_data_get(eina_list_last(items)), "transparent");
+ }
+ }
+ break;
+
+ case DISABLED_SET: /* 11 */
+ {
+ const Eina_List *items = elm_list_items_get(li);
+ if (eina_list_count(items))
+ {
+ elm_object_item_disabled_set(eina_list_data_get(eina_list_last(items)), EINA_TRUE);
+ }
+ }
+ break;
+
+ case MODE_SET_COMPRESS: /* 12 */
+ elm_list_mode_set(li, ELM_LIST_COMPRESS);
+ break;
+
+ case MODE_SET_LIMIT: /* 13 */
+ elm_list_mode_set(li, ELM_LIST_LIMIT);
+ break;
+
+ case MODE_SET_EXPAND: /* 14 */
+ elm_list_mode_set(li, ELM_LIST_EXPAND);
+ break;
+
+ case HORIZONTAL_SET: /* 15 */
+ elm_list_mode_set(li, ELM_LIST_SCROLL); /* return to default mode */
+ elm_list_horizontal_set(li, EINA_TRUE);
+ break;
+
+ case BOUNCE_SET: /* 16 */
+ elm_list_horizontal_set(li, EINA_FALSE);
+ elm_list_bounce_set(li, EINA_TRUE, EINA_FALSE);
+ break;
+
+ case LIST_CLEAR: /* 17 */
+ elm_list_clear(li);
+ break;
+
+ case API_STATE_LAST:
+ break;
+
+ default:
+ return;
+ }
+}
+
+static void
+_api_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+{ /* Will add here a SWITCH command containing code to modify test-object */
+ /* in accordance a->state value. */
+ api_data *a = data;
+ char str[128];
+
+ printf("clicked event on API Button: api_state=<%d>\n", a->state);
+ set_api_state(a);
+ a->state++;
+ sprintf(str, "Next API function (%u)", a->state);
+ elm_object_text_set(obj, str);
+ elm_object_disabled_set(obj, a->state == API_STATE_LAST);
+}
+
static void
my_show_it(void *data,
Evas_Object *obj __UNUSED__,
printf("Right edge!\n");
}
+static void
+_cleanup_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+ free(data);
+}
+
void
test_list(void *data __UNUSED__,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *tb2, *bt;
+ Evas_Object *win, *li, *ic, *ic2, *bx, *tb2, *bt, *bxx;
char buf[PATH_MAX];
- Elm_List_Item *it1, *it2, *it3, *it4, *it5;
+ Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4, *list_it5;
+ api_data *api = calloc(1, sizeof(api_data));
- win = elm_win_add(NULL, "list", ELM_WIN_BASIC);
- elm_win_title_set(win, "List");
+ win = elm_win_util_standard_add("list", "List");
elm_win_autodel_set(win, EINA_TRUE);
+ evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api);
- 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);
+ bxx = elm_box_add(win);
+ elm_win_resize_object_add(win, bxx);
+ evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(bxx);
li = elm_list_add(win);
- elm_win_resize_object_add(win, li);
elm_list_mode_set(li, ELM_LIST_LIMIT);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ api->list = li;
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Next API function");
+ evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, (void *) api);
+ elm_box_pack_end(bxx, bt);
+ elm_object_disabled_set(bt, api->state == API_STATE_LAST);
+ evas_object_show(bt);
+
+ elm_box_pack_end(bxx, li);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 1, 1);
- it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
+ elm_icon_resizable_set(ic, 1, 1);
+ list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "edit");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "delete");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
ic2 = elm_icon_add(win);
elm_icon_standard_set(ic2, "clock");
- elm_icon_scale_set(ic2, 0, 0);
- it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
+ elm_icon_resizable_set(ic2, 0, 0);
+ list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
bx = elm_box_add(win);
elm_box_horizontal_set(bx, EINA_TRUE);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.0);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
elm_list_item_append(li, "are", bx, NULL, NULL, NULL);
elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
- it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
+ list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
- it4 = elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL);
+ list_it4 = elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "some", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "more", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "items", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "Is this label long enough?", NULL, NULL, NULL, NULL);
- it5 = elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL);
+ list_it5 = elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL);
elm_list_go(li);
bt = elm_button_add(win);
elm_object_text_set(bt, "Hello");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it1);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.9, 0.5);
elm_table_pack(tb2, bt, 0, 0, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "How");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it2);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.9, 0.5);
elm_table_pack(tb2, bt, 0, 1, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "doing");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it3);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.9, 0.5);
elm_table_pack(tb2, bt, 0, 2, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "Here");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it4);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.9, 0.5);
elm_table_pack(tb2, bt, 0, 3, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "Maybe this...");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it5);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it5);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.9, 0.5);
elm_table_pack(tb2, bt, 0, 4, 1, 1);
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *tb2, *bt;
+ Evas_Object *win, *li, *ic, *ic2, *bx, *tb2, *bt;
char buf[PATH_MAX];
- Elm_List_Item *it1, *it2, *it3, *it4;
+ Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4;
- win = elm_win_add(NULL, "list-horizontal", ELM_WIN_BASIC);
- elm_win_title_set(win, "List Horizontal");
+ win = elm_win_util_standard_add("list-horizontal", "List Horizontal");
elm_win_autodel_set(win, EINA_TRUE);
- 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);
-
li = elm_list_add(win);
elm_list_horizontal_set(li, EINA_TRUE);
elm_list_mode_set(li, ELM_LIST_LIMIT);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 1, 1);
- it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
+ elm_icon_resizable_set(ic, 1, 1);
+ list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "edit");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "delete");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
ic2 = elm_icon_add(win);
elm_icon_standard_set(ic2, "clock");
- elm_icon_scale_set(ic2, 0, 0);
- it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
+ elm_icon_resizable_set(ic2, 0, 0);
+ list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
bx = elm_box_add(win);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.0);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
elm_list_item_append(li, "are", bx, NULL, NULL, NULL);
elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
- it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
+ list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
- it4 = elm_list_item_append(li, "And", NULL, NULL, NULL, NULL);
+ list_it4 = elm_list_item_append(li, "And", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "here", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "we", NULL, NULL, NULL, NULL);
elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
bt = elm_button_add(win);
elm_object_text_set(bt, "Hello");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it1);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.5, 0.9);
elm_table_pack(tb2, bt, 0, 0, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "How");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it2);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.5, 0.9);
elm_table_pack(tb2, bt, 1, 0, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "doing");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it3);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.5, 0.9);
elm_table_pack(tb2, bt, 2, 0, 1, 1);
bt = elm_button_add(win);
elm_object_text_set(bt, "And");
- evas_object_smart_callback_add(bt, "clicked", my_show_it, it4);
+ evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, 0.5, 0.9);
elm_table_pack(tb2, bt, 3, 0, 1, 1);
Evas_Object *obj,
void *event_info __UNUSED__)
{
- Elm_List_Item *it = elm_list_selected_item_get(obj);
- elm_list_item_selected_set(it, 0);
-// elm_list_item_selected_set(event_info, 0);
+ Elm_Object_Item *list_it = elm_list_selected_item_get(obj);
+ elm_list_item_selected_set(list_it, 0);
}
void
{
Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *bx2, *bt;
char buf[PATH_MAX];
- Elm_List_Item *it;
+ Elm_Object_Item *list_it;
win = elm_win_add(NULL, "list2", ELM_WIN_BASIC);
elm_win_title_set(win, "List 2");
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- it = elm_list_item_append(li, "Hello", ic, NULL, my_li2_sel, NULL);
- elm_list_item_selected_set(it, 1);
+ list_it = elm_list_item_append(li, "Hello", ic, NULL, my_li2_sel, NULL);
+ elm_list_item_selected_set(list_it, EINA_TRUE);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "edit");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "delete");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
ic2 = elm_icon_add(win);
elm_icon_standard_set(ic2, "clock");
- elm_icon_scale_set(ic2, 0, 0);
+ elm_icon_resizable_set(ic2, 0, 0);
elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
bx2 = elm_box_add(win);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
elm_box_pack_end(bx2, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.0);
elm_box_pack_end(bx2, ic);
evas_object_show(ic);
}
static void
-_it_clicked(void *data __UNUSED__,
- Evas_Object *obj __UNUSED__,
- void *event_info __UNUSED__)
+_it_clicked(void *data, Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
{
printf("item was clicked\n");
+ if (!data) return;
+ Evas_Object *li = (Evas_Object *) data;
+ Evas_Object *lb;
+ char str[128];
+
+ Elm_Object_Item *lit = elm_list_selected_item_get(li);
+ if (!lit) return;
+ sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+
+ lb = evas_object_data_get(li, "label");
+ elm_object_text_set(lb, str);
}
void
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *li, *ic, *ic2, *bx;
+ Evas_Object *win, *li, *ic, *ic2, *bx;
char buf[PATH_MAX];
- win = elm_win_add(NULL, "list3", ELM_WIN_BASIC);
- elm_win_title_set(win, "List 3");
+ win = elm_win_util_standard_add("list3", "List 3");
elm_win_autodel_set(win, EINA_TRUE);
- 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);
-
li = elm_list_add(win);
elm_win_resize_object_add(win, li);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
ic2 = elm_button_add(win);
elm_object_text_set(ic2, "Click me");
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
ic2 = elm_button_add(win);
elm_object_text_set(ic2, "Click me");
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "edit");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
ic = elm_icon_add(win);
elm_icon_standard_set(ic, "delete");
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
ic2 = elm_icon_add(win);
elm_icon_standard_set(ic2, "clock");
- elm_icon_scale_set(ic2, 0, 0);
+ elm_icon_resizable_set(ic2, 0, 0);
elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
bx = elm_box_add(win);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.5, 0.0);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
elm_icon_file_set(ic, buf, NULL);
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND);
elm_box_pack_end(bx, ic);
evas_object_show(ic);
struct Pginfo
{
- Evas_Object *pager, *win;
+ Evas_Object *naviframe, *win;
};
static void
struct Pginfo *info = data;
if (!info) return;
- elm_pager_content_pop(info->pager);
+ elm_naviframe_item_pop(info->naviframe);
}
static void
char *item_data;
if ((!event_info) || (!data)) return;
- item_data = elm_list_item_data_get(event_info);
+ item_data = elm_object_item_data_get(event_info);
box = elm_box_add(info->win);
elm_box_horizontal_set(box, EINA_FALSE);
entry = elm_entry_add(info->win);
elm_entry_scrollable_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
- elm_entry_entry_set(entry, item_data);
+ elm_object_text_set(entry, item_data);
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);
evas_object_show(entry);
elm_box_pack_start(box, entry);
elm_box_pack_end(box, button);
- elm_pager_content_push(info->pager, box);
+ elm_naviframe_item_simple_push(info->naviframe, box);
}
void
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *li, *ic, *ic2, *pager;
+ Evas_Object *win, *li, *ic, *ic2, *naviframe;
static struct Pginfo info = {NULL, NULL};
char buf[PATH_MAX];
- win = elm_win_add(NULL, "list4", ELM_WIN_BASIC);
- elm_win_title_set(win, "List 4");
+ win = elm_win_util_standard_add("list4", "List 4");
elm_win_autodel_set(win, EINA_TRUE);
info.win = win;
- 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);
-
- pager = elm_pager_add(win);
- elm_win_resize_object_add(win, pager);
- evas_object_size_hint_weight_set(pager, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pager, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(pager);
- info.pager = pager;
+ naviframe = elm_naviframe_add(win);
+ elm_win_resize_object_add(win, naviframe);
+ 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);
+ evas_object_show(naviframe);
+ info.naviframe = naviframe;
li = elm_list_add(win);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_list_mode_set(li, ELM_LIST_COMPRESS);
evas_object_smart_callback_add(li, "swipe", test_list4_swipe, &info);
- elm_pager_content_push(pager, li);
+ elm_naviframe_item_simple_push(naviframe, li);
static char pf_data[] = "Pink Floyd were formed in 1965, and originally consisted of university" \
"students Roger Waters, Nick Mason, Richard Wright, and Syd Barrett. The group were a popular" \
"conceptalbums The Dark Side of the Moon, Wish You Were Here, Animals, and The Wall.";
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/mystrale.jpg", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "Pink Floyd", ic, NULL, NULL, &pf_data);
"their first album going multi-platinum globally.";
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/mystrale_2.jpg", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "Dire Straits", ic, NULL, NULL, &ds_data);
"perform at stadium-sized venues.";
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/icon_17.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 1, 1);
+ elm_icon_resizable_set(ic, 1, 1);
elm_icon_file_set(ic, buf, NULL);
elm_list_item_append(li, "Uriah Heep", ic, NULL, NULL, &uh_data);
"two weeks before the group's first United States tour.";
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/icon_21.png", elm_app_data_dir_get());
- elm_icon_scale_set(ic, 0, 0);
+ elm_icon_resizable_set(ic, 0, 0);
elm_icon_file_set(ic, buf, NULL);
ic2 = elm_icon_add(win);
elm_icon_standard_set(ic2, "clock");
- elm_icon_scale_set(ic2, 0, 0);
+ elm_icon_resizable_set(ic2, 0, 0);
elm_list_item_append(li, "Rush", ic, ic2, NULL, &r_data);
elm_list_go(li);
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- elm_list_item_del(data);
+ elm_object_item_del(data);
}
static void
void *event_info)
{
Evas_Object *button;
- struct list5_data_cb *info = elm_list_item_data_get(event_info);
+ struct list5_data_cb *info = elm_object_item_data_get(event_info);
- if (elm_list_item_end_get(event_info)) return;
+ if (elm_object_item_part_content_get(event_info, "end")) return;
button = elm_button_add(info->win);
elm_object_text_set(button, "delete");
evas_object_propagate_events_set(button, 0);
evas_object_smart_callback_add(button, "clicked", test_list5_item_del,
event_info);
- elm_list_item_end_set(event_info, button);
+ elm_object_item_part_content_set(event_info, "end", button);
}
void
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *li;
+ Evas_Object *win, *li;
static struct list5_data_cb info;
- win = elm_win_add(NULL, "list5", ELM_WIN_BASIC);
- elm_win_title_set(win, "List 5");
+ win = elm_win_util_standard_add("list5", "List 5");
elm_win_autodel_set(win, EINA_TRUE);
info.win = win;
- 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);
-
li = elm_list_add(win);
evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_list_mode_set(li, ELM_LIST_COMPRESS);
evas_object_show(win);
}
+static void
+_first_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+ char str[128];
+ Evas_Object *li = data, *lb;
+ Elm_Object_Item *lit = elm_list_first_item_get(li);
+ if (!lit) return;
+
+ sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+ elm_list_item_bring_in(lit);
+ elm_list_item_selected_set(lit, EINA_TRUE);
+
+ lb = evas_object_data_get(li, "label");
+ elm_object_text_set(lb, str);
+}
+
+static void
+_prev_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+ char str[128];
+ Evas_Object *li = data, *lb;
+
+ Elm_Object_Item *lit = elm_list_selected_item_get(li);
+ if (!lit) return;
+ lit = elm_list_item_prev(lit);
+ if (!lit) return;
+
+ sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+ elm_list_item_bring_in(lit);
+ elm_list_item_selected_set(lit, EINA_TRUE);
+
+ lb = evas_object_data_get(li, "label");
+ elm_object_text_set(lb, str);
+}
+
+static void
+_next_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+ char str[128];
+ Evas_Object *li = data, *lb;
+
+ Elm_Object_Item *lit = elm_list_selected_item_get(li);
+ if (!lit) return;
+ lit = elm_list_item_next(lit);
+ if (!lit) return;
+
+ sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+ elm_list_item_bring_in(lit);
+ elm_list_item_selected_set(lit, EINA_TRUE);
+
+ lb = evas_object_data_get(li, "label");
+ elm_object_text_set(lb, str);
+}
+
+static void
+_last_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+ char str[128];
+ Evas_Object *li = data, *lb;
+ Elm_Object_Item *lit = elm_list_last_item_get(li);
+ if (!lit) return;
+
+ sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+ elm_list_item_bring_in(lit);
+ elm_list_item_selected_set(lit, EINA_TRUE);
+
+ lb = evas_object_data_get(li, "label");
+ elm_object_text_set(lb, str);
+}
+
+void
+test_list6(void *data __UNUSED__,
+ Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+ Evas_Object *win, *gd, *bt, *li, *lb;
+
+ win = elm_win_util_standard_add("list6", "List 6");
+ elm_win_autodel_set(win, EINA_TRUE);
+
+ gd = elm_grid_add(win);
+ elm_grid_size_set(gd, 100, 100);
+ elm_win_resize_object_add(win, gd);
+ evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ li = elm_list_add(win);
+ evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_list_mode_set(li, ELM_LIST_COMPRESS);
+ elm_grid_pack(gd, li, 4, 4, 92, 72);
+ evas_object_show(li);
+
+ elm_list_item_append(li, "Eina", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Eet", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Evas", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Ecore", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Embryo", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Edje", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Efreet", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "E_dbus", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Eeze", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Expedite", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Emotion", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Ethumb", NULL, NULL, _it_clicked, li);
+ elm_list_item_append(li, "Elementary", NULL, NULL, _it_clicked, li);
+ elm_list_go(li);
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "First");
+ evas_object_smart_callback_add(bt, "clicked", _first_bt_clicked, li);
+ elm_grid_pack(gd, bt, 4, 80, 20, 10);
+ evas_object_show(bt);
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Prev");
+ evas_object_smart_callback_add(bt, "clicked", _prev_bt_clicked, li);
+ elm_grid_pack(gd, bt, 28, 80, 20, 10);
+ evas_object_show(bt);
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Next");
+ evas_object_smart_callback_add(bt, "clicked", _next_bt_clicked, li);
+ elm_grid_pack(gd, bt, 52, 80, 20, 10);
+ evas_object_show(bt);
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Last");
+ evas_object_smart_callback_add(bt, "clicked", _last_bt_clicked, li);
+ elm_grid_pack(gd, bt, 76, 80, 20, 10);
+ evas_object_show(bt);
+
+ lb = elm_label_add(win);
+ elm_object_text_set(lb, "Nothing is selected");
+ elm_grid_pack(gd, lb, 4, 90, 92, 10);
+ evas_object_show(lb);
+
+ evas_object_data_set(li, "label", lb);
+
+ evas_object_show(gd);
+ evas_object_resize(win, 480, 480);
+ evas_object_show(win);
+}
#endif