hermet pushed a commit to branch master.

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

commit f6fe9b7955086d9386266271b6f2816af6ad53e5
Author: ChunEon Park <her...@hermet.pe.kr>
Date:   Mon Aug 11 16:32:35 2014 +0900

    live_edit: revise the code
---
 README                                 |   1 +
 data/themes/default/images/Makefile.am |   3 +-
 data/themes/default/layout_common.edc  |  11 +-
 src/bin/config_data.c                  |   5 +-
 src/bin/edc_editor.c                   |  13 ++-
 src/bin/edc_parser.c                   |  67 +++++++-----
 src/bin/edj_viewer.c                   |   9 +-
 src/bin/live_edit.c                    | 189 +++++++++++++++------------------
 src/bin/main.c                         |  24 ++---
 src/bin/setting.c                      |   9 --
 src/bin/template.c                     |   9 +-
 src/bin/tools.c                        |  11 +-
 src/include/common.h                   |   1 -
 src/include/edc_parser.h               |   4 +-
 src/include/edj_viewer.h               |   1 -
 src/include/live_edit.h                |   6 +-
 src/include/tools.h                    |   2 +-
 17 files changed, 164 insertions(+), 201 deletions(-)

diff --git a/README b/README
index 79ef040..c42b403 100644
--- a/README
+++ b/README
@@ -49,6 +49,7 @@ Ctrl+Right = On/Off Full Live View
 Ctrl+Top = On/Off Full Console View
 Ctrl+Bottom = On/Off Full Editors View
 Ctrl+T = Insert Defaut Template Code
+Ctrl+M = On/Off Live View Edit Mode
 Ctrl+Mouse Wheel Up = View Scale Up / Font Size Up
 Ctrl+Mouse Wheel Down = View Scale Down / Font Size Down
 Ctrl+Shift+B = Insert Part Template Code: Textblock
diff --git a/data/themes/default/images/Makefile.am 
b/data/themes/default/images/Makefile.am
index fea13cb..56729a6 100644
--- a/data/themes/default/images/Makefile.am
+++ b/data/themes/default/images/Makefile.am
@@ -55,4 +55,5 @@ EXTRA_DIST = \
    goto.png \
    downlight_glow_left.png \
    downlight_glow_right.png \
-       alarm_highlight.png
+   alarm_highlight.png \
+   disabler.png
diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index 34fa19b..aa84b85 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -2140,19 +2140,20 @@ group { name: "edit_layout";
             color: 0 0 0 0;
          }
          description { state: "disabled" 0.0;
-            color: 0 0 0 160;
+            color: 0 0 0 75;
          }
       }
       part { name: "disabler_decorations";
-         mouse_events: 0;
          description { state: "default" 0.0;
             image.normal: "disabler.png";
             fill.type: TILE;
             color: 155 155 155 0;
+            visible: 0;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
             color: 55 55 77 200;
+            visible: 1;
          }
       }
    }
@@ -2173,19 +2174,17 @@ group { name: "edit_layout";
    programs {
       program { name: "layout_disable";
          signal: "elm,state,disabled";
-         source: "editor";
          action: STATE_SET "disabled" 0.0;
          target: "disabler_bg";
          target: "disabler_decorations";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.125;
       }
       program { name: "layout_enable";
          signal: "elm,state,enabled";
-         source: "editor";
          action: STATE_SET "default" 0.0;
          target: "disabler_bg";
          target: "disabler_decorations";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.125;
       }
    }
 }
diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 8663021..2fae866 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -623,13 +623,12 @@ config_live_edit_get(void)
 }
 
 void
-config_live_edit_set(Eina_Bool enabled)
+config_live_edit_set(Eina_Bool live_edit)
 {
    config_data *cd = g_cd;
-   cd->live_edit = enabled;
+   cd->live_edit = live_edit;
 }
 
-
 void
 config_auto_complete_set(Eina_Bool auto_complete)
 {
diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c
index 6d4d938..aa5cc52 100644
--- a/src/bin/edc_editor.c
+++ b/src/bin/edc_editor.c
@@ -1188,14 +1188,13 @@ edit_redoundo_region_push(edit_data *ed, int 
cursor_pos1, int cursor_pos2)
 }
 
 void
