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/genlist/base/default";
alias: "elm/carousel/base/default";
alias: "elm/grid/base/default";
alias: "elm/gengrid/base/default";
script {
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: "icons" "elm.swallow.icon elm.swallow.end";
images {
@ -21338,17 +21338,17 @@ collections {
}
}
}
group { name: "elm/grid/cell/default_style/default";
group { name: "elm/gengrid/item/default_style/default";
styles
{
style { name: "grid_style";
style { name: "gengrid_style";
base: "font=Sans font_size=10 align=left valign=0.5 color=#000";
tag: "br" "\n";
tag: "hilight" "+ font=Sans:style=Bold";
tag: "b" "+ font=Sans:style=Bold";
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";
tag: "br" "\n";
tag: "hilight" "+ font=Sans:style=Bold";
@ -21519,14 +21519,14 @@ collections {
offset: -1 -5;
}
text {
style: "grid_style";
style: "gengrid_style";
min: 1 1;
}
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
text {
style: "grid_selected_style";
style: "gengrid_selected_style";
}
}
}

View File

@ -36,7 +36,7 @@ test_button.c \
test_fileselector_button.c \
test_toggle.c \
test_table.c \
test_grid.c \
test_gengrid.c \
test_clock.c \
test_layout.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_genlist6(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_win_state(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 5", test_genlist5);
ADD_TEST("Genlist Tree", test_genlist6);
ADD_TEST("Scrolled Grid", test_grid);
ADD_TEST("GenGrid", test_gengrid);
ADD_TEST("Checks", test_check);
ADD_TEST("Radios", test_radio);
ADD_TEST("Pager", test_pager);

View File

@ -2,13 +2,13 @@
#ifndef ELM_LIB_QUICKLAUNCH
typedef struct _Testitem
{
Elm_Grid_Cell *cell;
Elm_Gengrid_Item *item;
const char *path;
int mode;
int onoff;
} Testitem;
static Elm_Grid_Cell_Class gcc;
static Elm_Gengrid_Item_Class gic;
static void
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
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;
tit->onoff = elm_check_state_get(obj);
printf("cell %p onoff = %i\n", tit, tit->onoff);
Testitem *ti = data;
ti->onoff = elm_check_state_get(obj);
printf("item %p onoff = %i\n", ti, ti->onoff);
}
char *
grid_label_get(const void *data, Evas_Object *obj, const char *part)
{
const Testitem *tit = data;
const Testitem *ti = data;
char buf[256];
snprintf(buf, sizeof(buf), "Photo %s", tit->path);
snprintf(buf, sizeof(buf), "Photo %s", ti->path);
return strdup(buf);
}
Evas_Object *
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"))
{
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_show(icon);
return icon;
@ -93,8 +93,8 @@ grid_icon_get(const void *data, Evas_Object *obj, const char *part)
Evas_Object *ck;
ck = elm_check_add(obj);
evas_object_propagate_events_set(ck, 0);
elm_check_state_set(ck, tit->onoff);
evas_object_smart_callback_add(ck, "changed", grid_cell_check_changed, data);
elm_check_state_set(ck, ti->onoff);
evas_object_smart_callback_add(ck, "changed", grid_item_check_changed, data);
evas_object_show(ck);
return ck;
}
@ -119,10 +119,10 @@ grid_sel(void *data, Evas_Object *obj, void *event_info)
}
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;
static Testitem item[144];
static Testitem ti[144];
int i, j, n;
char buf[PATH_MAX];
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);
evas_object_show(bg);
grid = elm_scrolled_grid_add(win);
elm_scrolled_grid_cell_size_set(grid, 150, 150);
elm_scrolled_grid_horizontal_set(grid, EINA_FALSE);
elm_scrolled_grid_multi_select_set(grid, EINA_TRUE);
grid = elm_gengrid_add(win);
elm_gengrid_item_size_set(grid, 150, 150);
elm_gengrid_horizontal_set(grid, EINA_FALSE);
elm_gengrid_multi_select_set(grid, EINA_TRUE);
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, "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_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
gcc.item_style = "default";
gcc.func.label_get = grid_label_get;
gcc.func.icon_get = grid_icon_get;
gcc.func.state_get = grid_state_get;
gcc.func.del = grid_del;
gic.item_style = "default";
gic.func.label_get = grid_label_get;
gic.func.icon_get = grid_icon_get;
gic.func.state_get = grid_state_get;
gic.func.del = grid_del;
n = 0;
for (i = 0; i < 12 * 12; i++)
{
snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR,
img[n]);
snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, img[n]);
n = (n + 1) % 9;
item[i].mode = i;
item[i].path = eina_stringshare_add(buf);
item[i].cell = elm_scrolled_grid_cell_add(grid, &gcc, &(item[i]), grid_sel, NULL);
ti[i].mode = i;
ti[i].path = eina_stringshare_add(buf);
ti[i].item = elm_gengrid_item_append(grid, &gic, &(ti[i]), grid_sel, NULL);
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);

