rimmed pushed a commit to branch master.

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

commit 8bb820a0f4a8c09fc62ae7d8898a5bf3a7f0043f
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Fri Jul 24 15:50:01 2015 +0300

    Live View Property: part rename implementation
    
    This is last function that is required for normal work.
    TODO:
    - Some documentation
---
 src/bin/ui/connector.c                |  9 ++++++---
 src/bin/ui/live_view/live_view_prop.c | 33 +++++++++++++++++++++++++++++++--
 src/bin/ui/workspace/ui_workspace.c   |  2 +-
 3 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/src/bin/ui/connector.c b/src/bin/ui/connector.c
index 05cb298..a486205 100644
--- a/src/bin/ui/connector.c
+++ b/src/bin/ui/connector.c
@@ -515,13 +515,16 @@ _add_style_dailog(void *data,
 static void
 _part_name_change(void *data, Evas_Object *obj __UNUSED__, void *event_info)
 {
-   const char *part = (const char *)event_info;
+   const char *new_name = (const char *)event_info;
    App_Data *ap = (App_Data *)data;
 
    assert(ap != NULL);
-   assert(part != NULL);
+   assert(new_name != NULL);
+
+   Part *part = ui_widget_list_selected_part_get(ui_block_widget_list_get(ap));
 
-   ui_widget_list_part_update(ui_block_widget_list_get(ap), part);
+   live_view_part_rename(ap->live_view, part, new_name);
+   ui_widget_list_part_update(ui_block_widget_list_get(ap), part->name);
 }
 
 static void
diff --git a/src/bin/ui/live_view/live_view_prop.c 
b/src/bin/ui/live_view/live_view_prop.c
index 72e468f..0111c8c 100644
--- a/src/bin/ui/live_view/live_view_prop.c
+++ b/src/bin/ui/live_view/live_view_prop.c
@@ -517,9 +517,38 @@ live_view_property_part_del(Evas_Object *property, Part 
*part)
 }
 
 Eina_Bool
-live_view_property_part_rename(Evas_Object *property __UNUSED__, Part *part 
__UNUSED__, Eina_Stringshare *new_name __UNUSED__)
+live_view_property_part_rename(Evas_Object *property, Part *part, 
Eina_Stringshare *new_name)
 {
-   printf("Signal: rename part name from [%s] to [%s] \n", part->name, 
new_name);
+   Evas_Object  *item_box = NULL, *check;
+   Eina_List *items_list, *l;
+   PROP_DATA_GET();
+   Eina_Stringshare *part_name;
+
+   if ((part->type != EDJE_PART_TYPE_TEXT) &&
+       (part->type != EDJE_PART_TYPE_TEXTBLOCK) &&
+       (part->type != EDJE_PART_TYPE_SWALLOW))
+     return false;
+
+   if (part->type ==  EDJE_PART_TYPE_SWALLOW)
+     item_box = pd->prop_swallow.swallows;
+   else if ((part->type ==  EDJE_PART_TYPE_TEXT) ||
+            (part->type ==  EDJE_PART_TYPE_TEXTBLOCK))
+     item_box = pd->prop_text.texts;
+
+   /* Now lets restack this.
+      We need to find moving check and check we need to move above */
+   assert(item_box != NULL);
+   items_list = elm_box_children_get(item_box);
+   EINA_LIST_FOREACH(items_list, l, check)
+     {
+        part_name = elm_object_part_text_get(check, NULL);
+        if (!strcmp(part_name, part->name))
+          {
+             elm_object_part_text_set(check, NULL, new_name);
+             break;
+          }
+     }
+
    return true;
 }
 
diff --git a/src/bin/ui/workspace/ui_workspace.c 
b/src/bin/ui/workspace/ui_workspace.c
index ee0e135..a95951d 100644
--- a/src/bin/ui/workspace/ui_workspace.c
+++ b/src/bin/ui/workspace/ui_workspace.c
@@ -1342,7 +1342,7 @@ workspace_edit_object_part_rename(Evas_Object *obj,
 
    ret = groupedit_edit_object_part_rename(sd->groupedit, old_name, new_name);
    if (ret)
-     evas_object_smart_callback_call(obj, "part,name,changed", (void 
*)old_name);
+     evas_object_smart_callback_call(obj, "part,name,changed", (void 
*)new_name);
    return ret;
 }
 

-- 


Reply via email to