-edit_disabled_set(edit_data *ed, Eina_Bool disable)
+edit_disabled_set(edit_data *ed, Eina_Bool disabled)
 {
-   elm_object_disabled_set(ed->layout, disable);
-   elm_object_focus_allow_set(ed->layout, disable);
-   evas_object_freeze_events_set (ed->layout, disable);
+   elm_object_disabled_set(ed->layout, disabled);
+   elm_object_focus_allow_set(ed->layout, disabled);
 
-   if (disable)
-     elm_object_signal_emit(ed->layout, "elm,state,disabled", "editor");
+   if (disabled)
+     elm_object_signal_emit(ed->layout, "elm,state,disabled", "");
    else
-     elm_object_signal_emit(ed->layout, "elm,state,enabled", "editor");
+     elm_object_signal_emit(ed->layout, "elm,state,enabled", "");
 }
diff --git a/src/bin/edc_parser.c b/src/bin/edc_parser.c
index 11518df..4b8249f 100644
--- a/src/bin/edc_parser.c
+++ b/src/bin/edc_parser.c
@@ -936,10 +936,8 @@ end_of_parts_block_find(const char *pos)
    while (*pos)
      {
         if (*pos == '{') level++;
-        else if (*pos == '}')
-          {
-             level--;
-          }
+        else if (*pos == '}') level--;
+
         if (!level) return --pos;
         pos++;
      }
@@ -949,11 +947,12 @@ end_of_parts_block_find(const char *pos)
 static const char *
 group_beginning_pos_get(const char* source, const char *group_name)
 {
-   const char* group_block_name = "group";
+   const char* GROUP_SYNTAX_NAME = "group";
    const int quot_len = QUOT_LEN;
    const char *quot = QUOT;
 
-   const char *pos = strstr(source, group_block_name);
+   const char *pos = strstr(source, GROUP_SYNTAX_NAME);
+
    //TODO: Process comments and quotes.
    while (pos)
    {
@@ -963,17 +962,17 @@ group_beginning_pos_get(const char* source, const char 
*group_name)
       if (!pos) return NULL;
       if (!strncmp(name, group_name, strlen(group_name)))
         return pos;
-      pos = strstr(++pos,  group_block_name);
+      pos = strstr(++pos,  GROUP_SYNTAX_NAME);
    }
 
    return NULL;
 }
 
-Evas_Coord
-parser_end_of_parts_block_pos_get(const Evas_Object *entry, const char 
*group_name)
+int
+parser_end_of_parts_block_pos_get(const Evas_Object *entry,
+                                  const char *group_name)
 {
-   if (!group_name)
-        return -1;
+   if (!group_name) return -1;
 
    const char *text = elm_entry_entry_get(entry);
    if (!text) return -1;
@@ -982,45 +981,61 @@ parser_end_of_parts_block_pos_get(const Evas_Object 
*entry, const char *group_na
    if (!utf8) return -1;
 
    const char *pos = group_beginning_pos_get(utf8, group_name);
-   if (!pos) return -1;
+   if (!pos)
+     {
+        free(utf8);
+        return -1;
+     }
+
    pos = end_of_parts_block_find(++pos);
-   if (pos) return pos - utf8 + 1;
-   return -1;
+   if (!pos)
+     {
+        free(utf8);
+        return - 1;
+     }
+
+   int ret = (pos - utf8) + 1;
+
+   free(utf8);
+
+   return ret;
 }
 
 Eina_Bool
-parser_images_pos_get(const Evas_Object *entry, Evas_Coord *res_position)
+parser_images_pos_get(const Evas_Object *entry, int *ret)
 {
-   if (!res_position) return EINA_FALSE;
+   const char* GROUP_SYNTAX_NAME = "group";
+   const char* IMAGES_BLOCK_NAME = "images";
+   const int IMAGES_BLOCK_NAME_LEN = 6; //strlen of "images"
+
+   if (!ret) return EINA_FALSE;
 
-   const char* group_block_name = "group";
-   const char* images_block_name = "images";
-   Evas_Coord images_block_name_len = 6; //strlen of "images"
+   *ret = -1;
 
-   *res_position = -1;
    const char *text = elm_entry_entry_get(entry);
    if (!text) return EINA_FALSE;
 
    char *utf8 = elm_entry_markup_to_utf8(text);
    if (!utf8) return EINA_FALSE;
 
-   const char *pos = strstr(utf8, images_block_name);
+   const char *pos = strstr(utf8, IMAGES_BLOCK_NAME);
    if (pos)
      {
-        // TODO: Remove this check and process lines of the form 
"images.image: "logo.png" COMP;"
-        if (*(pos + images_block_name_len + 1) == '.')
+        /* TODO: Remove this check and process lines of the form
+           "images.image: "logo.png" COMP;" */
+        if (*(pos + IMAGES_BLOCK_NAME_LEN + 1) == '.')
           return EINA_FALSE;
 
         pos = strstr(pos, "{\n");
         if (!pos) return EINA_FALSE;
 
-        *res_position = pos - utf8 + 2;
+        *ret = pos - utf8 + 2;
         return EINA_TRUE;
      }
-   pos = strstr(utf8, group_block_name);
+   pos = strstr(utf8, GROUP_SYNTAX_NAME);
    if (pos)
      {
-        *res_position = pos - utf8;
+        *ret = pos - utf8;
         return EINA_FALSE;
      }
    return EINA_FALSE;
diff --git a/src/bin/edj_viewer.c b/src/bin/edj_viewer.c
index 9f3e8f8..3ff9fd7 100644
--- a/src/bin/edj_viewer.c
+++ b/src/bin/edj_viewer.c
@@ -10,6 +10,7 @@ struct viewer_s
    Evas_Object *parent;
    Evas_Object *layout;
    Evas_Object *scroller;
+   Evas_Object *event_rect;
 
    Evas_Object *part_obj;
    Evas_Object *part_highlight;
@@ -199,6 +200,8 @@ event_layer_set(view_data *vd)
                                   layout_del_cb, rect);
    evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_MOVE,
                                   rect_mouse_move_cb, vd);
