better - n mapbufs

SVN revision: 45619
This commit is contained in:
Carsten Haitzler 2010-01-27 04:57:57 +00:00
parent a8cd33d016
commit 7e1b2be19d
1 changed files with 66 additions and 32 deletions

View File

@ -4,11 +4,18 @@
static void
mode_cb(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *mb = data;
if (elm_mapbuf_enabled_get(mb))
elm_mapbuf_enabled_set(mb, 0);
else
elm_mapbuf_enabled_set(mb, 1);
Evas_Object *win = data;
Evas_Object *mb;
Eina_List *mbs, *l;
mbs = evas_object_data_get(win, "mbs");
EINA_LIST_FOREACH(mbs, l, mb)
{
if (elm_mapbuf_enabled_get(mb))
elm_mapbuf_enabled_set(mb, 0);
else
elm_mapbuf_enabled_set(mb, 1);
}
}
static void
@ -21,15 +28,29 @@ full_cb(void *data, Evas_Object *obj, void *event_info)
static void
alpha_cb(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *mb = data;
elm_mapbuf_alpha_set(mb, elm_check_state_get(obj));
Evas_Object *win = data;
Evas_Object *mb;
Eina_List *mbs, *l;
mbs = evas_object_data_get(win, "mbs");
EINA_LIST_FOREACH(mbs, l, mb)
{
elm_mapbuf_alpha_set(mb, elm_check_state_get(obj));
}
}
static void
smooth_cb(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *mb = data;
elm_mapbuf_smooth_set(mb, elm_check_state_get(obj));
Evas_Object *win = data;
Evas_Object *mb;
Eina_List *mbs, *l;
mbs = evas_object_data_get(win, "mbs");
EINA_LIST_FOREACH(mbs, l, mb)
{
elm_mapbuf_smooth_set(mb, elm_check_state_get(obj));
}
}
static void
@ -42,7 +63,7 @@ close_cb(void *data, Evas_Object *obj, void *event_info)
void
test_launcher(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *win, *bg, *sc, *tb, *pad, *bt, *ic, *lb, *tb2, *mb, *ck;
Evas_Object *win, *bg, *sc, *tb, *pad, *bt, *ic, *lb, *tb2, *mb, *ck, *bx;
int i, j, k, n, m;
char buf[PATH_MAX];
const char *names[] =
@ -52,6 +73,7 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
"Lots", "Of", "Labels", "Make",
"Everyone", "Happy", "And", "Calm"
};
Eina_List *mbs = NULL;
win = elm_win_add(NULL, "launcher", ELM_WIN_BASIC);
elm_win_title_set(win, "Launcher");
@ -64,37 +86,40 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
elm_win_resize_object_add(win, bg);
evas_object_show(bg);
mb = elm_mapbuf_add(win);
bx = elm_box_add(win);
elm_box_homogenous_set(bx, 1);
elm_box_horizontal_set(bx, 1);
tb = elm_table_add(win);
evas_object_size_hint_weight_set(tb, 0.0, 0.0);
evas_object_size_hint_align_set(tb, 0.5, 0.5);
n = 0; m = 0;
for (k = 0 ; k < 4; k++)
for (k = 0 ; k < 8; k++)
{
pad = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_size_hint_min_set(pad, 470, 4);
evas_object_size_hint_weight_set(pad, 0.0, 0.0);
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb, pad, (k * 7) + 1, 0, 5, 1);
tb = elm_table_add(win);
evas_object_size_hint_weight_set(tb, 0.0, 0.0);
evas_object_size_hint_align_set(tb, 0.5, 0.5);
pad = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_size_hint_min_set(pad, 470, 4);
evas_object_size_hint_weight_set(pad, 0.0, 0.0);
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb, pad, (k * 7) + 1, 14, 5, 1);
elm_table_pack(tb, pad, 1, 0, 5, 1);
pad = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_size_hint_min_set(pad, 470, 4);
evas_object_size_hint_weight_set(pad, 0.0, 0.0);
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb, pad, 1, 14, 5, 1);
pad = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_size_hint_min_set(pad, 4, 4);
evas_object_size_hint_weight_set(pad, 0.0, 0.0);
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb, pad, k * 7, 1, 1, 12);
elm_table_pack(tb, pad, 0, 1, 1, 12);
pad = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_size_hint_min_set(pad, 4, 4);
evas_object_size_hint_weight_set(pad, 0.0, 0.0);
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb, pad, (k * 7) + 6, 1, 1, 12);
elm_table_pack(tb, pad, 6, 1, 1, 12);
for (j = 0; j < 6; j++)
{
@ -106,7 +131,7 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
elm_icon_scale_set(ic, 0, 0);
evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
elm_table_pack(tb, ic, (k * 7) + 1 + i, 1 + (j * 2), 1, 1);
elm_table_pack(tb, ic, 1 + i, 1 + (j * 2), 1, 1);
evas_object_show(ic);
lb = elm_label_add(win);
@ -114,16 +139,25 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
elm_label_label_set(lb, names[m]);
evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(lb, 0.5, 0.5);
elm_table_pack(tb, lb, (k * 7) + 1 + i, 1 + (j * 2) + 1, 1, 1);
elm_table_pack(tb, lb, 1 + i, 1 + (j * 2) + 1, 1, 1);
evas_object_show(lb);
n++; if (n > 23) n = 0;
m++; if (m > 15) m = 0;
}
}
mb = elm_mapbuf_add(win);
elm_mapbuf_content_set(mb, tb);
evas_object_show(tb);
elm_box_pack_end(bx, mb);
evas_object_show(mb);
mbs = eina_list_append(mbs, mb);
}
elm_mapbuf_content_set(mb, tb);
evas_object_show(tb);
// fixme: free mbs
evas_object_data_set(win, "mbs", mbs);
sc = elm_scroller_add(win);
elm_scroller_bounce_set(sc, 1, 0);
@ -131,8 +165,8 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, sc);
elm_scroller_content_set(sc, mb);
evas_object_show(mb);
elm_scroller_content_set(sc, bx);
evas_object_show(bx);
elm_scroller_page_relative_set(sc, 1.0, 1.0);
evas_object_show(sc);
@ -144,7 +178,7 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
ck = elm_check_add(win);
elm_check_label_set(ck, "Mapbuf");
elm_check_state_set(ck, 0);
evas_object_smart_callback_add(ck, "changed", mode_cb, mb);
evas_object_smart_callback_add(ck, "changed", mode_cb, win);
evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ck, 0.05, 0.99);
elm_table_pack(tb2, ck, 0, 0, 1, 1);
@ -153,7 +187,7 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
ck = elm_check_add(win);
elm_check_label_set(ck, "Alpha");
elm_check_state_set(ck, 1);
evas_object_smart_callback_add(ck, "changed", alpha_cb, mb);
evas_object_smart_callback_add(ck, "changed", alpha_cb, win);
evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ck, 0.20, 0.99);
elm_table_pack(tb2, ck, 1, 0, 1, 1);
@ -162,7 +196,7 @@ test_launcher(void *data, Evas_Object *obj, void *event_info)
ck = elm_check_add(win);
elm_check_label_set(ck, "Smooth");
elm_check_state_set(ck, 1);
evas_object_smart_callback_add(ck, "changed", smooth_cb, mb);
evas_object_smart_callback_add(ck, "changed", smooth_cb, win);
evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ck, 0.40, 0.99);
elm_table_pack(tb2, ck, 2, 0, 1, 1);