From: Rafael Fonseca <rfonseca@profusion.mobi>

As requested, I've changed the widget name. Let me know about any
issues.



SVN revision: 49411
This commit is contained in:
Rafael Fonseca 2010-06-03 12:53:14 +00:00 committed by Carsten Haitzler
parent eeeae8a9df
commit 24feacfa4c
8 changed files with 1664 additions and 1665 deletions

View File

@ -80,7 +80,7 @@ collections {
alias: "elm/list/base/default"; alias: "elm/list/base/default";
alias: "elm/genlist/base/default"; alias: "elm/genlist/base/default";
alias: "elm/carousel/base/default"; alias: "elm/carousel/base/default";
alias: "elm/grid/base/default"; alias: "elm/gengrid/base/default";
script { script {
public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer; public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
@ -21072,7 +21072,7 @@ collections {
} }
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
group { name: "elm/grid/cell/default/default"; group { name: "elm/gengrid/item/default/default";
data.item: "labels" "elm.text"; data.item: "labels" "elm.text";
data.item: "icons" "elm.swallow.icon elm.swallow.end"; data.item: "icons" "elm.swallow.icon elm.swallow.end";
images { images {
@ -21338,17 +21338,17 @@ collections {
} }
} }
} }
group { name: "elm/grid/cell/default_style/default"; group { name: "elm/gengrid/item/default_style/default";
styles styles
{ {
style { name: "grid_style"; style { name: "gengrid_style";
base: "font=Sans font_size=10 align=left valign=0.5 color=#000"; base: "font=Sans font_size=10 align=left valign=0.5 color=#000";
tag: "br" "\n"; tag: "br" "\n";
tag: "hilight" "+ font=Sans:style=Bold"; tag: "hilight" "+ font=Sans:style=Bold";
tag: "b" "+ font=Sans:style=Bold"; tag: "b" "+ font=Sans:style=Bold";
tag: "tab" "\t"; tag: "tab" "\t";
} }
style { name: "grid_selected_style"; style { name: "gengrid_selected_style";
base: "font=Sans font_size=10 align=left valign=0.5 color=#fff"; base: "font=Sans font_size=10 align=left valign=0.5 color=#fff";
tag: "br" "\n"; tag: "br" "\n";
tag: "hilight" "+ font=Sans:style=Bold"; tag: "hilight" "+ font=Sans:style=Bold";
@ -21519,14 +21519,14 @@ collections {
offset: -1 -5; offset: -1 -5;
} }
text { text {
style: "grid_style"; style: "gengrid_style";
min: 1 1; min: 1 1;
} }
} }
description { state: "selected" 0.0; description { state: "selected" 0.0;
inherit: "default" 0.0; inherit: "default" 0.0;
text { text {
style: "grid_selected_style"; style: "gengrid_selected_style";
} }
} }
} }

View File

@ -36,7 +36,7 @@ test_button.c \
test_fileselector_button.c \ test_fileselector_button.c \
test_toggle.c \ test_toggle.c \
test_table.c \ test_table.c \
test_grid.c \ test_gengrid.c \
test_clock.c \ test_clock.c \
test_layout.c \ test_layout.c \
test_hover.c \ test_hover.c \

View File

@ -43,7 +43,7 @@ void test_genlist4(void *data, Evas_Object *obj, void *event_info);
void test_genlist5(void *data, Evas_Object *obj, void *event_info); void test_genlist5(void *data, Evas_Object *obj, void *event_info);
void test_genlist6(void *data, Evas_Object *obj, void *event_info); void test_genlist6(void *data, Evas_Object *obj, void *event_info);
void test_table(void *data, Evas_Object *obj, void *event_info); void test_table(void *data, Evas_Object *obj, void *event_info);
void test_grid(void *data, Evas_Object *obj, void *event_info); void test_gengrid(void *data, Evas_Object *obj, void *event_info);
void test_pager(void *data, Evas_Object *obj, void *event_info); void test_pager(void *data, Evas_Object *obj, void *event_info);
void test_win_state(void *data, Evas_Object *obj, void *event_info); void test_win_state(void *data, Evas_Object *obj, void *event_info);
void test_win_state2(void *data, Evas_Object *obj, void *event_info); void test_win_state2(void *data, Evas_Object *obj, void *event_info);
@ -236,7 +236,7 @@ my_win_main(void)
ADD_TEST("Genlist 4", test_genlist4); ADD_TEST("Genlist 4", test_genlist4);
ADD_TEST("Genlist 5", test_genlist5); ADD_TEST("Genlist 5", test_genlist5);
ADD_TEST("Genlist Tree", test_genlist6); ADD_TEST("Genlist Tree", test_genlist6);
ADD_TEST("Scrolled Grid", test_grid); ADD_TEST("GenGrid", test_gengrid);
ADD_TEST("Checks", test_check); ADD_TEST("Checks", test_check);
ADD_TEST("Radios", test_radio); ADD_TEST("Radios", test_radio);
ADD_TEST("Pager", test_pager); ADD_TEST("Pager", test_pager);

View File

@ -2,13 +2,13 @@
#ifndef ELM_LIB_QUICKLAUNCH #ifndef ELM_LIB_QUICKLAUNCH
typedef struct _Testitem typedef struct _Testitem
{ {
Elm_Grid_Cell *cell; Elm_Gengrid_Item *item;
const char *path; const char *path;
int mode; int mode;
int onoff; int onoff;
} Testitem; } Testitem;
static Elm_Grid_Cell_Class gcc; static Elm_Gengrid_Item_Class gic;
static void static void
grid_drag_up(void *data, Evas_Object *obj, void *event_info) grid_drag_up(void *data, Evas_Object *obj, void *event_info)
@ -59,31 +59,31 @@ grid_longpress(void *data, Evas_Object *obj, void *event_info)
} }
static void static void
grid_cell_check_changed(void *data, Evas_Object *obj, void *event_info) grid_item_check_changed(void *data, Evas_Object *obj, void *event_info)
{ {
Testitem *tit = data; Testitem *ti = data;
tit->onoff = elm_check_state_get(obj); ti->onoff = elm_check_state_get(obj);
printf("cell %p onoff = %i\n", tit, tit->onoff); printf("item %p onoff = %i\n", ti, ti->onoff);
} }
char * char *
grid_label_get(const void *data, Evas_Object *obj, const char *part) grid_label_get(const void *data, Evas_Object *obj, const char *part)
{ {
const Testitem *tit = data; const Testitem *ti = data;
char buf[256]; char buf[256];
snprintf(buf, sizeof(buf), "Photo %s", tit->path); snprintf(buf, sizeof(buf), "Photo %s", ti->path);
return strdup(buf); return strdup(buf);
} }
Evas_Object * Evas_Object *
grid_icon_get(const void *data, Evas_Object *obj, const char *part) grid_icon_get(const void *data, Evas_Object *obj, const char *part)
{ {
const Testitem *tit = data; const Testitem *ti = data;
if (!strcmp(part, "elm.swallow.icon")) if (!strcmp(part, "elm.swallow.icon"))
{ {
Evas_Object *icon = elm_bg_add(obj); Evas_Object *icon = elm_bg_add(obj);
elm_bg_file_set(icon, tit->path, NULL); elm_bg_file_set(icon, ti->path, NULL);
evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
evas_object_show(icon); evas_object_show(icon);
return icon; return icon;
@ -93,8 +93,8 @@ grid_icon_get(const void *data, Evas_Object *obj, const char *part)
Evas_Object *ck; Evas_Object *ck;
ck = elm_check_add(obj); ck = elm_check_add(obj);
evas_object_propagate_events_set(ck, 0); evas_object_propagate_events_set(ck, 0);
elm_check_state_set(ck, tit->onoff); elm_check_state_set(ck, ti->onoff);
evas_object_smart_callback_add(ck, "changed", grid_cell_check_changed, data); evas_object_smart_callback_add(ck, "changed", grid_item_check_changed, data);
evas_object_show(ck); evas_object_show(ck);
return ck; return ck;
} }
@ -119,10 +119,10 @@ grid_sel(void *data, Evas_Object *obj, void *event_info)
} }
void void
test_grid(void *data, Evas_Object *obj, void *event_info) test_gengrid(void *data, Evas_Object *obj, void *event_info)
{ {
Evas_Object *win, *bg, *grid; Evas_Object *win, *bg, *grid;
static Testitem item[144]; static Testitem ti[144];
int i, j, n; int i, j, n;
char buf[PATH_MAX]; char buf[PATH_MAX];
const char *img[9] = const char *img[9] =
@ -147,10 +147,10 @@ test_grid(void *data, Evas_Object *obj, void *event_info)
elm_win_resize_object_add(win, bg); elm_win_resize_object_add(win, bg);
evas_object_show(bg); evas_object_show(bg);
grid = elm_scrolled_grid_add(win); grid = elm_gengrid_add(win);
elm_scrolled_grid_cell_size_set(grid, 150, 150); elm_gengrid_item_size_set(grid, 150, 150);
elm_scrolled_grid_horizontal_set(grid, EINA_FALSE); elm_gengrid_horizontal_set(grid, EINA_FALSE);
elm_scrolled_grid_multi_select_set(grid, EINA_TRUE); elm_gengrid_multi_select_set(grid, EINA_TRUE);
evas_object_smart_callback_add(grid, "selected", grid_selected, NULL); evas_object_smart_callback_add(grid, "selected", grid_selected, NULL);
evas_object_smart_callback_add(grid, "clicked", grid_clicked, NULL); evas_object_smart_callback_add(grid, "clicked", grid_clicked, NULL);
evas_object_smart_callback_add(grid, "longpressed", grid_longpress, NULL); evas_object_smart_callback_add(grid, "longpressed", grid_longpress, NULL);
@ -161,23 +161,22 @@ test_grid(void *data, Evas_Object *obj, void *event_info)
evas_object_smart_callback_add(grid, "drag,stop", grid_drag_stop, NULL); evas_object_smart_callback_add(grid, "drag,stop", grid_drag_stop, NULL);
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
gcc.item_style = "default"; gic.item_style = "default";
gcc.func.label_get = grid_label_get; gic.func.label_get = grid_label_get;
gcc.func.icon_get = grid_icon_get; gic.func.icon_get = grid_icon_get;
gcc.func.state_get = grid_state_get; gic.func.state_get = grid_state_get;
gcc.func.del = grid_del; gic.func.del = grid_del;
n = 0; n = 0;
for (i = 0; i < 12 * 12; i++) for (i = 0; i < 12 * 12; i++)
{ {
snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, img[n]);
img[n]);
n = (n + 1) % 9; n = (n + 1) % 9;
item[i].mode = i; ti[i].mode = i;
item[i].path = eina_stringshare_add(buf); ti[i].path = eina_stringshare_add(buf);
item[i].cell = elm_scrolled_grid_cell_add(grid, &gcc, &(item[i]), grid_sel, NULL); ti[i].item = elm_gengrid_item_append(grid, &gic, &(ti[i]), grid_sel, NULL);
if (!(i % 5)) if (!(i % 5))
elm_scrolled_grid_cell_selected_set(item[i].cell, EINA_TRUE); elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE);
} }
evas_object_show(grid); evas_object_show(grid);