+
+   vd->event_rect = rect;
 }
 
 static Evas_Object *
@@ -318,12 +321,6 @@ view_obj_get(view_data *vd)
    return vd->scroller;
 }
 
-Evas_Object *
-view_layout_get(view_data *vd)
-{
-   return vd->layout;
-}
-
 void
 view_program_run(view_data *vd, const char *program)
 {
diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index 7917a80..631235c 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -1,156 +1,137 @@
 #include <Elementary.h>
 #include "common.h"
 
-struct live_editor_s
+typedef struct menu_data_s
+{
+   const char *name;
+   int type;
+} menu_data;
+
+typedef struct live_editor_s
 {
    Evas_Object *menu;
    edit_data *ed;
-};
+} live_data;
 
-#define LIVE_EDIT_ITEMS_NUM 6
-static const char *LIVE_EDIT_MENU_LABELS[LIVE_EDIT_ITEMS_NUM] =
+const int MENU_ITEMS_NUM = 6;
+
+static const menu_data MENU_ITEMS[] =
 {
-   "RECT",
-   "IMAGE",
-   "SPACER",
-   "SWALLOW",
-   "TEXT",
-   "TEXTBLOCK"
+     {"RECT", EDJE_PART_TYPE_RECTANGLE},
+     {"IMAGE", EDJE_PART_TYPE_IMAGE},
+     {"SPACER", EDJE_PART_TYPE_SPACER},
+     {"SWALLOW", EDJE_PART_TYPE_SWALLOW},
+     {"TEXT", EDJE_PART_TYPE_TEXT},
+     {"TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK}
 };
 
-static Eina_Bool
-live_edit_part_insert(live_edit_data *led, unsigned int part_type,
-                      Eina_Stringshare *group_name)
-{
-   Edje_Part_Type type;
-   switch (part_type)
-     {
-      case 0:
-        {
-           type = EDJE_PART_TYPE_RECTANGLE;
-           break;
-        }
-      case 1:
-        {
-           type = EDJE_PART_TYPE_IMAGE;
-           break;
-        }
-      case 2:
-        {
-           type = EDJE_PART_TYPE_SPACER;
-           break;
-        }
-      case 3:
-        {
-           type = EDJE_PART_TYPE_SWALLOW;
-           break;
-        }
-      case 4:
-        {
-           type = EDJE_PART_TYPE_TEXT;
-           break;
-        }
-      case 5:
-        {
-           type = EDJE_PART_TYPE_TEXTBLOCK;
-           break;
-        }
-   }
-   template_live_edit_part_insert(led->ed, type, group_name);
-   return EINA_TRUE;
-}
+static live_data *g_ld = NULL;
 
-live_edit_data*
-live_edit_init(edit_data *ed)
+static void
+menu_it_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
 {
-   live_edit_data *led = calloc(1, sizeof(live_edit_data));
-   if (!led)
-     {
-        EINA_LOG_ERR("Failed to allocate Memory!");
-        return NULL;
-     }
-   led->ed = ed;
-
-   return led;
+   live_data *ld = data;
+   const Elm_Object_Item *it = event_info;
+   unsigned int idx = elm_menu_item_index_get(it);
+   template_live_edit_part_insert(ld->ed, MENU_ITEMS[idx].type,
+                                  view_group_name_get(VIEW_DATA));
+   evas_object_del(ld->menu);
+   ld->menu = NULL;
 }
 
 static void
-live_edit_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info)
+menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
 {
-   live_edit_data *led = data;
-   const Elm_Object_Item *it = event_info;
-   unsigned int part_type = elm_menu_item_index_get(it);
-   live_edit_part_insert(led, part_type, view_group_name_get(VIEW_DATA));
+   live_data *ld = data;
+   evas_object_del(ld->menu);
+   ld->menu = NULL;
 }
 
 static Evas_Object *