View File

@ -563,64 +563,64 @@ extern "C" {
EAPI void elm_table_unpack(Evas_Object *obj, Evas_Object *subobj);
EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear);
typedef struct _Elm_Grid_Cell_Class Elm_Grid_Cell_Class;
typedef struct _Elm_Grid_Cell_Class_Func Elm_Grid_Cell_Class_Func;
typedef struct _Elm_Grid_Cell Elm_Grid_Cell;
typedef char *(*GridCellLabelGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef Evas_Object *(*GridCellIconGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef Eina_Bool (*GridCellStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef void (*GridCellDelFunc) (const void *data, Evas_Object *obj);
typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;
typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item;
typedef char *(*GridItemLabelGetFunc) (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 (*GridItemStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
typedef void (*GridItemDelFunc) (const void *data, Evas_Object *obj);
struct _Elm_Grid_Cell_Class
struct _Elm_Gengrid_Item_Class
{
const char *item_style;
struct _Elm_Grid_Cell_Class_Func
struct _Elm_Gengrid_Item_Class_Func
{
GridCellLabelGetFunc label_get;
GridCellIconGetFunc icon_get;
GridCellStateGetFunc state_get;
GridCellDelFunc del;
GridItemLabelGetFunc label_get;
GridItemIconGetFunc icon_get;
GridItemStateGetFunc state_get;
GridItemDelFunc del;
} func;
};
EAPI Evas_Object *elm_scrolled_grid_add(Evas_Object *parent);
EAPI void elm_scrolled_grid_cell_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_scrolled_grid_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_scrolled_grid_cell_del(Elm_Grid_Cell *cell);
EAPI void elm_scrolled_grid_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 void elm_scrolled_grid_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 void elm_scrolled_grid_multi_select_set(Evas_Object *obj, Eina_Bool multi);
EAPI Eina_Bool elm_scrolled_grid_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_scrolled_grid_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_scrolled_grid_clear(Evas_Object *obj);
EAPI void *elm_scrolled_grid_cell_data_get(Elm_Grid_Cell *cell);
EAPI void elm_scrolled_grid_cell_pos_get(const Elm_Grid_Cell *cell, unsigned int *x, unsigned int *y);
EAPI void elm_scrolled_grid_cell_selected_set(Elm_Grid_Cell *cell, Eina_Bool selected);
EAPI Eina_Bool elm_scrolled_grid_cell_selected_get(const Elm_Grid_Cell *cell);
EAPI const Evas_Object *elm_scrolled_grid_cell_object_get(Elm_Grid_Cell *cell);
EAPI const Eina_List *elm_scrolled_grid_selected_cells_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 Evas_Object *elm_gengrid_add(Evas_Object *parent);
EAPI void elm_gengrid_item_size_set(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_gengrid_align_set(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_gengrid_item_del(Elm_Gengrid_Item *item);
EAPI void elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas_Object *obj);
EAPI void elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
EAPI Eina_Bool elm_gengrid_no_select_mode_get(const Evas_Object *obj);
EAPI void elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi);
EAPI Eina_Bool elm_gengrid_multi_select_get(const Evas_Object *obj);
EAPI void elm_gengrid_bounce_set(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_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting);
EAPI void elm_gengrid_clear(Evas_Object *obj);
EAPI void *elm_gengrid_item_data_get(Elm_Gengrid_Item *item);
EAPI void elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned int *y);
EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected);
EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item);
EAPI const Evas_Object *elm_gengrid_item_object_get(Elm_Gengrid_Item *item);
EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj);
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:
*
* selected - User has selected a cell.
* unselected - User has unselected a cell.
* clicked - User has double-clicked a cell.
* realized - An evas object for a cell was built.
* selected - User has selected a item.
* unselected - User has unselected a item.
* clicked - User has double-clicked a item.
* realized - An evas object for a item was built.
* scroll - the content has been scrolled (moved).
* "scroll,drag,start" - dragging the contents around has started.
* "scroll,drat,stop" - dragging the contents around has stopped.
* drag - grid is being dragged.
* "drag,start,up" - grid has been dragged (not scrolled) up.
* "drag,start,down" - grid has been dragged (not scrolled) down.
* "drag,start,left" - grid has been dragged (not scrolled) left.
* "drag,start,rigth" - grid has been dragged (nto scrolled) right.
* "drag,stop" - grid is not being dragged.
* drag - Gengrid is being dragged.
* "drag,start,up" - Gengrid has been dragged (not scrolled) up.
* "drag,start,down" - Gengrid has been dragged (not scrolled) down.
* "drag,start,left" - Gengrid has been dragged (not scrolled) left.
* "drag,start,rigth" - Gengrid has been dragged (nto scrolled) right.
* "drag,stop" - Gengrid is not being dragged.
*/
EAPI Evas_Object *elm_clock_add(Evas_Object *parent);

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff