diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-03 17:13:03 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-03 17:13:03 +0200 |
commit | d531a4d89049cb34939ccde1ea3528b67e75642b (patch) | |
tree | 10bd331098f29464fb0876138ba46c06eea25ef3 | |
parent | ad461109c1475d7f4622dcd90a02ea8e61a015c8 (diff) | |
download | efl-d531a4d89049cb34939ccde1ea3528b67e75642b.tar.gz |
support grids in the example
-rw-r--r-- | src/examples/elementary/efl_ui_collection_view_example_1.c | 35 |
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)); |