-live_edit_menu_create(Evas_Object *parent, live_edit_data *led)
+menu_create(Evas_Object *parent, live_data *ld)
 {
-   long int i;
+   int i;
    Evas_Object* icon;
    Elm_Object_Item *it;
-
    Evas_Object *menu = elm_menu_add(parent);
 
-   for (i = 0; i < LIVE_EDIT_ITEMS_NUM; i++)
+   for (i = 0; i < MENU_ITEMS_NUM; i++)
      {
-        it = elm_menu_item_add(menu, NULL, NULL,
-                               LIVE_EDIT_MENU_LABELS[i],
-                               live_edit_menu_item_selected_cb, led);
+        it = elm_menu_item_add(menu, NULL, NULL, MENU_ITEMS[i].name,
+                               menu_it_selected_cb, ld);
         icon = elm_image_add(menu);
-        elm_image_file_set(icon, EDJE_PATH, LIVE_EDIT_MENU_LABELS[i]);
+        elm_image_file_set(icon, EDJE_PATH, MENU_ITEMS[i].name);
         elm_object_item_part_content_set(it, NULL, icon);
      }
-   
+
+   evas_object_smart_callback_add(menu, "dismissed", menu_dismissed_cb, ld);
+
    return menu;
 }
 
-
 static void
-live_edit_menu_show_cb(void *data, Evas *e EINA_UNUSED,
-                       Evas_Object *obj EINA_UNUSED, void *event_info)
+layout_mouse_up_cb(void *data, Evas *e EINA_UNUSED,
+                   Evas_Object *obj EINA_UNUSED, void *event_info)
 {
    Evas_Event_Mouse_Up *ev = event_info;
-   live_edit_data *led = data;
+   live_data *ld = data;
 
    // Check if the right button is pressed
    if (ev->button != 3) return;
 
-   if (!led->menu)
-     led->menu = live_edit_menu_create(obj, led);
+   ld->menu = menu_create(obj, ld);
 
-   elm_menu_move(led->menu, ev->canvas.x, ev->canvas.y);
-   evas_object_show(led->menu);
+   elm_menu_move(ld->menu, ev->canvas.x, ev->canvas.y);
+   evas_object_show(ld->menu);
 }
 
 void
