hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=de81c39a0db8b67892e24075b06f9f90a4d7e1ca

commit de81c39a0db8b67892e24075b06f9f90a4d7e1ca
Author: ChunEon Park <[email protected]>
Date:   Wed Aug 13 18:20:42 2014 +0900

    live_edit: revise code
---
 data/themes/default/layout_common.edc |  3 +-
 src/bin/live_edit.c                   | 58 ++++++++++++++++-------------------
 src/bin/main.c                        |  1 -
 src/bin/template.c                    | 48 ++++++++++-------------------
 4 files changed, 44 insertions(+), 66 deletions(-)

diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index bc78420..2947030 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -1318,7 +1318,7 @@ group { name: "search_layout";
 #define REL_SIZE 70 35
 #define INFO_SIZE 130 50
 
-group { name: "viewer_layout_dragable_container";
+group { name: "live_edit_layout";
    parts {
       part { name: "bg";
          type: RECT;
@@ -1512,7 +1512,6 @@ group { name: "viewer_layout";
       }
       part { name: "elm.swallow.live_edit";
          type: SWALLOW;
-         repeat_events: 1;
          description { state: "default" 0.0;
          }
       }
diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index 62deb4e..1c777cd 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -48,18 +48,18 @@ static const char *LIVE_EDIT_NEW_PART_DATA_STR =
 static const char *LIVE_EDIT_NEW_PART_REL_STR = "   %.2f %.2f";
 
 static void
-live_edit_current_part_values_update(live_data *ld, Evas_Object *layout)
+cur_part_value_update(live_data *ld, Evas_Object *edje)
 {
    Evas_Coord x, y, w, h;
    Evas_Coord view_w, view_h;
 
    config_view_size_get(&view_w, &view_h);
-   edje_object_part_geometry_get(layout, "new_part_bg", &x, &y, &w, &h);
+   edje_object_part_geometry_get(edje, "new_part_bg", &x, &y, &w, &h);
 
-   ld->cur_part_data->rel1_x = (float)x/view_w;
-   ld->cur_part_data->rel1_y = (float)y/view_h;
-   ld->cur_part_data->rel2_x = (float)(x + w)/view_w;
-   ld->cur_part_data->rel2_y = (float)(y + h)/view_h;
+   ld->cur_part_data->rel1_x = ((float) x) / ((float) view_w);
+   ld->cur_part_data->rel1_y = ((float) y) / ((float) view_h);
+   ld->cur_part_data->rel2_x = ((float) (x + w)) / ((float) view_w);
+   ld->cur_part_data->rel2_y = ((float) (y + h)) / ((float) view_h);
    ld->cur_part_data->x = x;
    ld->cur_part_data->y = y;
    ld->cur_part_data->w = w;
@@ -67,11 +67,11 @@ live_edit_current_part_values_update(live_data *ld, 
Evas_Object *layout)
 }
 
 static Evas_Object *
-create_dragable_container(live_data *led)
+create_live_edit_layout()
 {
    Evas_Object *viewer_layout = edj_mgr_obj_get();
    Evas_Object *layout = elm_layout_add(viewer_layout);
-   elm_layout_file_set(layout, EDJE_PATH,  "viewer_layout_dragable_container");
+   elm_layout_file_set(layout, EDJE_PATH,  "live_edit_layout");
    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_object_part_content_set(viewer_layout, "elm.swallow.live_edit", layout);
@@ -79,11 +79,11 @@ create_dragable_container(live_data *led)
 }
 
 static void
-live_edit_part_info_update(live_data *ld)
+part_info_update(live_data *ld)
 {
    Evas_Object *layout = elm_layout_edje_get(ld->layout);
 
-   live_edit_current_part_values_update(ld, layout);
+   cur_part_value_update(ld, layout);
 
    char part_info[LIVE_EDIT_NEW_PART_DATA_MAX_LEN];
 
@@ -107,24 +107,19 @@ live_edit_part_info_update(live_data *ld)
 }
 
 static void
-live_edit_part_geometry_changed_cb(void *data,
+dragable_geometry_changed_cb(void *data,
                                    Evas_Object *obj EINA_UNUSED,
                                    const char *emission EINA_UNUSED,
                                    const char *source EINA_UNUSED)
 {
    //TODO: recalc on viewport size changed
-   live_edit_part_info_update(data);
+   live_data *ld = data;
+   part_info_update(ld);
 }
 
 static void
 live_edit_reset(live_data *ld)
 {
-   edje_object_signal_callback_del(elm_layout_edje_get(ld->layout),
-                                   "drag", "rel1.dragable",
-                                   live_edit_part_geometry_changed_cb);
-   edje_object_signal_callback_del(elm_layout_edje_get(ld->layout),
-                                   "drag", "rel2.dragable",
-                                   live_edit_part_geometry_changed_cb);
    ecore_event_handler_del(ld->key_down_handler);
    ld->key_down_handler = NULL;
 
@@ -133,7 +128,7 @@ live_edit_reset(live_data *ld)
 }
 
 static Eina_Bool
-drag_n_drop_mode_toggle_cb(void *data, int type EINA_UNUSED, void *ev)
+key_down_cb(void *data, int type EINA_UNUSED, void *ev)
 {
    Ecore_Event_Key *event = ev;
    live_data *ld = data;
@@ -155,22 +150,22 @@ drag_n_drop_mode_toggle_cb(void *data, int type 
EINA_UNUSED, void *ev)
 }
 
 static void
-setup_layout(live_data *ld)
+live_edit_layer_set(live_data *ld)
 {
    ld->key_down_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
-                                                  drag_n_drop_mode_toggle_cb,
+                                                  key_down_cb,
                                                   ld);
-   Evas_Object *layout = create_dragable_container(ld);
-   ld->layout = layout;
-   
+   Evas_Object *layout = create_live_edit_layout();
+
    edje_object_signal_callback_add(elm_layout_edje_get(layout),
                                    "drag", "rel1.dragable",
-                                   live_edit_part_geometry_changed_cb, ld);
+                                   dragable_geometry_changed_cb, ld);
    edje_object_signal_callback_add(elm_layout_edje_get(layout),
                                    "drag", "rel2.dragable",
-                                   live_edit_part_geometry_changed_cb, ld);
-   
-   live_edit_part_info_update(ld);
+                                   dragable_geometry_changed_cb, ld);
+   part_info_update(ld);
+
+   ld->layout = layout;
 }
 
 static void
@@ -179,8 +174,7 @@ menu_it_selected_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info)
    live_data *ld = data;
    const Elm_Object_Item *it = event_info;
    ld->cur_part_data->type = elm_menu_item_index_get(it);
-   setup_layout(ld);
-
+   live_edit_layer_set(ld);
    evas_object_del(ld->menu);
    ld->menu = NULL;
 }
@@ -279,8 +273,8 @@ void
 live_edit_term()
 {
    live_data *ld = g_ld;
-   if (ld->menu) evas_object_del(ld->menu);
-   if (ld->layout) live_edit_reset(ld);
+   evas_object_del(ld->menu);
+   live_edit_reset(ld);
    free(ld->cur_part_data);
    free(ld);
    g_ld = NULL;
diff --git a/src/bin/main.c b/src/bin/main.c
index 87ab9e1..33221cb 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -422,7 +422,6 @@ config_update_cb(void *data)
    base_statusbar_toggle(EINA_FALSE);
    edit_part_highlight_toggle(ad->ed, EINA_FALSE);
    view_dummy_toggle(VIEW_DATA, EINA_FALSE);
-   if (config_live_edit_get()) live_edit_toggle();
 
    //previous build was failed, Need to rebuild then reload the edj.
    if (edj_mgr_reload_need_get())
diff --git a/src/bin/template.c b/src/bin/template.c
index b535bc5..19f323b 100644
--- a/src/bin/template.c
+++ b/src/bin/template.c
@@ -26,21 +26,6 @@ template_part_first_line_get(void)
    return (const char *) buf;
 }
 
-static const char *
-template_part_relative_line_get(char rel_no, float relative_x, float 
relative_y)
-{
-   if ((rel_no != 1) && (rel_no != 2))
-     return NULL;
-
-   static char buf[40];
-   int i;
-
-   snprintf(buf, sizeof(buf), "      rel%d.relative: %.2f %.2f;<br/>",
-            rel_no, relative_x, relative_y);
-
-   return (const char *) buf;
-}
-
 void
 template_insert(edit_data *ed)
 {
@@ -244,28 +229,30 @@ internal_template_part_insert(edit_data *ed,
            break;
      }
 
-   // insert the first line of the part block with generated name.
+   //Insert first line of the part block with generated name.
    elm_entry_entry_insert(edit_entry, p);
    const char *first_line = template_part_first_line_get();
    elm_entry_entry_insert(edit_entry, first_line);
    edit_line_increase(ed, 1);
 
-   // insert the body of the part
+   //Insert part body
    int i;
    for (i = 0; i < line_cnt; i++)
      {
         elm_entry_entry_insert(edit_entry, p);
         elm_entry_entry_insert(edit_entry, t[i]);
-        //Incease line by (line count - 1)
-        edit_line_increase(ed, 1);
      }
 
-   // insert relatives
+   //Insert relatives
    elm_entry_entry_insert(edit_entry, p);
-   elm_entry_entry_insert(edit_entry, template_part_relative_line_get(1, 
rel1_x, rel1_y));
+
+   snprintf(buf, sizeof(buf), "      rel1.relative: %.2f %.2f;<br/>",rel1_x,
+            rel2_y);
+   elm_entry_entry_insert(edit_entry, buf);
    elm_entry_entry_insert(edit_entry, p);
-   elm_entry_entry_insert(edit_entry, template_part_relative_line_get(2, 
rel2_x, rel2_y));
-   edit_line_increase(ed, 2);
+   snprintf(buf, sizeof(buf), "      rel2.relative: %.2f %.2f;<br/>",rel1_x,
+            rel2_y);
+   elm_entry_entry_insert(edit_entry, buf);
 
    // insert the tale of the part that contains closing brackets
    t = (char **) &TEMPLATE_PART_TALE;
@@ -273,9 +260,11 @@ internal_template_part_insert(edit_data *ed,
      {
         elm_entry_entry_insert(edit_entry, p);
         elm_entry_entry_insert(edit_entry, t[i]);
-        edit_line_increase(ed, 1);
      }
 
+   //part name + line count + relatives + tail line
+   edit_line_increase(ed, (1 + line_cnt + 2 + TEMPLATE_PART_TALE_LINE_CNT));
+
    int cursor_pos2 = elm_entry_cursor_pos_get(edit_entry);
    edit_redoundo_region_push(ed, cursor_pos1, cursor_pos2);
 
@@ -288,15 +277,12 @@ internal_template_part_insert(edit_data *ed,
 }
 
 void
-template_live_edit_part_insert(edit_data *ed, Edje_Part_Type type,
-                               float rel1_x, float rel1_y,
-                               float rel2_x, float rel2_y,
+template_live_edit_part_insert(edit_data *ed, Edje_Part_Type type, float 
rel1_x,
+                               float rel1_y, float rel2_x, float rel2_y,
                                const Eina_Stringshare *group_name)
 {
-   internal_template_part_insert(ed, type,
-                                 rel1_x, rel1_y, rel2_x, rel2_y,
-                                 TEMPLATE_PART_INSERT_LIVE_EDIT,
-                                 group_name);
+   internal_template_part_insert(ed, type, rel1_x, rel1_y, rel2_x, rel2_y,
+                                 TEMPLATE_PART_INSERT_LIVE_EDIT, group_name);
 }
 
 void

-- 


Reply via email to