rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=b2d0db5be836b121c5eb187ff3f1734b7ee5ade5

commit b2d0db5be836b121c5eb187ff3f1734b7ee5ade5
Author: Mykyta Biliavskyi <m.biliavs...@samsung.com>
Date:   Wed Jan 18 09:56:03 2017 +0200

    Image manager: update controls in images set images grid.
    
    Added buttons "+" and "-" into images set grid.
    Currently those buttons are dummy. Functionality will be implemented
    inside next commits.
---
 src/bin/ui/image_manager.c | 55 +++++++++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 15 deletions(-)

diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c
index ddf20f4..1eff3ae 100644
--- a/src/bin/ui/image_manager.c
+++ b/src/bin/ui/image_manager.c
@@ -65,6 +65,7 @@ struct _Image_Manager
    Evas_Object *menu;
    struct {
         Evas_Object *entry;
+        Evas_Object *grid;
         Evas_Object *box;
         Resource_Name_Validator *validator;
    } image_set;
@@ -213,20 +214,26 @@ _image_manager_image_set_grid_create(Evas_Object *parent,
    Resource2 *res = NULL;
    Image2 *image_res = NULL;
    Eina_List *l = NULL;
-   Evas_Object *images_set_grid = NULL;
+   Evas_Object *layout = NULL;
+   Evas_Object *button = NULL;
    Image_Item *image_set_item = NULL;
 
    assert(parent != NULL);
    assert(it != NULL);
 
-   images_set_grid = elm_gengrid_add(parent);
-   elm_gengrid_item_size_set(images_set_grid, ITEM_WIDTH, ITEM_HEIGHT);
-   elm_gengrid_align_set(images_set_grid, 0.0, 0.0);
-   elm_scroller_policy_set(images_set_grid, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
-   elm_gengrid_multi_select_mode_set(images_set_grid, 
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
-   elm_gengrid_select_mode_set(images_set_grid, ELM_OBJECT_SELECT_MODE_ALWAYS);
-   evas_object_size_hint_weight_set(mng.image, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(mng.image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   layout = elm_layout_add(parent);
+#ifdef HAVE_TIZEN
+   elm_layout_theme_set(layout, "layout", "manager", "internal");
+#else
+   elm_layout_theme_set(layout, "layout", "image_manager", "default");
+#endif
+   evas_object_del(mng.image_set.grid);
+   mng.image_set.grid = elm_gengrid_add(parent);
+   elm_gengrid_item_size_set(mng.image_set.grid, ITEM_WIDTH, ITEM_HEIGHT);
+   elm_gengrid_align_set(mng.image_set.grid, 0.0, 0.0);
+   elm_scroller_policy_set(mng.image_set.grid, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
+   elm_gengrid_multi_select_mode_set(mng.image_set.grid, 
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
+   elm_gengrid_select_mode_set(mng.image_set.grid, 
ELM_OBJECT_SELECT_MODE_ALWAYS);
 
    res = resource_manager_find(ap.project->RM.image_sets, it->image_name);
    int place = 0;
@@ -250,13 +257,24 @@ _image_manager_image_set_grid_create(Evas_Object *parent,
         edje_edit_image_set_image_min_get(ap.project->global_object, 
res->common.name, place,
                                           &image_set_item->set.min_w, 
&image_set_item->set.min_h);
         image_set_item->set.border_scale = 
edje_edit_image_set_image_border_scale_get(ap.project->global_object,
-                                                                               
   res->common.name,
-                                                                               
   place);
-        elm_gengrid_item_append(images_set_grid, gic, image_set_item, 
_grid_image_set_image_sel , (void *)image_set_item);
+                                                                               
       res->common.name,
+                                                                               
       place);
+        elm_gengrid_item_append(mng.image_set.grid, gic, image_set_item, 
_grid_image_set_image_sel , (void *)image_set_item);
         place++;
      }
 
-   return images_set_grid;
+   elm_object_part_content_set(layout, "elm.swallow.list", mng.image_set.grid);
+
+   button = elm_button_add(layout);
+   elm_object_style_set(button, "plus_managers");
+   elm_object_part_content_set(layout, "elm.swallow.btn_add", button);
+
+   button = elm_button_add(layout);
+   elm_object_style_set(button, "minus_managers");
+   elm_object_part_content_set(layout, "elm.swallow.btn_del", button);
+
+   evas_object_show(layout);
+   return layout;
 }
 /* icon fetching callback */
 static Evas_Object *
@@ -385,7 +403,12 @@ _grid_sel_cb(void *data __UNUSED__,
 #else
    to_del = elm_object_part_content_unset(mng.property_panes, "left");
 #endif
+   if (to_del == mng.image)
+     mng.image = NULL;
+   else if (to_del == mng.image_set.grid)
+     mng.image_set.grid = NULL;
    evas_object_del(to_del);
+
    if (selected_images_count == 1)
      {
         item = elm_object_item_data_get(eina_list_data_get(sel_list));
@@ -430,7 +453,7 @@ _image_manager_gengrid_item_data_set_create(Evas_Object 
*edje_edit_obj,
    assert(edje_edit_obj != NULL);
    assert(res != NULL);
 
-   Image_Item *it = (Image_Item *)mem_malloc(sizeof(Image_Item));
+   Image_Item *it = (Image_Item *)mem_calloc(1, sizeof(Image_Item));
    it->image_name = eina_stringshare_add(res->common.name);
    it->id = edje_edit_image_set_id_get(edje_edit_obj, it->image_name);
    it->comp_type = 0;
@@ -438,7 +461,8 @@ _image_manager_gengrid_item_data_set_create(Evas_Object 
*edje_edit_obj,
 
    Image2 *res_image = NULL;
    res_image = eina_list_data_get(res->common.uses___);
-   it->source = eina_stringshare_add(res_image->source);
+   if (res_image) it->source = eina_stringshare_add(res_image->source);
+   else it->source = eina_stringshare_printf("%s%s", ap.path.image_path, 
EFLETE_DUMMY_IMAGE_NAME);
    it->type = IMAGE_SET;
 
    img = _image_manager_image_create(ap.project->global_object, it);
@@ -520,6 +544,7 @@ _on_image_done(void *data __UNUSED__,
 
         it = (Image_Item *)mem_malloc(sizeof(Image_Item));
         it->image_name = eina_stringshare_add(file_name);
+        it->type = SINGLE_IMAGE;
         it->id = edje_edit_image_id_get(ap.project->global_object, 
it->image_name);
         elm_gengrid_item_append(mng.gengrid, gic, it, _grid_sel_cb, NULL);
         it->comp_type = 
edje_edit_image_compression_type_get(ap.project->global_object,

-- 


Reply via email to