-live_edit_toggle(live_edit_data* led, Eina_Bool is_on)
+live_edit_toggle(void)
 {
-   if (VIEW_DATA)
+   live_data *ld = g_ld;
+   Eina_Bool on = !config_live_edit_get();
+
+   Evas_Object *event_obj = view_obj_get(VIEW_DATA);
+   if (!event_obj) return;
+
+   if (on)
      {
-        Evas_Object *view_layout = view_layout_get(VIEW_DATA);
-
-        if (is_on)
-          evas_object_event_callback_add(view_layout, EVAS_CALLBACK_MOUSE_UP,
-                                         live_edit_menu_show_cb, led);
-        else
-          evas_object_event_callback_del(view_layout, EVAS_CALLBACK_MOUSE_UP,
-                                         live_edit_menu_show_cb);
+        evas_object_event_callback_add(event_obj, EVAS_CALLBACK_MOUSE_UP,
+                                       layout_mouse_up_cb, ld);
      }
-
-   edit_disabled_set(led->ed, is_on);
-   if (is_on)
-     stats_info_msg_update("Enabled Live View Edit Mode");
    else
-     stats_info_msg_update("Disabled Live View Edit Mode");
+     {
+        evas_object_event_callback_del(event_obj, EVAS_CALLBACK_MOUSE_UP,
+                                       layout_mouse_up_cb);
+     }
+
+   edit_disabled_set(ld->ed, on);
+
+   if (on) stats_info_msg_update("Enabled Live View Edit Mode.");
+   else stats_info_msg_update("Disabled Live View Edit Mode.");
+
+   config_live_edit_set(on);
 }
 
 void
-live_edit_term(live_edit_data* led)
+live_edit_init(edit_data *ed)
 {
-   if (led->menu)
-     evas_object_del(led->menu);
-   free(led);
+   live_data *ld = calloc(1, sizeof(live_data));
+   if (!ld)
+     {
+        EINA_LOG_ERR("Faild to allocate Memory!");
+        return;
+     }
+   g_ld = ld;
+
+   ld->ed = ed;
 }
 
-#undef LIVE_EDIT_ITEMS_NUM
+void
+live_edit_term()
+{
+   live_data *ld = g_ld;
+   if (ld->menu) evas_object_del(ld->menu);
+   free(ld);
+   g_ld = NULL;
+}
diff --git a/src/bin/main.c b/src/bin/main.c
index 485eb96..862c86b 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -6,7 +6,6 @@
 typedef struct app_s
 {
    edit_data *ed;
-   live_edit_data *led;
 
    Eio_Monitor *edc_monitor;
 
@@ -193,9 +192,7 @@ ctrl_func(app_data *ad, const char *key)
    //Live Edit
    if (!strcmp(key, "m") || !strcmp(key, "M"))
      {
-        Eina_Bool is_on = !config_live_edit_get();
-        config_live_edit_set(is_on);
-        live_edit_toggle(ad->led, is_on);
+        live_edit_toggle();
         return ECORE_CALLBACK_DONE;
      }
 
@@ -393,14 +390,6 @@ edc_edit_set(app_data *ad)
 }
 
 static void
-live_edit_set(app_data *ad)
-{
-   ad->led = live_edit_init(ad->ed);
-   Eina_Bool is_on = config_live_edit_get();
-   live_edit_toggle(ad->led, is_on);
-}
-
-static void
 statusbar_set()
 {
    Evas_Object *obj = stats_init(base_layout_get());
@@ -422,7 +411,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);
-   live_edit_toggle(ad->led, config_live_edit_get());
 
    //previous build was failed, Need to rebuild then reload the edj.
    if (edj_mgr_reload_need_get())
@@ -545,9 +533,9 @@ edj_mgr_set()
 }
 
 static void
-tools_set(edit_data *ed, live_edit_data *led)
+tools_set(edit_data *ed)
 {
-   Evas_Object *tools = tools_create(base_layout_get(), ed, led);
+   Evas_Object *tools = tools_create(base_layout_get(), ed);
    base_tools_set(tools);
 }
 
@@ -572,10 +560,10 @@ init(app_data *ad, int argc, char **argv)
    edj_mgr_set();
    statusbar_set();
    edc_edit_set(ad);
-   live_edit_set(ad);
    edc_view_set(stats_group_name_get());
    menu_init(ad->ed);
-   tools_set(ad->ed, ad->led);
+   tools_set(ad->ed);
+   live_edit_init(ad->ed);
 
    base_gui_show();
 
@@ -593,7 +581,7 @@ term(app_data *ad)
    build_term();
    menu_term();
    edit_term(ad->ed);
-   live_edit_term(ad->led);
+   live_edit_term();
    edj_mgr_term();
    stats_term();
    base_gui_term();