View File

@ -563,64 +563,64 @@ extern "C" {
EAPI void elm_table_unpack(Evas_Object *obj, Evas_Object *subobj); EAPI void elm_table_unpack(Evas_Object *obj, Evas_Object *subobj);
EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear); EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear);
typedef struct _Elm_Grid_Cell_Class Elm_Grid_Cell_Class; typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
typedef struct _Elm_Grid_Cell_Class_Func Elm_Grid_Cell_Class_Func; typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;
typedef struct _Elm_Grid_Cell Elm_Grid_Cell; typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item;
typedef char *(*GridCellLabelGetFunc) (const void *data, Evas_Object *obj, const char *part); typedef char *(*GridItemLabelGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef Evas_Object *(*GridCellIconGetFunc) (const void *data, Evas_Object *obj, const char *part); typedef Evas_Object *(*GridItemIconGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef Eina_Bool (*GridCellStateGetFunc) (const void *data, Evas_Object *obj, const char *part); typedef Eina_Bool (*GridItemStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef void (*GridCellDelFunc) (const void *data, Evas_Object *obj); typedef void (*GridItemDelFunc) (const void *data, Evas_Object *obj);
struct _Elm_Grid_Cell_Class struct _Elm_Gengrid_Item_Class
{ {
const char *item_style; const char *item_style;
struct _Elm_Grid_Cell_Class_Func struct _Elm_Gengrid_Item_Class_Func
{ {
GridCellLabelGetFunc label_get; GridItemLabelGetFunc label_get;
GridCellIconGetFunc icon_get; GridItemIconGetFunc icon_get;
GridCellStateGetFunc state_get; GridItemStateGetFunc state_get;
GridCellDelFunc del; GridItemDelFunc del;
} func; } func;
}; };
EAPI Evas_Object *elm_scrolled_grid_add(Evas_Object *parent); EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
EAPI void elm_scrolled_grid_cell_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h); EAPI void elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
EAPI void elm_scrolled_grid_cell_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h); EAPI void elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
EAPI void elm_scrolled_grid_align_set(Evas_Object *obj, double align_x, double align_y); EAPI void elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y);
EAPI void elm_scrolled_grid_align_get(const Evas_Object *obj, double *align_x, double *align_y); EAPI void elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y);
EAPI void elm_scrolled_grid_cell_del(Elm_Grid_Cell *cell); EAPI void elm_gengrid_item_del(Elm_Gengrid_Item *item);
EAPI void elm_scrolled_grid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select); EAPI void elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
EAPI Eina_Bool elm_scrolled_grid_always_select_mode_get(const Evas_Object *obj); EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas_Object *obj);
EAPI void elm_scrolled_grid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select); EAPI void elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
EAPI Eina_Bool elm_scrolled_grid_no_select_mode_get(const Evas_Object *obj); EAPI Eina_Bool elm_gengrid_no_select_mode_get(const Evas_Object *obj);
EAPI void elm_scrolled_grid_multi_select_set(Evas_Object *obj, Eina_Bool multi); EAPI void elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi);
EAPI Eina_Bool elm_scrolled_grid_multi_select_get(const Evas_Object *obj); EAPI Eina_Bool elm_gengrid_multi_select_get(const Evas_Object *obj);
EAPI void elm_scrolled_grid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
EAPI void elm_scrolled_grid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
EAPI void elm_scrolled_grid_horizontal_set(Evas_Object *obj, Eina_Bool setting); EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting);
EAPI void elm_scrolled_grid_clear(Evas_Object *obj); EAPI void elm_gengrid_clear(Evas_Object *obj);
EAPI void *elm_scrolled_grid_cell_data_get(Elm_Grid_Cell *cell); EAPI void *elm_gengrid_item_data_get(Elm_Gengrid_Item *item);
EAPI void elm_scrolled_grid_cell_pos_get(const Elm_Grid_Cell *cell, unsigned int *x, unsigned int *y); EAPI void elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned int *y);
EAPI void elm_scrolled_grid_cell_selected_set(Elm_Grid_Cell *cell, Eina_Bool selected); EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected);
EAPI Eina_Bool elm_scrolled_grid_cell_selected_get(const Elm_Grid_Cell *cell); EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item);
EAPI const Evas_Object *elm_scrolled_grid_cell_object_get(Elm_Grid_Cell *cell); EAPI const Evas_Object *elm_gengrid_item_object_get(Elm_Gengrid_Item *item);
EAPI const Eina_List *elm_scrolled_grid_selected_cells_get(const Evas_Object *obj); EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj);
EAPI Elm_Grid_Cell *elm_scrolled_grid_cell_add(Evas_Object *obj, const Elm_Grid_Cell_Class *gcc, const void *data, Evas_Smart_Cb func, const void *func_data); EAPI Elm_Gengrid_Item *elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gcc, const void *data, Evas_Smart_Cb func, const void *func_data);
/* smart callbacks called: /* smart callbacks called:
* *
* selected - User has selected a cell. * selected - User has selected a item.
* unselected - User has unselected a cell. * unselected - User has unselected a item.
* clicked - User has double-clicked a cell. * clicked - User has double-clicked a item.
* realized - An evas object for a cell was built. * realized - An evas object for a item was built.
* scroll - the content has been scrolled (moved). * scroll - the content has been scrolled (moved).
* "scroll,drag,start" - dragging the contents around has started. * "scroll,drag,start" - dragging the contents around has started.
* "scroll,drat,stop" - dragging the contents around has stopped. * "scroll,drat,stop" - dragging the contents around has stopped.
* drag - grid is being dragged. * drag - Gengrid is being dragged.
* "drag,start,up" - grid has been dragged (not scrolled) up. * "drag,start,up" - Gengrid has been dragged (not scrolled) up.
* "drag,start,down" - grid has been dragged (not scrolled) down. * "drag,start,down" - Gengrid has been dragged (not scrolled) down.
* "drag,start,left" - grid has been dragged (not scrolled) left. * "drag,start,left" - Gengrid has been dragged (not scrolled) left.
* "drag,start,rigth" - grid has been dragged (nto scrolled) right. * "drag,start,rigth" - Gengrid has been dragged (nto scrolled) right.
* "drag,stop" - grid is not being dragged. * "drag,stop" - Gengrid is not being dragged.
*/ */
EAPI Evas_Object *elm_clock_add(Evas_Object *parent); EAPI Evas_Object *elm_clock_add(Evas_Object *parent);

View File

@ -45,7 +45,7 @@ elm_label.c \
elm_toggle.c \ elm_toggle.c \
elm_frame.c \ elm_frame.c \
elm_table.c \ elm_table.c \
elm_scrolled_grid.c \ elm_gengrid.c \
elm_clock.c \ elm_clock.c \
elm_layout.c \ elm_layout.c \
elm_hover.c \ elm_hover.c \

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff