widget: added custom gengrid sample - grid check style.
This commit is contained in:
parent
99c5750f61
commit
f44099726a
18
gui.c
18
gui.c
|
@ -145,6 +145,21 @@ _nf_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
|
||||||
elm_naviframe_item_pop(data);
|
elm_naviframe_item_pop(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_style_list_gengrid_grid_check_sel_cb(void *data, Evas_Object *obj,
|
||||||
|
void *event_info)
|
||||||
|
{
|
||||||
|
_viewer_box_obj_del();
|
||||||
|
_viewer_box_obj_add("gengrid", "h9 grid-check-style");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_custom_styles_add(Evas_Object *list)
|
||||||
|
{
|
||||||
|
elm_list_item_append(list, "Grid Check Style", NULL, NULL,
|
||||||
|
_style_list_gengrid_grid_check_sel_cb, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_widget_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
|
_widget_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
|
||||||
{
|
{
|
||||||
|
@ -169,6 +184,9 @@ _widget_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
|
||||||
elm_list_item_append(li, style, NULL, NULL, _style_list_sel_cb, sd);
|
elm_list_item_append(li, style, NULL, NULL, _style_list_sel_cb, sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add additional hacky custom styles for special reasons
|
||||||
|
_custom_styles_add(li);
|
||||||
|
|
||||||
elm_list_go(li);
|
elm_list_go(li);
|
||||||
|
|
||||||
prev_btn = elm_button_add(win);
|
prev_btn = elm_button_add(win);
|
||||||
|
|
36
widget.c
36
widget.c
|
@ -171,6 +171,35 @@ _widget_gengrid_text_get(void *data, Evas_Object *obj, const char *part)
|
||||||
return strdup(buf);
|
return strdup(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Evas_Object *
|
||||||
|
_widget_gengrid_grid_check_content_get(void *data, Evas_Object *obj,
|
||||||
|
const char *part)
|
||||||
|
{
|
||||||
|
Evas_Object *o = NULL;
|
||||||
|
char buf[PATH_MAX] = {0, };
|
||||||
|
int i = ((int)(long)data % 4) + 1;
|
||||||
|
|
||||||
|
if (!strcmp(part, "elm.swallow.icon"))
|
||||||
|
{
|
||||||
|
o = elm_bg_add(obj);
|
||||||
|
snprintf(buf, sizeof(buf),
|
||||||
|
"%s/images/sky_0%d.jpg", elm_app_data_dir_get(), i);
|
||||||
|
|
||||||
|
elm_bg_file_set(o, buf, NULL);
|
||||||
|
evas_object_size_hint_aspect_set(o, EVAS_ASPECT_CONTROL_VERTICAL,
|
||||||
|
1, 1);
|
||||||
|
evas_object_show(o);
|
||||||
|
}
|
||||||
|
else if (!strcmp(part, "elm.swallow.end"))
|
||||||
|
{
|
||||||
|
o = elm_check_add(obj);
|
||||||
|
elm_object_style_set(o, "grid");
|
||||||
|
evas_object_propagate_events_set(o, EINA_FALSE);
|
||||||
|
evas_object_show(o);
|
||||||
|
}
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_widget_gengrid_content_get(void *data, Evas_Object *obj, const char *part)
|
_widget_gengrid_content_get(void *data, Evas_Object *obj, const char *part)
|
||||||
{
|
{
|
||||||
|
@ -183,7 +212,6 @@ _widget_gengrid_content_get(void *data, Evas_Object *obj, const char *part)
|
||||||
o = elm_bg_add(obj);
|
o = elm_bg_add(obj);
|
||||||
snprintf(buf, sizeof(buf),
|
snprintf(buf, sizeof(buf),
|
||||||
"%s/images/sky_0%d.jpg", elm_app_data_dir_get(), i);
|
"%s/images/sky_0%d.jpg", elm_app_data_dir_get(), i);
|
||||||
printf("%s\n", buf);
|
|
||||||
|
|
||||||
elm_bg_file_set(o, buf, NULL);
|
elm_bg_file_set(o, buf, NULL);
|
||||||
evas_object_size_hint_aspect_set(o, EVAS_ASPECT_CONTROL_VERTICAL,
|
evas_object_size_hint_aspect_set(o, EVAS_ASPECT_CONTROL_VERTICAL,
|
||||||
|
@ -214,7 +242,6 @@ _widget_gengrid_create(const char *orig_style, const char *style)
|
||||||
|
|
||||||
ic = elm_gengrid_item_class_new();
|
ic = elm_gengrid_item_class_new();
|
||||||
ic->func.text_get = _widget_gengrid_text_get;
|
ic->func.text_get = _widget_gengrid_text_get;
|
||||||
ic->func.content_get = _widget_gengrid_content_get;
|
|
||||||
ic->func.state_get = NULL;
|
ic->func.state_get = NULL;
|
||||||
ic->func.del = NULL;
|
ic->func.del = NULL;
|
||||||
|
|
||||||
|
@ -224,6 +251,11 @@ _widget_gengrid_create(const char *orig_style, const char *style)
|
||||||
else
|
else
|
||||||
elm_object_style_set(o, style);
|
elm_object_style_set(o, style);
|
||||||
|
|
||||||
|
if (!strcmp("h9 grid-check-style", orig_style))
|
||||||
|
ic->func.content_get = _widget_gengrid_grid_check_content_get;
|
||||||
|
else
|
||||||
|
ic->func.content_get = _widget_gengrid_content_get;
|
||||||
|
|
||||||
for (i = 0; i < 50; i++)
|
for (i = 0; i < 50; i++)
|
||||||
{
|
{
|
||||||
elm_gengrid_item_append(o, ic, (void *)(long)i, NULL, NULL);
|
elm_gengrid_item_append(o, ic, (void *)(long)i, NULL, NULL);
|
||||||
|
|
Loading…
Reference in New Issue