diff --git a/src/bin/setting.c b/src/bin/setting.c
index e8a7364..06aa754 100644
--- a/src/bin/setting.c
+++ b/src/bin/setting.c
@@ -19,7 +19,6 @@ struct setting_s
    Evas_Object *toggle_swallow;
    Evas_Object *toggle_indent;
    Evas_Object *toggle_autocomp;
-   Evas_Object *toggle_live_edit;
 };
 
 typedef struct setting_s setting_data;
@@ -116,7 +115,6 @@ setting_apply_btn_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    config_dummy_swallow_set(elm_check_state_get(sd->toggle_swallow));
    config_auto_indent_set(elm_check_state_get(sd->toggle_indent));
    config_auto_complete_set(elm_check_state_get(sd->toggle_autocomp));
-   config_live_edit_set(elm_check_state_get(sd->toggle_live_edit));
 
    config_apply();
 
@@ -156,7 +154,6 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
    elm_check_state_set(sd->toggle_swallow, config_dummy_swallow_get());
    elm_check_state_set(sd->toggle_indent, config_auto_indent_get());
    elm_check_state_set(sd->toggle_autocomp, config_auto_complete_get());
-   elm_check_state_set(sd->toggle_live_edit, config_live_edit_get());
 }
 
 static Evas_Object *
@@ -354,11 +351,6 @@ setting_open(void)
    Evas_Object *toggle_autocomp = toggle_create(box, "Auto Completion",
                                   config_auto_complete_get());
    elm_box_pack_end(box, toggle_autocomp);
-   
-   //Toggle (Live Edit)
-   Evas_Object *toggle_live_edit = toggle_create(box, "Live Edit",
-                                   config_live_edit_get());
-   elm_box_pack_end(box, toggle_live_edit);
 
    Evas_Object *btn;
 
@@ -396,7 +388,6 @@ setting_open(void)
    sd->toggle_swallow = toggle_swallow;
    sd->toggle_indent = toggle_indent;
    sd->toggle_autocomp = toggle_autocomp;
-   sd->toggle_live_edit = toggle_live_edit;
 
    menu_activate_request();
 }
diff --git a/src/bin/template.c b/src/bin/template.c
index ae549aa..84ba41e 100644
--- a/src/bin/template.c
+++ b/src/bin/template.c
@@ -14,12 +14,11 @@ static const char *
 template_part_first_line_get(void)
 {
    static char buf[40];
-   char name[9];
+   char name[8];
    int i;
 
    for (i = 0; i < 8; i++)
      name[i] = NAME_SEED[(rand() % NAME_SEED_LEN)];
-   name[8] = '\0';
 
    snprintf(buf, sizeof(buf), "part { name: \"%s\";<br/>", name);
 
@@ -257,8 +256,7 @@ internal_template_part_insert(edit_data *ed,
 }
 
 void
-template_live_edit_part_insert(edit_data *ed,
-                               Edje_Part_Type type,
+template_live_edit_part_insert(edit_data *ed, Edje_Part_Type type,
                                const Eina_Stringshare *group_name)
 {
    internal_template_part_insert(ed, type, TEMPLATE_PART_INSERT_LIVE_EDIT,
@@ -266,8 +264,7 @@ template_live_edit_part_insert(edit_data *ed,
 }
 
 void
-template_part_insert(edit_data *ed,
-                     Edje_Part_Type type)
+template_part_insert(edit_data *ed, Edje_Part_Type type)
 {
    internal_template_part_insert(ed, type,
                                  TEMPLATE_PART_INSERT_DEFAULT, NULL);
diff --git a/src/bin/tools.c b/src/bin/tools.c
index 8359621..cef7992 100644
--- a/src/bin/tools.c
+++ b/src/bin/tools.c
@@ -103,15 +103,12 @@ console_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
 static void
 live_edit_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
 {
-   live_edit_data *led = data;
-   Eina_Bool is_on = !config_live_edit_get();
-   config_live_edit_set(is_on);
-   live_edit_toggle(led, is_on);
+   live_edit_toggle();
    item_unselect((Elm_Object_Item *)event_info);
 }
 
 Evas_Object *
-tools_create(Evas_Object *parent, edit_data *ed, live_edit_data *led)
+tools_create(Evas_Object *parent, edit_data *ed)
 {
    Evas_Object *toolbar = elm_toolbar_add(parent);
    elm_object_style_set(toolbar, "item_horizontal");
@@ -136,6 +133,8 @@ tools_create(Evas_Object *parent, edit_data *ed, 
live_edit_data *led)
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "highlight");
    it = elm_toolbar_item_append(toolbar, NULL, "Swallow", swallow_cb, NULL);
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "swallow_s");
+   it = elm_toolbar_item_append(toolbar, NULL, "LiveEdit", live_edit_cb, NULL);
+   elm_toolbar_item_icon_file_set(it, EDJE_PATH, "live-edit");
    it = elm_toolbar_item_append(toolbar, NULL, "Lines", lines_cb, ed);
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "lines");
    it = elm_toolbar_item_append(toolbar, NULL, "Find", find_cb, ed);
@@ -146,8 +145,6 @@ tools_create(Evas_Object *parent, edit_data *ed, 
live_edit_data *led)
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "status");
    it = elm_toolbar_item_append(toolbar, NULL, "Console", console_cb, NULL);
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "console");
-   it = elm_toolbar_item_append(toolbar, NULL, "LiveEdit", live_edit_cb, led);
-   elm_toolbar_item_icon_file_set(it, EDJE_PATH, "live-edit");
 
    return toolbar;
 }
