summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-09-03 17:13:03 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-09-03 17:13:03 +0200
commitd531a4d89049cb34939ccde1ea3528b67e75642b (patch)
tree10bd331098f29464fb0876138ba46c06eea25ef3
parentad461109c1475d7f4622dcd90a02ea8e61a015c8 (diff)
downloadefl-d531a4d89049cb34939ccde1ea3528b67e75642b.tar.gz
support grids in the example
-rw-r--r--src/examples/elementary/efl_ui_collection_view_example_1.c35
1 files changed, 26 insertions, 9 deletions
diff --git a/src/examples/elementary/efl_ui_collection_view_example_1.c b/src/examples/elementary/efl_ui_collection_view_example_1.c
index 5e856c3fef..ba564188bf 100644
--- a/src/examples/elementary/efl_ui_collection_view_example_1.c
+++ b/src/examples/elementary/efl_ui_collection_view_example_1.c
@@ -45,7 +45,6 @@ static Efl_Model*
_make_model(Evas_Object *win)
{
Eina_Value vtext;
- Eina_Value w, h;
Efl_Generic_Model *model, *child;
unsigned int i, s;
char buf[256];
@@ -53,11 +52,6 @@ _make_model(Evas_Object *win)
model = efl_add(EFL_GENERIC_MODEL_CLASS, win);
eina_value_setup(&vtext, EINA_VALUE_TYPE_STRING);
- w = eina_value_int_init(91);
- h = eina_value_int_init(18);
- efl_model_property_set(model, "item.width", &w);
- efl_model_property_set(model, "item.height", &h);
-
for (i = 0; i < (NUM_ITEMS); i++)
{
s = i%2;
@@ -80,6 +74,9 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
Evas_Object *win, *li;
Eo *model;
Efl_Select_Model *selmodel;
+ Eina_Value w, h;
+ Eo *position_manager;
+ const Efl_Class *item_class;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC));
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
@@ -87,19 +84,39 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
elm_win_autodel_set(win, EINA_TRUE);
model = _make_model(win);
+
+ if (argc > 1 && eina_streq(argv[1], "grid"))
+ {
+ w = eina_value_int_init(50);
+ h = eina_value_int_init(50);
+ position_manager = efl_new(EFL_UI_POSITION_MANAGER_GRID_CLASS);
+ item_class = EFL_UI_GRID_DEFAULT_ITEM_CLASS;
+ }
+ else
+ {
+ w = eina_value_int_init(91);
+ h = eina_value_int_init(18);
+ position_manager = efl_new(EFL_UI_POSITION_MANAGER_LIST_CLASS);
+ item_class = EFL_UI_LIST_DEFAULT_ITEM_CLASS;
+ }
+
+
+ efl_model_property_set(model, "item.width", &w);
+ efl_model_property_set(model, "item.height", &h);
+
selmodel = efl_add(EFL_SELECT_MODEL_CLASS, efl_main_loop_get()
, efl_ui_view_model_set(efl_added, model)
);
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
- efl_ui_widget_factory_item_class_set(factory, EFL_UI_LIST_DEFAULT_ITEM_CLASS);
+ efl_ui_widget_factory_item_class_set(factory, item_class);
efl_ui_property_bind(factory, "signal/efl,state,%v", "odd_style");
efl_ui_property_bind(factory, "signal/efl,state,%{selected;unselected}", "selected");
efl_ui_property_bind(factory, "text", "title");
- Eo *lst = efl_new(EFL_UI_POSITION_MANAGER_LIST_CLASS);
+
li = efl_add(EFL_UI_COLLECTION_VIEW_CLASS, win,
- efl_ui_collection_view_position_manager_set(efl_added, lst),
+ efl_ui_collection_view_position_manager_set(efl_added, position_manager),
efl_ui_view_model_set(efl_added, selmodel),
efl_ui_collection_view_factory_set(efl_added, factory));