diff --git a/src/include/common.h b/src/include/common.h
index b4acc75..387dd2c 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -4,7 +4,6 @@
 typedef struct viewer_s view_data;
 typedef struct statusbar_s stats_data;
 typedef struct editor_s edit_data;
-typedef struct live_editor_s live_edit_data;
 typedef struct syntax_color_s color_data;
 typedef struct parser_s parser_data;
 typedef struct attr_value_s attr_value;
diff --git a/src/include/edc_parser.h b/src/include/edc_parser.h
index 0ee8684..ab5d1d0 100644
--- a/src/include/edc_parser.h
+++ b/src/include/edc_parser.h
@@ -19,5 +19,5 @@ char *parser_name_get(parser_data *pd, const char *cur);
 void parser_cancel(parser_data *pd);
 int parser_line_cnt_get(parser_data *pd EINA_UNUSED, const char *src);
 Eina_List *parser_states_filtered_name_get(Eina_List *states);
-Evas_Coord parser_end_of_parts_block_pos_get(const Evas_Object *entry, const 
char *group_name);
-Eina_Bool parser_images_pos_get(const Evas_Object *entry, Evas_Coord 
*res_position);
+int parser_end_of_parts_block_pos_get(const Evas_Object *entry, const char 
*group_name);
+Eina_Bool parser_images_pos_get(const Evas_Object *entry, int *pos);
diff --git a/src/include/edj_viewer.h b/src/include/edj_viewer.h
index 023b96b..8c118e0 100644
--- a/src/include/edj_viewer.h
+++ b/src/include/edj_viewer.h
@@ -2,7 +2,6 @@ view_data * view_init(Evas_Object *parent, const char *group,
                       void (*del_cb)(void *data), void *data);
 void view_term(view_data *vd);
 Evas_Object *view_obj_get(view_data *vd);
-Evas_Object *view_layout_get(view_data *vd);
 void view_new(view_data *vd, const char *group);
 void view_part_highlight_set(view_data *vd, const char *part_name);
 void view_dummy_toggle(view_data *vd, Eina_Bool msg);
diff --git a/src/include/live_edit.h b/src/include/live_edit.h
index 51b1037..1a09be0 100644
--- a/src/include/live_edit.h
+++ b/src/include/live_edit.h
@@ -1,3 +1,3 @@
-live_edit_data* live_edit_init(edit_data *ed);
-void live_edit_toggle(live_edit_data* led, Eina_Bool is_on);
-void live_edit_term(live_edit_data* led);
+void live_edit_init(edit_data *ed);
+void live_edit_term(void);
+void live_edit_toggle(void);
diff --git a/src/include/tools.h b/src/include/tools.h
index 9a146ee..5dce118 100644
--- a/src/include/tools.h
+++ b/src/include/tools.h
@@ -1,2 +1,2 @@
-Evas_Object *tools_create(Evas_Object *parent, edit_data *ed, live_edit_data 
*led);
+Evas_Object *tools_create(Evas_Object *parent, edit_data *ed);
 

-- 


Reply via email to