rimmed pushed a commit to branch master.

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

commit 1e59538eece041f463717477b63a4620d0da197b
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Wed Dec 23 19:16:41 2015 +0200

    remove widget_manager, ui_widget_list and connector
---
 po/POTFILES.in                           |    3 -
 src/bin/Makefile.am                      |    3 -
 src/bin/project_manager/widget_manager.c | 1060 ------------------
 src/bin/ui/blocks/ui_widget_list.c       | 1720 ------------------------------
 src/bin/ui/connector.c                   | 1412 ------------------------
 src/bin/ui/menu.c                        |    3 +-
 6 files changed, 2 insertions(+), 4199 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index e20b2fa..7b115d1 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -7,12 +7,9 @@ src/bin/external/syntax_color.c
 src/bin/logger/logger.c
 src/bin/project_manager/group_manager.c
 src/bin/project_manager/project_manager.c
-src/bin/project_manager/widget_manager.c
 src/bin/ui/blocks/ui_block.c
 src/bin/ui/blocks/ui_signal_list.c
 src/bin/ui/blocks/ui_states_list.c
-src/bin/ui/blocks/ui_widget_list.c
-src/bin/ui/connector.c
 src/bin/ui/container/container.c
 src/bin/ui/cursor.c
 src/bin/ui/dialogs/about_window.c
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 1848ee9..f2e59ad 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -10,7 +10,6 @@ libete_a_SOURCES = \
 ../../src/bin/common/string_common.c \
 ../../src/bin/common/validator.c \
 ../../src/bin/project_manager/group_manager.c \
-../../src/bin/project_manager/widget_manager.c \
 ../../src/bin/project_manager/project_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
@@ -35,7 +34,6 @@ libete_a_SOURCES = \
 ../../src/bin/ui/project_common.c \
 ../../src/bin/ui/project_close.c \
 ../../src/bin/ui/project_export.c \
-../../src/bin/ui/connector.c \
 ../../src/bin/ui/splash.c \
 ../../src/bin/ui/shortcuts/shortcuts.c \
 ../../src/bin/ui/container/container.c \
@@ -70,7 +68,6 @@ libete_a_SOURCES = \
 ../../src/bin/ui/property_color.c \
 ../../src/bin/ui/property_demo_swallow.c \
 ../../src/bin/ui/property_demo_text.c \
-../../src/bin/ui/blocks/ui_widget_list.c \
 ../../src/bin/ui/blocks/ui_signal_list.c \
 ../../src/bin/ui/blocks/ui_states_list.c \
 ../../src/bin/ui/workspace/workspace.c \
diff --git a/src/bin/project_manager/widget_manager.c 
b/src/bin/project_manager/widget_manager.c
deleted file mode 100644
index 0f3ed2d..0000000
--- a/src/bin/project_manager/widget_manager.c
+++ /dev/null
@@ -1,1060 +0,0 @@
-/*
- * Edje Theme Editor
- * Copyright (C) 2013-2014 Samsung Electronics.
- *
- * This file is part of Edje Theme Editor.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
- */
-
-#include "widget_manager.h"
-#include "alloc.h"
-#include "string_common.h"
-
-static char **arr;
-static char tmp[PATH_MAX];
-static int size;
-static char empty = '\0';
-/**
- * ref http://docs.enlightenment.org/auto/edje/group__Edje__Object__Part.html
- */
-static char *part_types[] = {
-     "NONE",
-     "RECTANGLE",
-     "TEXT",
-     "IMAGE",
-     "SWALLOW",
-     "TEXTBLOCK",
-     "GRADIENT",
-     "GROUP",
-     "BOX",
-     "TABLE",
-     "EXTERNAL",
-     "PROXY",
-     "SPACER"
-};
-static unsigned int part_types_count = 12;
-
-/**
- * @def WM_WIDGET_NAME_GET
- *
- * @brief get widget name from full group name string.
- *
- * @param[in] full_group_name
- * @param[out] widget
- *
- * @ingroup WidgetManager
- */
- #define WM_WIDGET_NAME_GET(widget, group) \
-   arr = eina_str_split(group, "/", 3); \
-   if (!arr[1]) \
-     widget = NULL; \
-   else \
-     widget = strdup(arr[1]); \
-  free(arr[0]); \
-   free(arr);
-
-/**
- * @def WM_CLASS_NAME_GET
- *
- * @brief get class name from full group name string.
- *
- * @param[in] full_group_name
- * @param[out] class_name
- *
- * @ingroup WidgetManager
- */
-#define WM_CLASS_NAME_GET(class_name, full_group_name) \
-   arr = eina_str_split(full_group_name, "/", 0); \
-   class_name = strdup(arr[2]);\
-   free(arr[0]); \
-   free(arr);
-
-/**
- * @def WM_STYLE_NAME_GET
- *
- * @brief get style name for spical class from full group name string.
- *
- * @param[in] full_group_name
- * @param[in] class_name
- * @param[out] style_name
- *
- * @ingroup WidgetManager
- */
-#define WM_STYLE_NAME_GET(style_name, class_name, full_group_name) \
-   arr = eina_str_split(full_group_name, "/", 0); \
-   eina_strlcpy(tmp, arr[3], sizeof(tmp)); \
-   for (size = 4; arr[size]; size++) \
-     { \
-        if (strcmp(arr[size], class_name)) \
-          { \
-             eina_strlcat(tmp, "/", PATH_MAX); \
-             eina_strlcat(tmp, arr[size], PATH_MAX); \
-          } \
-     } \
-   style_name = strdup(tmp); \
-   free(arr[0]); \
-   free(arr);
-
-int
-_sort_class_cb(const void *data1, const void *data2)
-{
-   const char *str1 = data1;
-   const char *str2 = data2;
-   char *data1_class = NULL;
-   char *data2_class = NULL;
-   int ret;
-
-   if (!str1) return 1;
-   if (!str2) return -1;
-
-   WM_CLASS_NAME_GET(data1_class, str1);
-   WM_CLASS_NAME_GET(data2_class, str2);
-
-   ret = (strcmp(data1_class, data2_class));
-   free(data1_class);
-   free(data2_class);
-   return ret;
-}
-
-static void
-_wm_part_free(Part *part)
-{
-   assert(part != NULL);
-
-   eina_stringshare_del(part->name);
-   eina_stringshare_del(part->curr_state);
-
-   if (part->items)
-     edje_edit_string_list_free(part->items);
-   free(part);
-   part = NULL;
-}
-
-Eina_Bool
-wm_part_del(Style *style, Part *part)
-{
-   Eina_Inlist *tmp_list = NULL;
-
-   assert(part != NULL);
-   assert(style != NULL);
-
-   tmp_list = eina_inlist_find(style->parts, EINA_INLIST_GET(part));
-
-   assert(tmp_list != NULL);
-
-   style->parts = eina_inlist_remove(style->parts, tmp_list);
-   _wm_part_free(part);
-
-   return true;
-}
-
-Eina_Bool
-wm_style_current_state_parts_update(Style *style)
-{
-   Part *part = NULL;
-   double val = 0;
-   const char *state = NULL;
-
-   assert(style != NULL);
-
-   EINA_INLIST_FOREACH(style->parts, part)
-     {
-        state = edje_edit_part_selected_state_get(style->obj, part->name, 
&val);
-        eina_stringshare_replace(&part->curr_state, state);
-        part->curr_state_value = val;
-     }
-   return true;
-}
-
-Eina_Bool
-wm_style_state_parts_reset(Style *style)
-{
-   Part *part = NULL;
-
-   assert(style != NULL);
-
-   EINA_INLIST_FOREACH(style->parts, part)
-     {
-        eina_stringshare_replace(&part->curr_state, "default");
-        part->curr_state_value = 0.0;
-        edje_edit_part_selected_state_set(style->obj, part->name,
-                                          part->curr_state, 
part->curr_state_value);
-     }
-   return true;
-}
-
-Eina_Bool
-wm_part_current_state_set(Part *part, const char *state)
-{
-   char **split;
-
-   assert(part != NULL);
-   assert(state != NULL);
-   assert(strcmp(state, ""));
-
-   split = eina_str_split(state, " ", 2);
-   eina_stringshare_del(part->curr_state);
-   part->curr_state = eina_stringshare_add(split[0]);
-   part->curr_state_value = atof(split[1]);
-   free(split[0]);
-   free(split);
-   return true;
-}
-
-Part *
-wm_part_add(Style *style, const char *part)
-{
-   Part *result = NULL;
-   double value;
-
-   assert(style != NULL);
-   assert(style->obj != NULL);
-   assert(part != NULL);
-   assert(edje_edit_part_exist(style->obj, part));
-
-   result = (Part *)mem_calloc(1, sizeof(Part));
-   result->__type = PART;
-
-   result->name = eina_stringshare_add(part);
-   result->type = edje_edit_part_type_get(style->obj, part);
-   result->curr_state = edje_edit_part_selected_state_get(style->obj, part, 
&value);
-   result->curr_state_value = value;
-   result->show = EINA_TRUE;
-
-   if ((result->type == EDJE_PART_TYPE_TABLE) || (result->type == 
EDJE_PART_TYPE_BOX))
-     result->items = edje_edit_part_items_list_get(style->obj, result->name);
-
-   style->parts = eina_inlist_append(style->parts, EINA_INLIST_GET(result));
-
-   return result;
-}
-
-Eina_List *
-wm_program_signals_list_get(Style *style)
-{
-   Eina_List *result = NULL;
-   Eina_List *progs, *l;
-   Eina_Stringshare *prog_name, *sig_name, *source_name;
-   Signal *sig = NULL;
-
-   assert(style != NULL);
-   assert(style->obj != NULL);
-
-   progs = edje_edit_programs_list_get(style->obj);
-   EINA_LIST_FOREACH(progs, l, prog_name)
-     {
-        sig_name = edje_edit_program_signal_get(style->obj, prog_name);
-        source_name = edje_edit_program_source_get(style->obj, prog_name);
-        if (sig_name)
-          {
-             sig = (Signal *)mem_malloc(sizeof(Signal));
-             sig->name = eina_stringshare_add(sig_name);
-             if (!source_name)
-               sig->source = eina_stringshare_add("");
-             else
-               sig->source = eina_stringshare_add(source_name);
-             sig->program = eina_stringshare_add(prog_name);
-             sig->style = style;
-             result = eina_list_append(result, sig);
-          }
-     }
-   edje_edit_string_list_free(progs);
-
-  return result;
-}
-
-Eina_Bool
-wm_program_signals_list_free(Eina_List *signals)
-{
-   Signal *sig;
-
-   EINA_LIST_FREE(signals, sig)
-     {
-        eina_stringshare_del(sig->program);
-        eina_stringshare_del(sig->source);
-        eina_stringshare_del(sig->name);
-        sig->style = NULL;
-        free(sig);
-     }
-
-   eina_list_free(signals);
-   signals = NULL;
-
-   return true;
-}
-
-Eina_Bool
-wm_style_data_load(Style *style, Evas *e, Eina_File *mmap_file)
-{
-   Evas_Object *edje_edit_obj;
-   Eina_List *parts_list = NULL, *l = NULL;
-   char *part_name = NULL;
-
-   assert(style != NULL);
-   assert(e != NULL);
-
-   if (style->obj)
-     {
-        eina_file_map_free(mmap_file, style->obj);
-        evas_object_del(style->obj);
-     }
-
-   edje_edit_obj = edje_edit_object_add(e);
-
-   if (!edje_object_mmap_set(edje_edit_obj, mmap_file, style->full_group_name))
-     {
-        ERR("Can't set mmap object");
-        abort();
-     }
-
-   edje_object_freeze(edje_edit_obj);
-   evas_object_freeze_events_set(edje_edit_obj, true);
-   style->obj = edje_edit_obj;
-
-   if (edje_edit_group_alias_is(edje_edit_obj, style->full_group_name))
-     {
-        style->isAlias = true;
-        return true;
-     }
-
-   parts_list = edje_edit_parts_list_get(style->obj);
-   EINA_LIST_FOREACH(parts_list, l, part_name)
-     {
-        wm_part_add(style, part_name);
-     }
-   edje_edit_string_list_free(parts_list);
-
-   return true;
-}
-
-Style *
-wm_style_add(const char* style_name, const char* full_group_name,
-             Type style_type, Class *parent)
-{
-   Style *style_edje = NULL;
-
-   assert(full_group_name != NULL);
-   assert(style_name != NULL);
-   assert((style_type == LAYOUT) ||
-          (style_type == STYLE));
-
-   style_edje = (Style *)mem_calloc(1, sizeof(Style));
-   style_edje->name = eina_stringshare_add(style_name);
-   style_edje->full_group_name = eina_stringshare_add(full_group_name);
-   style_edje->obj = NULL;
-   style_edje->parts = NULL;
-   style_edje->main_group = NULL;
-   style_edje->isAlias = false;
-   style_edje->__type = style_type;
-   style_edje->parent = parent;
-   style_edje->aliasses = NULL;
-
-   return style_edje;
-}
-
-const char *
-wm_style_name_set(Style *style, const char *name)
-{
-   Eina_Stringshare *new_name;
-
-   assert(style != NULL);
-   assert(name != NULL);
-
-   if (style->__type == LAYOUT)
-     eina_stringshare_replace(&style->full_group_name, name);
-   if (style->__type == STYLE)
-     {
-        arr = eina_str_split(style->full_group_name, "/", 0);
-        eina_strlcpy(tmp, arr[3], sizeof(tmp));
-        for (size = 4; arr[size]; size++)
-          {
-             if (strcmp(arr[size], style->parent->name))
-               {
-                  eina_strlcat(tmp, "/", PATH_MAX);
-                     eina_strlcat(tmp, arr[size], PATH_MAX);
-               }
-          }
-        new_name = eina_stringshare_printf("elm/%s/%s/%s", arr[1], arr[2], 
arr[3]);
-        free(arr[0]); \
-        free(arr);
-
-        eina_stringshare_replace(&style->full_group_name, new_name);
-        eina_stringshare_del(new_name);
-     }
-   eina_stringshare_replace(&style->name, name);
-   return style->name;
-}
-
-Eina_Bool
-wm_style_layout_is(Style *style)
-{
-   assert(style != NULL);
-
-   return style->__type == LAYOUT;
-}
-
-Eina_Bool
-wm_style_free(Style *style)
-{
-   Style *aliassed;
-   Part *part;
-   Eina_List *alias_node, *ll;
-
-   assert(style != NULL);
-
-   if (style->parent)
-     style->parent->styles = eina_inlist_remove(style->parent->styles,
-                                              EINA_INLIST_GET(style));
-
-   if (style->aliasses)
-     {
-         EINA_LIST_FOREACH(style->aliasses, ll, aliassed)
-           {
-              aliassed->main_group = NULL;
-           }
-         eina_list_free(style->aliasses);
-     }
-
-   if (style->isAlias)
-     {
-        if (style->main_group)
-          {
-             alias_node = 
eina_list_data_find_list(style->main_group->aliasses, style);
-             if (alias_node)
-               style->main_group->aliasses = 
eina_list_remove_list(style->main_group->aliasses, alias_node);
-          }
-     }
-
-   EINA_INLIST_FREE(style->parts, part)
-     {
-        style->parts = eina_inlist_remove(style->parts, EINA_INLIST_GET(part));
-        _wm_part_free(part);
-     }
-
-   if (style->name)
-     eina_stringshare_del(style->name);
-
-   eina_stringshare_del(style->full_group_name);
-
-   if (style->obj)
-     evas_object_del(style->obj);
-
-   free(style);
-   style = NULL;
-
-   return true;
-}
-
-Eina_Bool
-wm_style_copy(Evas_Object *dest_edje, Eina_Stringshare *source_full_name,
-              Eina_Stringshare *full_name, Eina_Stringshare *dest_file,
-              Style *style)
-{
-   Evas *e = NULL;
-
-   assert(dest_edje != NULL);
-   assert(source_full_name != NULL);
-   assert(full_name != NULL);
-   assert(dest_file != NULL);
-   assert(style != NULL);
-
-   e = evas_object_evas_get(dest_edje);
-
-   assert(e != NULL);
-
-   assert(!edje_edit_group_exist(dest_edje, full_name));
-   assert(edje_edit_group_copy(dest_edje, source_full_name, full_name));
-
-  return true;
-}
-
-Class *
-wm_class_add(const char *class_name, Eina_List *styles, Widget *parent)
-{
-   Style *style_edje = NULL;
-   Class *class_edje = NULL;
-   Eina_List *l;
-   char *style_name, *style_name_full;
-
-   assert(class_name != NULL);
-   assert(styles != NULL);
-
-   class_edje = (Class *)mem_calloc(1, sizeof(Class));
-   class_edje->name = eina_stringshare_add(class_name);
-   class_edje->styles = NULL;
-   class_edje->__type = CLASS;
-   class_edje->parent = parent;
-   EINA_LIST_FOREACH(styles, l, style_name_full)
-     {
-        WM_STYLE_NAME_GET(style_name, class_edje->name, style_name_full);
-        style_edje = wm_style_add(style_name, style_name_full, STYLE, 
class_edje);
-        class_edje->styles = eina_inlist_append(class_edje->styles,
-                                                EINA_INLIST_GET(style_edje));
-        free(style_name);
-     }
-
-   return class_edje;
-}
-
-Eina_Bool
-wm_class_free(Class *class_st)
-{
-   Style *style_edje = NULL;
-   Eina_Inlist *l = NULL;
-
-   assert(class_st != NULL);
-
-   if (class_st->parent)
-     class_st->parent->classes = eina_inlist_remove(
-         class_st->parent->classes, EINA_INLIST_GET(class_st));
-
-
-   EINA_INLIST_FOREACH_SAFE(class_st->styles, l, style_edje)
-     {
-       wm_style_free(style_edje);
-     }
-
-   eina_stringshare_del(class_st->name);
-   free(class_st);
-
-   return true;
-}
-
-Widget *
-wm_widget_add(const char *widget_name, Eina_List **styles)
-{
-   Widget *_widget = NULL;
-   Eina_List *l, *l_next;
-   Eina_List *widget_groups = NULL;
-   Class *class_st = NULL;
-   char *class_name = NULL, *class_name_next = NULL;
-   char *full_style_name, *style_next;
-
-   assert(widget_name != NULL);
-   assert(styles != NULL);
-   assert(*styles != NULL);
-
-   _widget = (Widget *)mem_calloc(1, sizeof(Widget));
-   _widget->name = eina_stringshare_add(widget_name);
-   _widget->classes = NULL;
-   _widget->__type = WIDGET;
-
-   *styles = eina_list_sort(*styles,
-                            eina_list_count(*styles),
-                            _sort_class_cb);
-
-   EINA_LIST_FOREACH_SAFE(*styles, l, l_next, full_style_name)
-     {
-        free(class_name_next);
-        WM_CLASS_NAME_GET(class_name, full_style_name);
-        if (l_next)
-          {
-             style_next = eina_list_data_get(l_next);
-             WM_CLASS_NAME_GET(class_name_next, style_next);
-          }
-        else
-          class_name_next = &empty;
-
-        widget_groups = eina_list_append(widget_groups, full_style_name);
-
-        if (strcmp(class_name, class_name_next) != 0)
-          {
-             class_st = wm_class_add(class_name, widget_groups, _widget);
-             _widget->classes = eina_inlist_append(_widget->classes,
-                                                  EINA_INLIST_GET(class_st));
-             eina_list_free(widget_groups);
-             widget_groups = NULL;
-          }
-        free(class_name);
-     }
-
-   return _widget;
-}
-
-Eina_Bool
-wm_widget_free(Widget *widget)
-{
-   Class *class_st = NULL;
-   Eina_Inlist *l = NULL;
-
-   assert(widget != NULL);
-
-   EINA_INLIST_FOREACH_SAFE(widget->classes, l, class_st)
-     {
-        wm_class_free(class_st);
-     }
-
-   eina_stringshare_del(widget->name);
-   free(widget);
-
-   return true;
-}
-
-Eina_Inlist *
-wm_widgets_list_new(const char *file)
-{
-   Widget *widget;
-   Eina_List *collection, *l, *l_next;
-   Eina_List *widget_styles = NULL;
-   Eina_Inlist *widget_list = NULL;
-   char *widget_name = NULL, *widget_name_next = NULL;
-   char *group, *group_next;
-   const char prefix[] = "elm/";
-   Eina_Error error;
-
-   assert(file != NULL);
-
-   DBG("Start to parse the edje group collection. From file %s", file);
-   collection = edje_file_collection_list(file);
-   if (!collection)
-     {
-        error = eina_error_get();
-        ERR("%s", eina_error_msg_get(error));
-     }
-
-   collection = eina_list_sort(collection,
-                               eina_list_count(collection),
-                               sort_cb);
-
-   EINA_LIST_FOREACH_SAFE(collection, l, l_next, group)
-     {
-        if (eina_str_has_prefix(group, prefix))
-          {
-             WM_WIDGET_NAME_GET(widget_name, group);
-             if (l_next)
-               {
-                  group_next = eina_list_data_get(l_next);
-                  if (eina_str_has_prefix(group_next, prefix))
-                    {
-                       WM_WIDGET_NAME_GET(widget_name_next, group_next);
-                    }
-                  else
-                    widget_name_next = &empty;
-               }
-             else
-               widget_name_next = &empty;
-
-             widget_styles = eina_list_append(widget_styles, group);
-
-             if ((widget_name) && (widget_name_next) && (strcmp(widget_name, 
widget_name_next) != 0))
-               {
-                  widget = wm_widget_add(widget_name, &widget_styles);
-                  widget_list = eina_inlist_append(widget_list,
-                                                   EINA_INLIST_GET(widget));
-                  widget_styles = eina_list_free(widget_styles);
-               }
-             if (widget_name)
-               free(widget_name);
-
-             TODO("change logic here on refactor to make this check 
unnecessary!!")
-             if (widget_name_next != &empty)
-               free(widget_name_next);
-          }
-     }
-   edje_file_collection_list_free(collection);
-   DBG("Parse the edje group collection id finished! The list of widget - 
created.");
-   INFO("The theme consists of styles for %i widgets.", 
eina_inlist_count(widget_list));
-
-   return widget_list;
-}
-
-Eina_Inlist *
-wm_layouts_list_new(const char *file)
-{
-   Style *layout;
-   Eina_List *collection, *l;
-   Eina_Inlist *layouts = NULL;
-   char *group;
-   const char prefix[] = "elm/";
-   Eina_Error error;
-
-   assert(file != NULL);
-
-   collection = edje_file_collection_list(file);
-   if (!collection)
-     {
-        error = eina_error_get();
-        ERR("%s", eina_error_msg_get(error));
-     }
-
-   collection = eina_list_sort(collection,
-                               eina_list_count(collection),
-                               sort_cb);
-
-   EINA_LIST_FOREACH(collection, l, group)
-     {
-        if (!eina_str_has_prefix(group, prefix) && strcmp(group, 
EFLETE_INTERNAL_GROUP_NAME))
-          {
-             layout = wm_style_add(group, group, LAYOUT, NULL);
-             layouts = eina_inlist_append(layouts, EINA_INLIST_GET(layout));
-          }
-     }
-   edje_file_collection_list_free(collection);
-   DBG("Parse the edje group collection on layouts id finished!");
-   INFO("The file contain styles for %i layouts.", eina_inlist_count(layouts));
-   return layouts;
-}
-
-Eina_Bool
-wm_widgets_list_free(Eina_Inlist *widget_list)
-{
-   Widget *widget = NULL;
-
-   while (widget_list)
-     {
-        widget = EINA_INLIST_CONTAINER_GET(widget_list, Widget);
-        widget_list = eina_inlist_remove(widget_list, widget_list);
-        wm_widget_free(widget);
-     }
-
-   return true;
-}
-
-Eina_Bool
-wm_layouts_list_free(Eina_Inlist *widget_list)
-{
-   Style *style = NULL;
-
-   while (widget_list)
-     {
-        style = EINA_INLIST_CONTAINER_GET(widget_list, Style);
-        widget_list = eina_inlist_remove(widget_list, widget_list);
-        wm_style_free(style);
-     }
-
-   return true;
-}
-
-
-Style *
-wm_style_object_find(Eina_Inlist *widget_list, const char *style_full_name)
-{
-   char *widget_name = NULL;
-   char *class_name = NULL;
-   char *style_name = NULL;
-   Widget *_widget = NULL;
-   Class *_class = NULL;
-   Style *_style = NULL;
-
-   assert(widget_list != NULL);
-   assert(style_full_name != NULL);
-
-   WM_WIDGET_NAME_GET(widget_name, style_full_name);
-   if (!widget_name)
-     return NULL;
-
-   if (widget_name [0] <= 'm')
-     EINA_INLIST_FOREACH(widget_list, _widget)
-       {
-          if (!strcmp(_widget->name, widget_name))
-            break;
-       }
-   else
-     EINA_INLIST_REVERSE_FOREACH(widget_list, _widget)
-       {
-          if (!strcmp(_widget->name, widget_name))
-            break;
-       }
-
-   if (!_widget)
-     {
-        free(widget_name);
-        return NULL;
-     }
-
-   WM_CLASS_NAME_GET(class_name, style_full_name);
-   if (class_name [0] <= 'm')
-     EINA_INLIST_FOREACH(_widget->classes, _class)
-       {
-          if (!strcmp(_class->name, class_name))
-            break;
-       }
-   else
-     EINA_INLIST_REVERSE_FOREACH(_widget->classes, _class)
-       {
-          if (!strcmp(_class->name, class_name))
-            break;
-       }
-
-   if (!_class)
-     {
-        free(widget_name);
-        free(class_name);
-        return NULL;
-     }
-
-   WM_STYLE_NAME_GET(style_name, class_name, style_full_name)
-   if (style_name [0] <= 'm')
-     EINA_INLIST_FOREACH(_class->styles, _style)
-       {
-          if (!strcmp(_style->name, style_name))
-            break;
-       }
-   else
-     EINA_INLIST_REVERSE_FOREACH(_class->styles, _style)
-       {
-          if (!strcmp(_style->name, style_name))
-            break;
-       }
-
-   free(widget_name);
-   free(class_name);
-   free(style_name);
-
-   return _style;
-}
-
-Style *
-_layout_object_find(Eina_Inlist *layout_list, const char *style_full_name)
-{
-   Style *_layout = NULL;
-
-   assert(layout_list != NULL);
-   assert(style_full_name != NULL);
-
-   EINA_INLIST_FOREACH(layout_list, _layout)
-     {
-        if (!strcmp(_layout->full_group_name, style_full_name)) break;
-     }
-
-   return _layout;
-}
-
-Eina_Bool
-wm_widgets_list_objects_load(Eina_Inlist *widget_list,
-                             Evas *e,
-                             Eina_File *mmap_file)
-{
-   Widget *widget = NULL;
-   Class *class_st = NULL;
-   Style *style = NULL;
-
-   assert(e != NULL);
-   assert(mmap_file != NULL);
-
-   EINA_INLIST_FOREACH(widget_list, widget)
-     {
-        EINA_INLIST_FOREACH(widget->classes, class_st)
-          {
-             EINA_INLIST_FOREACH(class_st->styles, style)
-               {
-                  wm_style_data_load(style, e, mmap_file);
-               }
-          }
-     }
-   return true;
-}
-
-Eina_Bool
-wm_widgets_list_objects_del(Eina_Inlist *widget_list)
-{
-   Widget *widget = NULL;
-   Class *class_st = NULL;
-   Style *style = NULL;
-
-   assert(widget_list != NULL);
-
-   EINA_INLIST_FOREACH(widget_list, widget)
-     {
-        EINA_INLIST_FOREACH(widget->classes, class_st)
-          {
-             EINA_INLIST_FOREACH(class_st->styles, style)
-               {
-                  evas_object_del(style->obj);
-               }
-          }
-     }
-
-   return true;
-}
-
-
-Eina_Bool
-wm_layouts_list_objects_load(Eina_Inlist *layouts_list,
-                            Evas *e,
-                            Eina_File *mmap_file)
-{
-   Style *layout = NULL;
-
-   assert(e != NULL);
-   assert(mmap_file != NULL);
-
-   EINA_INLIST_FOREACH(layouts_list, layout)
-     {
-         wm_style_data_load(layout, e, mmap_file);
-     }
-
-   return true;
-}
-
-const char *
-wm_part_type_get(Edje_Part_Type part_type)
-{
-   assert(part_type <= part_types_count);
-
-   return part_types[part_type];
-}
-
-Part *
-wm_part_by_name_find(Style *style, Eina_Stringshare *part_name)
-{
-   Part *data = NULL;
-
-   assert(style != NULL);
-   assert(part_name != NULL);
-
-   EINA_INLIST_FOREACH(style->parts, data)
-     {
-        if (data->name == part_name) return data;
-     }
-   return NULL;
-}
-
-Eina_Bool
-wm_style_parts_restack(Style *style, Eina_Stringshare *part_name,
-                       Eina_Stringshare *rel_name)
-{
-   Part *data = NULL;
-   Part *part = NULL;
-   Part *rel_part = NULL;
-   Eina_Inlist *tmp_list = NULL, *tmp_prev = NULL;
-
-   assert(style != NULL);
-   assert(part_name != NULL);
-
-   EINA_INLIST_FOREACH(style->parts, data)
-     {
-        if (data->name == part_name)
-          part = data;
-        else if (data->name == rel_name)
-          rel_part = data;
-
-        if (part && rel_part)
-          break;
-     }
-
-   assert(part != NULL);
-
-   tmp_list = eina_inlist_find(style->parts, EINA_INLIST_GET(part));
-
-   assert(tmp_list != NULL);
-
-   if (rel_part)
-     tmp_prev = eina_inlist_find(style->parts, EINA_INLIST_GET(rel_part));
-
-   style->parts = eina_inlist_remove(style->parts, tmp_list);
-   if (!tmp_prev)
-     style->parts = eina_inlist_append_relative(style->parts, tmp_list, 
tmp_prev);
-   else
-     style->parts = eina_inlist_prepend_relative(style->parts, tmp_list, 
tmp_prev);
-
-   return true;
-}
-
-Eina_Bool
-wm_style_data_reload(Style *style, Eina_File *mmap_file)
-{
-   Eina_List *parts_list = NULL, *l = NULL;
-   char *part_name = NULL;
-   Part *part = NULL;
-
-   assert(style != NULL);
-   assert(style->obj != NULL);
-   assert(style->full_group_name != NULL);
-   assert(mmap_file != NULL);
-
-   eina_file_map_free(mmap_file, style->obj);
-   edje_object_mmap_set(style->obj, mmap_file, style->full_group_name);
-
-   EINA_INLIST_FREE(style->parts, part)
-     {
-        style->parts = eina_inlist_remove(style->parts, EINA_INLIST_GET(part));
-        _wm_part_free(part);
-     }
-
-   parts_list = edje_edit_parts_list_get(style->obj);
-   EINA_LIST_FOREACH(parts_list, l, part_name)
-     {
-        wm_part_add(style, part_name);
-     }
-   edje_edit_string_list_free(parts_list);
-
-   return true;
-}
-
-TODO("Add UTC for this function!")
-Eina_Bool
-wm_styles_build_alias(Eina_Inlist *widgets_list,
-                      Eina_Inlist *layouts_list)
-{
-   Style *layout = NULL;
-   Widget *widget = NULL;
-   Class *class_st = NULL;
-   const char *main_name;
-
-   /* checking layouts for awesomeness */
-   if (layouts_list)
-     {
-        EINA_INLIST_FOREACH(layouts_list, layout)
-          {
-             if (layout->isAlias)
-               {
-                  main_name = edje_edit_group_aliased_get(layout->obj, 
layout->full_group_name);
-                  layout->main_group = _layout_object_find(layouts_list, 
main_name);
-                  if ((!layout->main_group) && (widgets_list))
-                    layout->main_group = wm_style_object_find(widgets_list, 
main_name);
-
-                  if (layout->main_group)
-                    {
-                       layout->main_group->aliasses = 
eina_list_append(layout->main_group->aliasses, layout);
-                       evas_object_del(layout->obj);
-                       layout->obj = NULL;
-                    }
-               }
-          }
-     }
-
-   /* checking layouts for awesomeness */
-   if (widgets_list)
-     {
-        EINA_INLIST_FOREACH(widgets_list, widget)
-          {
-             EINA_INLIST_FOREACH(widget->classes, class_st)
-               {
-                  EINA_INLIST_FOREACH(class_st->styles, layout)
-                    {
-                       if (layout->isAlias)
-                         {
-                            main_name = 
edje_edit_group_aliased_get(layout->obj, layout->full_group_name);
-                            layout->main_group = 
wm_style_object_find(widgets_list, main_name);
-                            if ((!layout->main_group) && (layouts_list))
-                              layout->main_group = 
_layout_object_find(layouts_list, main_name);
-
-                            if (layout->main_group)
-                              {
-                                 layout->main_group->aliasses = 
eina_list_append(layout->main_group->aliasses, layout);
-                                 evas_object_del(layout->obj);
-                                 layout->obj = NULL;
-                              }
-                         }
-                    }
-               }
-          }
-     }
-   return true;
-}
-
-#undef WM_WIDGET_NAME_GET
-#undef WM_CLASS_NAME_GET
-#undef WM_STYLE_NAME_GET
diff --git a/src/bin/ui/blocks/ui_widget_list.c 
b/src/bin/ui/blocks/ui_widget_list.c
deleted file mode 100644
index 0acbf0b..0000000
--- a/src/bin/ui/blocks/ui_widget_list.c
+++ /dev/null
@@ -1,1720 +0,0 @@
-/*
- * Edje Theme Editor
- * Copyright (C) 2013 Samsung Electronics.
- *
- * This file is part of Edje Theme Editor.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
- */
-
-#include "ui_widget_list.h"
-#include "widget_manager.h"
-
-#define NAVIFRAME_DATA_KEY "naviframe"
-#define TABS_DATA_KEY "tabs"
-#define WIDGETS_NAVIFRAME_DATA_KEY "nf_widgets"
-#define LAYOUTS_NAVIFRAME_DATA_KEY "nf_layouts"
-#define WIDGETS_TAB_DATA_KEY "widgets_tab"
-#define LAYOUTS_TAB_DATA_KEY "layouts_tab"
-#define WIDGETLIST_DATA_KEY "widget_list"
-#define PARTLIST_DATA_KEY "part_list"
-
-static Elm_Genlist_Item_Class *_itc_widget = NULL;
-static Elm_Genlist_Item_Class *_itc_class = NULL;
-static Elm_Genlist_Item_Class *_itc_style = NULL;
-static Elm_Genlist_Item_Class *_itc_layout = NULL;
-static Elm_Genlist_Item_Class *_itc_part = NULL;
-static Elm_Genlist_Item_Class *_itc_container = NULL;
-static Elm_Genlist_Item_Class *_itc_part_item = NULL;
-
-static inline Elm_Object_Item *
-_widget_list_get(Evas_Object *naviframe)
-{
-   assert(naviframe != NULL);
-
-   Elm_Object_Item *item_gl_widgets = elm_naviframe_top_item_get(naviframe);
-
-   return item_gl_widgets;
-}
-
-TODO("Outdated function! Remove! No more EWE_TABS")
-static inline Evas_Object *
-_current_naviframe_get(Evas_Object *tabs __UNUSED__)
-{
-/*   Ewe_Tabs_Item *selected;
-
-   assert(tabs != NULL);
-
-   selected = ewe_tabs_active_item_get(tabs);
-   if (evas_object_data_get(tabs, WIDGETS_TAB_DATA_KEY) == selected)
-      return evas_object_data_get(tabs, WIDGETS_NAVIFRAME_DATA_KEY);
-   return evas_object_data_get(tabs, LAYOUTS_NAVIFRAME_DATA_KEY); */
-   return NULL;
-}
-
-static Elm_Object_Item *
-_genlist_find_item_by_name(Evas_Object *obj, const char *name)
-{
-   Part *part;
-
-   assert(obj != NULL);
-   assert(name != NULL);
-
-   Elm_Object_Item *item = elm_genlist_first_item_get(obj);
-
-   while (item)
-     {
-        /* We are searching through parts.
-         * If current item is actually BOX's or TABLE's item (contain parent),
-         * checking need to be skipped. */
-        if (!elm_genlist_item_parent_get(item))
-          {
-             part = elm_object_item_data_get(item);
-             if (strcmp(part->name, name) == 0)
-               break;
-          }
-        item = elm_genlist_item_next_get(item);
-     }
-   return item;
-}
-
-static char *
-_item_part_label_get(void *data,
-                     Evas_Object *obj __UNUSED__,
-                     const char *part)
-{
-   Part *p = (Part *)data;
-
-   assert(p != NULL);
-   assert(p->name != NULL);
-   assert(part != NULL);
-
-   if (!strcmp(part, "elm.text"))
-     {
-        return strdup(p->name);
-     }
-   return strdup("");
-}
-
-static char *
-_item_item_label_get(void *data,
-                     Evas_Object *obj __UNUSED__,
-                     const char *part __UNUSED__)
-{
-   Eina_Stringshare *item_name = (Eina_Stringshare *)data;
-   if (data) return strdup(item_name);
-   return strdup("Unknown");
-}
-
-static void
-_on_check_click(void *data,
-               Evas_Object *obj,
-               void *event_data __UNUSED__)
-{
-   Evas_Object *gl_parts, *tabs;
-   Part *_part = (Part *)data;
-
-   assert(_part != NULL);
-
-   _part->show = !_part->show;
-
-   gl_parts = evas_object_data_get(obj, PARTLIST_DATA_KEY);
-
-   assert(gl_parts != NULL);
-
-   tabs = evas_object_data_get(gl_parts, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   if (_part->show)
-     evas_object_smart_callback_call(tabs, "wl,part,show", (void 
*)_part->name);
-   else
-     evas_object_smart_callback_call(tabs, "wl,part,hide", (void 
*)_part->name);
-}
-
-static void
-_on_item_add_clicked(void *data,
-                     Evas_Object *obj,
-                     void *event_info __UNUSED__)
-{
-   Part *_part =  (Part* ) data;
-
-   assert(_part != NULL);
-
-   Evas_Object *gl_parts = evas_object_data_get(obj, PARTLIST_DATA_KEY);
-
-   assert(gl_parts != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(gl_parts, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   /* Checking number of groups */
-   Eina_List *groups = edje_file_collection_list(ap.project->dev);
-   unsigned int count = eina_list_count(groups);
-   edje_file_collection_list_free(groups);
-   if (count >= 2)
-     evas_object_smart_callback_call(tabs, "wl,part,item,add", _part);
-   else
-     {
-        NOTIFY_WARNING(_("There is only one group. <br>"
-                         "Need more groups for adding items."))
-        return;
-     }
-}
-
-static void
-_on_item_del_clicked(void *data,
-                     Evas_Object *obj,
-                     void *event_info __UNUSED__)
-{
-   Eina_Stringshare *item_name = (Eina_Stringshare *)data;
-
-   assert(item_name != NULL);
-
-   Evas_Object *gl_parts = evas_object_data_get(obj, PARTLIST_DATA_KEY);
-
-   assert(gl_parts != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(gl_parts, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,item,del", (char 
*)item_name);
-   return;
-}
-
-static Evas_Object *
-_item_part_content_get(void *data,
-                       Evas_Object *obj,
-                       const char *part)
-{
-   Evas_Object *content = NULL;
-   Part *_part = (Part *) data;
-
-   assert(_part != NULL);
-
-   if (!strcmp(part, "elm.swallow.icon"))
-     {
-        content = elm_check_add(obj);
-        if (_part->show)
-          elm_check_state_set(content, true);
-        else
-           elm_check_state_set(content, false);
-        elm_object_style_set(content, "eye");
-
-        evas_object_smart_callback_add(content, "changed", _on_check_click, 
_part);
-        evas_object_data_set(content, PARTLIST_DATA_KEY, obj);
-     }
-   if (!strcmp(part, "elm.swallow.end"))
-     {
-        switch (_part->type)
-          {
-           case EDJE_PART_TYPE_RECTANGLE:
-              IMAGE_ADD_NEW(obj, content, "icon", "rectangle");
-              break;
-           case EDJE_PART_TYPE_IMAGE:
-              IMAGE_ADD_NEW(obj, content, "icon", "image");
-              break;
-           case EDJE_PART_TYPE_SPACER:
-              IMAGE_ADD_NEW(obj, content, "icon", "spacer");
-              break;
-           case EDJE_PART_TYPE_SWALLOW:
-              IMAGE_ADD_NEW(obj, content, "icon", "swallow");
-              break;
-           case EDJE_PART_TYPE_TEXT:
-              IMAGE_ADD_NEW(obj, content, "icon", "text");
-              break;
-           case EDJE_PART_TYPE_TEXTBLOCK:
-              IMAGE_ADD_NEW(obj, content, "icon", "textblock");
-              break;
-           case EDJE_PART_TYPE_GROUP:
-              IMAGE_ADD_NEW(obj, content, "icon", "group");
-              break;
-           case EDJE_PART_TYPE_PROXY:
-              IMAGE_ADD_NEW(obj, content, "icon", "proxy");
-              break;
-           case EDJE_PART_TYPE_TABLE:
-              IMAGE_ADD_NEW(obj, content, "icon", "table");
-              break;
-           case EDJE_PART_TYPE_BOX:
-              IMAGE_ADD_NEW(obj, content, "icon", "box");
-              break;
-           case EDJE_PART_TYPE_EXTERNAL:
-              IMAGE_ADD_NEW(obj, content, "icon", "external");
-              break;
-          }
-     }
-   if (!strcmp(part, "elm.swallow.penult"))
-     {
-        if ((_part->type == EDJE_PART_TYPE_TABLE) || ((_part->type == 
EDJE_PART_TYPE_BOX)))
-          {
-             Evas_Object *icon;
-
-             content = elm_button_add(obj);
-             ICON_STANDARD_ADD(content, icon, true, "plus");
-             elm_object_part_content_set(content, NULL, icon);
-             elm_object_style_set(content, "anchor");
-             evas_object_data_set(content, PARTLIST_DATA_KEY, obj);
-             evas_object_smart_callback_add(content, "clicked", 
_on_item_add_clicked, _part);
-          }
-     }
-   return content;
-}
-
-static Evas_Object *
-_item_part_item_content_get(void *data,
-                       Evas_Object *obj,
-                       const char *part)
-{
-   Eina_Stringshare *item_name = (Eina_Stringshare *) data;
-
-   assert(item_name != NULL);
-
-   if (!strcmp(part, "elm.swallow.penult"))
-     {
-        Evas_Object *button, *_icon;
-        button = elm_button_add(obj);
-        ICON_STANDARD_ADD(button, _icon, true, "minus");
-        elm_object_part_content_set(button, NULL, _icon);
-        elm_object_style_set(button, "anchor");
-
-        evas_object_data_set(button, PARTLIST_DATA_KEY, obj);
-        evas_object_smart_callback_add(button, "clicked", 
_on_item_del_clicked, item_name);
-        return button;
-     }
-   return NULL;
-}
-/*
-static char *
-_item_layout_label_get(void *data,
-                      Evas_Object *obj __UNUSED__,
-                      const char *part __UNUSED__)
-{
-   Style *layout = (Style *)data;
-
-   assert(layout != NULL);
-   assert(layout->full_group_name != NULL);
-
-   return strdup(layout->full_group_name);
-}*/
-
-
-static char *
-_item_style_label_get(void *data,
-                      Evas_Object *obj __UNUSED__,
-                      const char *part __UNUSED__)
-{
-   Style *style = (Style *)data;
-
-   assert(style != NULL);
-   assert(style->name != NULL);
-
-   return strdup(style->name);
-}
-/*
-static char *
-_item_widget_label_get(void *data,
-                       Evas_Object *obj __UNUSED__,
-                       const char *part __UNUSED__)
-{
-   Widget *widget = (Widget *)data;
-
-   assert(widget != NULL);
-   assert(widget->name != NULL);
-
-   return strdup(widget->name);
-}
-*/
-static char *
-_item_class_label_get(void *data,
-                      Evas_Object *obj __UNUSED__,
-                      const char *part __UNUSED__)
-{
-   Class *class = (Class *)data;
-
-   assert(class != NULL);
-   assert(class->name != NULL);
-
-   return strdup(class->name);
-}
-
-static void
-_navi_gl_styles_pop(void *data,
-                    Evas_Object *obj __UNUSED__,
-                    void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   elm_naviframe_item_pop(nf);
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call (tabs, "wl,style,back", NULL);
-}
-
-static void
-_navi_gl_parts_pop(void *data,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   elm_naviframe_item_pop(nf);
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,back", NULL);
-}
-
-static void
-_on_part_select(void *data,
-                Evas_Object *obj __UNUSED__,
-                void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Part *_part = elm_object_item_data_get(glit);
-
-   assert(_part != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,select", _part);
-}
-
-static void
-_on_part_item_select(void *data,
-                     Evas_Object *obj __UNUSED__,
-                     void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-   Elm_Object_Item *parent = elm_genlist_item_parent_get(glit);
-   Part *part = elm_object_item_data_get(parent);
-
-   assert(part != NULL);
-
-   Evas_Object *nf = (Evas_Object *)data;
-   Eina_Stringshare *item_name = elm_object_item_data_get(glit);
-
-   assert(item_name != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,select", part);
-   evas_object_smart_callback_call(tabs, "wl,part,item,select", (char 
*)item_name);
-   return;
-}
-
-static void
-_on_part_item_unselect(void *data,
-                       Evas_Object *obj __UNUSED__,
-                       void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   TODO("Is this check needed?");
-   if (!elm_genlist_item_parent_get(glit)) return;
-   Eina_Stringshare *item_name = elm_object_item_data_get(glit);
-
-   assert(item_name != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,item,unselect", (char 
*)item_name);
-}
-/*
-static void
-_layout_add_cb(void *data,
-               Evas_Object *obj,
-               void *event_info __UNUSED__)
-{
-   Evas_Object *block = (Evas_Object *)data;
-
-   assert(block != NULL);
-
-   Evas_Object *widget_list = evas_object_data_get(obj, WIDGETLIST_DATA_KEY);
-
-   assert(widget_list);
-
-   evas_object_smart_callback_call(block, "wl,layout,add", widget_list);
-}
-
-static void
-_layout_del_cb(void *data,
-               Evas_Object *obj __UNUSED__,
-               void *event_info __UNUSED__)
-{
-   Evas_Object *block = (Evas_Object *)data;
-
-   assert(block != NULL);
-
-   evas_object_smart_callback_call(block, "wl,layout,del", NULL);
-}*/
-
-static void
-_unset_cur_style(void *data,
-                 Evas_Object *obj,
-                 void *ei __UNUSED__)
-{
-   Project *project = (Project *)data;
-
-   assert(project != NULL);
-
-   Part *pr;
-   EINA_INLIST_FOREACH(project->current_style->parts, pr)
-      pr->show = true;
-   project->current_style = NULL;
-   evas_object_smart_callback_del(obj, "wl,part,back", _unset_cur_style);
-}
-
-static void
-_add_style_cb(void *data,
-              Evas_Object *obj __UNUSED__,
-              void *event_info __UNUSED__)
-{
-   Evas_Object *block =  
elm_object_parent_widget_get(evas_object_data_get((Evas_Object *)data, 
TABS_DATA_KEY));
-
-   assert(block != NULL);
-
-   evas_object_smart_callback_call(block, "wl,style,add", NULL);
-}
-
-static void
-_del_style_cb(void *data,
-              Evas_Object *obj __UNUSED__,
-              void *event_info __UNUSED__)
-{
-   Evas_Object *block =  
elm_object_parent_widget_get(evas_object_data_get((Evas_Object *)data, 
TABS_DATA_KEY));
-
-   assert(block != NULL);
-
-   evas_object_smart_callback_call(block, "wl,style,del", NULL);
-}
-
-static void
-_del_part_cb(void *data,
-             Evas_Object *obj __UNUSED__,
-             void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,del", NULL);
-}
-
-static void
-_add_part_cb(void *data,
-             Evas_Object *obj __UNUSED__,
-             void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,add", NULL);
-}
-
-static void
-_above_part_cb(void *data,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,above", NULL);
-}
-
-static void
-_past_part_cb(void *data,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info __UNUSED__)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   evas_object_smart_callback_call(tabs, "wl,part,below", NULL);
-}
-
-static void
-_part_reordered(Evas_Object *data,
-                Evas_Object *obj __UNUSED__,
-                Elm_Object_Item *item)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Evas_Object *tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-
-   assert(tabs != NULL);
-
-   Part *part = NULL;
-   Elm_Object_Item *rel = elm_genlist_item_next_get(item);
-   elm_genlist_item_selected_set(item, true);
-
-   if (!elm_genlist_item_parent_get(item))
-     {
-        if (rel)
-          {
-             part = elm_object_item_data_get(rel);
-             evas_object_smart_callback_call(tabs, "wl,part,moved,up", part);
-          }
-        else
-          {
-             rel = elm_genlist_item_prev_get(item);
-             part =  elm_object_item_data_get(rel);
-             evas_object_smart_callback_call(tabs, "wl,part,moved,down", part);
-          }
-     }
-}
-
-static void
-_part_items_expand(void *data,
-                   Evas_Object *obj,
-                   void *event_info)
-{
-   Evas_Object *nf = (Evas_Object *)data;
-
-   assert(nf != NULL);
-
-   Elm_Object_Item *glit = event_info;
-   Part *_part = elm_object_item_data_get(glit);
-
-   assert(_part != NULL);
-
-   Eina_List *l_items = NULL, *l_n_items = NULL;
-   Eina_Stringshare *item_name = NULL;
-
-   EINA_LIST_FOREACH_SAFE(_part->items, l_items, l_n_items, item_name)
-     {
-         elm_genlist_item_append(obj, _itc_part_item, item_name,
-                                 glit, ELM_GENLIST_ITEM_NONE,
-                                 _on_part_item_select, nf);
-     }
-}
-
-static void
-_part_items_contract(void *data __UNUSED__,
-                     Evas_Object *obj __UNUSED__,
-                     void *event_info)
-{
-   Elm_Object_Item *glit = event_info;
-   elm_genlist_item_subitems_clear(glit);
-}
-
-static void
-_part_items_expand_req(void *data __UNUSED__,
-                       Evas_Object *obj __UNUSED__,
-                       void *event_info)
-{
-   Elm_Object_Item *glit = event_info;
-   elm_genlist_item_expanded_set(glit, true);
-}
-
-static void
-_part_items_contract_req(void *data __UNUSED__,
-                         Evas_Object *obj __UNUSED__,
-                         void *event_info)
-{
-   Elm_Object_Item *glit = event_info;
-   elm_genlist_item_expanded_set(glit, false);
-}
-
-static void
-_wl_item_selected(void *data __UNUSED__,
-                  Evas_Object *obj,
-                  void *event_info __UNUSED__)
-{
-   Elm_Object_Item *dec_eoi = NULL, *eoi = NULL;
-   eoi = elm_genlist_selected_item_get(obj);
-   dec_eoi = elm_genlist_decorated_item_get(obj);
-   if (dec_eoi)
-     {
-        elm_genlist_item_decorate_mode_set(dec_eoi, "mode", false);
-        elm_genlist_item_update(dec_eoi);
-     }
-   elm_genlist_item_selected_set(eoi, true);
-   return;
-}
-
-static void
-_on_style_clicked_double(void *data,
-                         Evas_Object *obj,
-                         void *event_info)
-{
-   Project *pr = (Project *)data;
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-   Elm_Object_Item *eoi;
-   Evas_Object *nf, *nf_widgets, *nf_layouts, *tabs, *gl_parts, *bt, *ic;
-   Eina_Inlist *parts;
-   Style *_style, *clicked_style;
-   Part *_part;
-   Evas_Object *button = NULL;
-   Evas_Object *_icon = NULL;
-   Eina_List *naviframe_items = NULL;
-
-   assert(pr != NULL);
-
-   nf = evas_object_data_get(obj, NAVIFRAME_DATA_KEY);
-   tabs = evas_object_data_get(nf, TABS_DATA_KEY);
-   nf_widgets = evas_object_data_get(tabs, WIDGETS_NAVIFRAME_DATA_KEY);
-   nf_layouts = evas_object_data_get(tabs, LAYOUTS_NAVIFRAME_DATA_KEY);
-   _style = elm_object_item_data_get(glit);
-
-   assert(nf != NULL);
-   assert(tabs != NULL);
-   assert(nf_widgets != NULL);
-   assert(nf_layouts != NULL);
-   assert(_style != NULL);
-
-   if ((_style->__type != STYLE) && (_style->__type != LAYOUT))
-     return;
-   if (nf == nf_widgets)
-     {
-        naviframe_items = elm_naviframe_items_get(nf_layouts);
-        if (eina_list_count(naviframe_items) == 2)
-          _navi_gl_parts_pop(nf_layouts, NULL, NULL);
-     }
-   else if (nf == nf_layouts)
-     {
-        naviframe_items = elm_naviframe_items_get(nf_widgets);
-        if (eina_list_count(naviframe_items) == 3)
-          _navi_gl_parts_pop(nf_widgets, NULL, NULL);
-     }
-   eina_list_free(naviframe_items);
-
-   clicked_style = _style;
-   if (_style->isAlias)
-     {
-       assert(_style->main_group != NULL);
-        _style = _style->main_group;
-     }
-
-   parts = _style->parts;
-
-   evas_object_smart_callback_call(tabs, "wl,style,select", clicked_style);
-
-   if (!_itc_part)
-     {
-        _itc_part = elm_genlist_item_class_new();
-        _itc_part->item_style = "default";
-        _itc_part->func.text_get = _item_part_label_get;
-        _itc_part->func.content_get = _item_part_content_get;
-        _itc_part->func.state_get = NULL;
-        _itc_part->func.del = NULL;
-     }
-
-   if (!_itc_container)
-     {
-        _itc_container = elm_genlist_item_class_new();
-        _itc_container->item_style = "default";
-        _itc_container->func.text_get = _item_part_label_get;
-        _itc_container->func.content_get = _item_part_content_get;
-        _itc_container->func.state_get = NULL;
-        _itc_container->func.del = NULL;
-     }
-
-   if (!_itc_part_item)
-     {
-        _itc_part_item = elm_genlist_item_class_new();
-        _itc_part_item->item_style = "default";
-        _itc_part_item->func.text_get = _item_item_label_get;
-        _itc_part_item->func.content_get = _item_part_item_content_get;
-        _itc_part_item->func.state_get = NULL;
-        _itc_part_item->func.del = NULL;
-     }
-
-   gl_parts = elm_genlist_add(nf);
-   elm_genlist_longpress_timeout_set(gl_parts, 0.2);
-   evas_object_data_set(gl_parts, NAVIFRAME_DATA_KEY, nf);
-   evas_object_data_set(gl_parts, TABS_DATA_KEY, tabs);
-   elm_genlist_reorder_mode_set(gl_parts, true);
-   elm_genlist_select_mode_set(gl_parts, ELM_OBJECT_SELECT_MODE_DEFAULT);
-   evas_object_smart_callback_add(tabs, "wl,part,back", _unset_cur_style, pr);
-   evas_object_size_hint_align_set(gl_parts, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_weight_set(gl_parts, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-
-   EINA_INLIST_FOREACH(parts, _part)
-     {
-        if ((_part->type == EDJE_PART_TYPE_TABLE) ||
-            (_part->type == EDJE_PART_TYPE_BOX))
-          eoi = elm_genlist_item_append(gl_parts, _itc_container, _part,
-                                        NULL, ELM_GENLIST_ITEM_TREE,
-                                        _on_part_select, nf);
-        else
-          eoi = elm_genlist_item_append(gl_parts, _itc_part, _part,
-                                        NULL, ELM_GENLIST_ITEM_NONE,
-                                        _on_part_select, nf);
-        elm_object_item_data_set(eoi, _part);
-     }
-   evas_object_smart_callback_add(gl_parts, "moved",
-                                  (Evas_Smart_Cb)_part_reordered, nf);
-   evas_object_smart_callback_add(gl_parts, "expanded", _part_items_expand, 
nf);
-   evas_object_smart_callback_add(gl_parts, "contracted",
-                                  _part_items_contract, NULL);
-   evas_object_smart_callback_add(gl_parts, "expand,request",
-                                  _part_items_expand_req, NULL);
-   evas_object_smart_callback_add(gl_parts, "contract,request",
-                                  _part_items_contract_req, NULL);
-   evas_object_smart_callback_add(gl_parts, "unselected", 
_on_part_item_unselect, nf);
-
-   ICON_STANDARD_ADD(nf, ic, false, "arrow_left");
-
-   bt = elm_button_add(nf);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_layout_content_set(bt, "icon", ic);
-   evas_object_smart_callback_add(bt, "clicked", _navi_gl_parts_pop, nf);
-   elm_object_style_set(bt, "anchor");
-   evas_object_show(gl_parts);
-
-   elm_naviframe_item_push(nf, clicked_style->full_group_name, bt, NULL, 
gl_parts, NULL);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "plus");
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add(button, "clicked", _add_part_cb, nf);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt3", button);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "minus");
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add (button, "clicked", _del_part_cb, nf);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt2", button);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "arrow_up");
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add (button, "clicked", _above_part_cb, nf);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt1", button);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "arrow_down");
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add (button, "clicked", _past_part_cb, nf);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt0", button);
-}
-
-static Evas_Object *
-_item_style_content_get(void *data,
-                       Evas_Object *obj,
-                       const char *part)
-{
-   Style *_style = (Style *)data;
-   Evas_Object *icon = NULL;
-
-   assert(_style != NULL);
-
-   if ((!strcmp(part, "elm.swallow.end")) && (_style->isAlias))
-     {
-        IMAGE_ADD_NEW(obj, icon, "icon", "alias_link");
-     }
-
-   return icon;
-}
-
-static void
-_on_widget_clicked_double(void *data,
-                          Evas_Object *obj,
-                          void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-   Elm_Object_Item *glit_class, *glit_style;
-   Evas_Object *nf, *gl_class, *bt, *ic;
-   Eina_Inlist *styles = NULL, *classes = NULL;
-   Widget *_widget;
-   Class *_class;
-   Style *_style = NULL;
-   Evas_Object *button = NULL;
-   Evas_Object *_icon = NULL;
-
-   _style = elm_object_item_data_get(glit);
-
-   assert(_style != NULL);
-
-   if (_style->__type == LAYOUT)
-     {
-        _on_style_clicked_double(data, obj, event_info);
-        return;
-     }
-   _style = NULL;
-
-   nf = evas_object_data_get(obj, NAVIFRAME_DATA_KEY);
-   _widget = elm_object_item_data_get(glit);
-
-   assert(nf != NULL);
-   assert(_widget != NULL);
-
-   classes = _widget->classes;
-
-   assert(classes != NULL);
-
-   if (!_itc_class)
-     {
-        _itc_class = elm_genlist_item_class_new();
-        _itc_class->item_style = "group_index";
-        _itc_class->func.text_get = _item_class_label_get;
-        _itc_class->func.content_get = NULL;
-        _itc_class->func.state_get = NULL;
-        _itc_class->func.del = NULL;
-     }
-
-   if (!_itc_style)
-     {
-        _itc_style = elm_genlist_item_class_new();
-        _itc_style->item_style = "default";
-        _itc_style->func.text_get = _item_style_label_get;
-        _itc_style->func.content_get = _item_style_content_get;
-        _itc_style->func.state_get = NULL;
-        _itc_style->func.del = NULL;
-     }
-
-   gl_class = elm_genlist_add(nf);
-   evas_object_data_set(gl_class, NAVIFRAME_DATA_KEY, nf);
-   elm_genlist_select_mode_set(gl_class, ELM_OBJECT_SELECT_MODE_ALWAYS);
-   evas_object_size_hint_align_set(gl_class, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_weight_set(gl_class, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-
-   EINA_INLIST_FOREACH(classes, _class)
-     {
-        glit_class = elm_genlist_item_append(gl_class, _itc_class, _class,
-                                             NULL, ELM_GENLIST_ITEM_GROUP,
-                                             NULL, NULL);
-        styles = _class->styles;
-
-        EINA_INLIST_FOREACH(styles, _style)
-          {
-             glit_style = elm_genlist_item_append(gl_class, _itc_style,
-                             _style, glit_class, ELM_GENLIST_ITEM_NONE,
-                             NULL, NULL);
-             elm_object_item_data_set(glit_style, _style);
-          }
-     }
-   evas_object_smart_callback_add(gl_class, "clicked,double",
-                                  _on_style_clicked_double, data);
-
-   ICON_STANDARD_ADD(nf, ic, false, "arrow_left");
-   bt = elm_button_add(nf);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_layout_content_set(bt, "icon", ic);
-   elm_object_style_set(bt, "anchor");
-   evas_object_smart_callback_add(bt, "clicked", _navi_gl_styles_pop, nf);
-   elm_naviframe_item_push(nf, _widget->name, bt, NULL, gl_class, NULL);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "minus");
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add (button, "clicked", _del_style_cb, nf);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt0", button);
-
-   button = elm_button_add(nf);
-   ICON_STANDARD_ADD(button, _icon, true, "plus");
-   evas_object_size_hint_align_set(button, -1, EVAS_HINT_FILL);
-   elm_object_part_content_set(button, NULL, _icon);
-   evas_object_smart_callback_add (button, "clicked", _add_style_cb, obj);
-   elm_object_style_set(button, "anchor");
-   elm_object_part_content_set(nf, "elm.swallow.bt1", button);
-   evas_object_show(gl_class);
-}
-
-Eina_Bool
-ui_widget_list_class_data_reload(Evas_Object *gl_classes, Eina_Inlist *classes)
-{
-   Style *_style = NULL;
-   Class *_class = NULL;
-   Eina_Inlist *styles = NULL;
-   Elm_Object_Item *glit_style = NULL;
-   Elm_Object_Item *glit_class = NULL;
-
-   assert(gl_classes != NULL);
-
-   elm_genlist_clear(gl_classes);
-
-   assert(classes != NULL);
-
-   if (!_itc_class)
-     {
-        _itc_class = elm_genlist_item_class_new();
-        _itc_class->item_style = "group_index";
-        _itc_class->func.text_get = _item_class_label_get;
-        _itc_class->func.content_get = NULL;
-        _itc_class->func.state_get = NULL;
-        _itc_class->func.del = NULL;
-     }
-
-   if (!_itc_style)
-     {
-        _itc_style = elm_genlist_item_class_new();
-        _itc_style->item_style = "default";
-        _itc_style->func.text_get = _item_style_label_get;
-        _itc_style->func.content_get = NULL;
-        _itc_style->func.state_get = NULL;
-        _itc_style->func.del = NULL;
-     }
-
-   EINA_INLIST_FOREACH(classes, _class)
-     {
-        glit_class = elm_genlist_item_append(gl_classes, _itc_class, _class,
-                                             NULL, ELM_GENLIST_ITEM_NONE,
-                                             NULL, NULL);
-        styles = _class->styles;
-
-        EINA_INLIST_FOREACH(styles, _style)
-          {
-             glit_style = elm_genlist_item_append(gl_classes, _itc_style,
-                             _style, glit_class, ELM_GENLIST_ITEM_NONE,
-                             NULL, NULL);
-             elm_object_item_data_set(glit_style, _style);
-          }
-     }
-   return true;
-}
-
-TODO("This is old function and PROBABLY won't be ever used again.")
-Evas_Object *
-ui_widget_list_add(Evas_Object *parent __UNUSED__)
-{
-   Evas_Object *tabs = NULL;
-/*   Evas_Object *nf_widgets, *nf_layouts;
-   Evas_Object *ic, *bt;
-   Evas_Object *gl_widgets = NULL;
-   Evas_Object *gl_layouts = NULL;
-   Elm_Object_Item *it_widgets, *it_layouts;
-   Ewe_Tabs_Item *widgets_tab, *layouts_tab;
-
-   assert(parent != NULL);
-
-   if (!_itc_widget)
-     {
-        _itc_widget = elm_genlist_item_class_new();
-        _itc_widget->item_style = "title";
-        _itc_widget->func.text_get = _item_widget_label_get;
-        _itc_widget->func.content_get = NULL;
-        _itc_widget->func.state_get = NULL;
-        _itc_widget->func.del = NULL;
-     }
-   if (!_itc_layout)
-     {
-        _itc_layout = elm_genlist_item_class_new();
-        _itc_layout->item_style = "title";
-        _itc_layout->decorate_item_style = "mode";
-        _itc_layout->func.text_get = _item_layout_label_get;
-        _itc_layout->func.content_get = _item_style_content_get;
-        _itc_layout->func.state_get = NULL;
-        _itc_layout->func.del = NULL;
-     }
-   tabs = ewe_tabs_add(parent);
-
-   widgets_tab = ewe_tabs_item_append(tabs, NULL, _("Themes"), NULL);
-   layouts_tab = ewe_tabs_item_append(tabs, NULL, _("Layouts"), NULL);
-
-
-#define NAVI(TYPE, TEXT) \
-   nf_##TYPE = elm_naviframe_add(tabs); \
-   ewe_tabs_item_content_set(tabs, TYPE##_tab, nf_##TYPE); \
-   evas_object_size_hint_align_set(nf_##TYPE, EVAS_HINT_FILL, EVAS_HINT_FILL); 
\
-   evas_object_size_hint_weight_set(nf_##TYPE, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND); \
-    \
-   gl_##TYPE = elm_genlist_add(nf_##TYPE); \
-   evas_object_size_hint_align_set(gl_##TYPE, \
-                                   EVAS_HINT_FILL, \
-                                   EVAS_HINT_FILL); \
-   evas_object_size_hint_weight_set(gl_##TYPE, \
-                                    EVAS_HINT_EXPAND, \
-                                    EVAS_HINT_EXPAND); \
-   evas_object_data_set(gl_##TYPE, NAVIFRAME_DATA_KEY, nf_##TYPE); \
-   evas_object_data_set(gl_##TYPE, TABS_DATA_KEY, tabs); \
-   evas_object_data_set(nf_##TYPE, TABS_DATA_KEY, tabs); \
-    \
-   it_##TYPE = elm_naviframe_item_push(nf_##TYPE, NULL, NULL, NULL, gl_##TYPE, 
NULL); \
-   elm_object_item_part_text_set(it_##TYPE, "subtitle", TEXT);
-
-   NAVI(widgets, _("Widget list"));
-   NAVI(layouts, _("Layouts list"));
-#undef NAVI
-   ICON_STANDARD_ADD(nf_layouts, ic, false, "plus");
-   bt = elm_button_add(nf_layouts);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_layout_content_set(bt, "icon", ic);
-   elm_object_style_set(bt, "anchor");
-   evas_object_show(bt);
-   evas_object_data_set(bt, WIDGETLIST_DATA_KEY, tabs);
-   evas_object_smart_callback_add (bt, "clicked", _layout_add_cb, parent);
-   elm_object_item_part_content_set(it_layouts, "elm.swallow.bt1", bt);
-   ICON_STANDARD_ADD(nf_layouts, ic, false, "minus");
-   bt = elm_button_add(nf_layouts);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_layout_content_set(bt, "icon", ic);
-   elm_object_style_set(bt, "anchor");
-   evas_object_show(bt);
-   evas_object_data_set(bt, WIDGETLIST_DATA_KEY, tabs);
-   evas_object_smart_callback_add (bt, "clicked", _layout_del_cb, parent);
-   elm_object_item_part_content_set(it_layouts, "elm.swallow.bt0", bt);
-
-   evas_object_data_set(tabs, WIDGETS_NAVIFRAME_DATA_KEY, nf_widgets);
-   evas_object_data_set(tabs, LAYOUTS_NAVIFRAME_DATA_KEY, nf_layouts);
-   evas_object_data_set(tabs, WIDGETS_TAB_DATA_KEY, widgets_tab);
-   evas_object_data_set(tabs, LAYOUTS_TAB_DATA_KEY, layouts_tab); */
-
-   return tabs;
-}
-
-Eina_Bool
-ui_widget_list_title_set(Evas_Object *object, const char *title)
-{
-   Elm_Object_Item *item_gl_widgets;
-
-   assert(object != NULL);
-   assert(title != NULL);
-
-   item_gl_widgets = elm_naviframe_bottom_item_get(evas_object_data_get(object,
-                                                   
WIDGETS_NAVIFRAME_DATA_KEY));
-
-   assert(item_gl_widgets != NULL);
-
-   elm_object_item_part_text_set(item_gl_widgets, "elm.text.title", title);
-
-   item_gl_widgets = elm_naviframe_bottom_item_get(evas_object_data_get(object,
-                                                   
LAYOUTS_NAVIFRAME_DATA_KEY));
-
-   assert(item_gl_widgets != NULL);
-
-   elm_object_item_part_text_set(item_gl_widgets, "elm.text.title", title);
-
-   return true;
-}
-
-TODO("fix renaming")
-/*
-static void
-_wl_key_down_cb(void *data __UNUSED__,
-                Evas *e __UNUSED__,
-                Evas_Object *obj,
-                void *event)
-{
-   Evas_Event_Key_Down *ev = event;
-   Elm_Object_Item *eoi = NULL, *dec_eoi = NULL;
-   Style *_style = NULL;
-
-   if ((evas_key_modifier_is_set(ev->modifiers, "Alt")) ||
-       (evas_key_modifier_is_set(ev->modifiers, "Shift")) ||
-       (evas_key_modifier_is_set(ev->modifiers, "Control")))
-      return;
-
-   dec_eoi = elm_genlist_decorated_item_get(obj);
-   if (!strcmp(ev->key, "F2"))
-     {
-        eoi = elm_genlist_selected_item_get(obj);
-        if (!eoi)
-          {
-             NOTIFY_INFO(3, _("Please select element for rename"));
-             return;
-          }
-        _style = elm_object_item_data_get(eoi);
-        if (_style->__type == LAYOUT)
-          {
-             if (dec_eoi)
-               {
-                  elm_genlist_item_decorate_mode_set(dec_eoi, "mode",
-                                                     false);
-                  elm_genlist_item_update(dec_eoi);
-               }
-             elm_genlist_item_decorate_mode_set(eoi, "mode", true);
-          }
-        return;
-     }
-   if ((!strcmp(ev->key, "Escape")) && (dec_eoi))
-     {
-        elm_genlist_item_decorate_mode_set(dec_eoi, "mode", false);
-        elm_genlist_item_update(dec_eoi);
-        elm_genlist_item_selected_set(dec_eoi, true);
-        return;
-     }
-   return;
-} */
-
-Eina_Bool
-ui_widget_list_layouts_reload(Evas_Object *gl_layouts, Project *project)
-{
-   Elm_Object_Item *eoi = NULL;
-   Style *_layout = NULL;
-
-   assert(gl_layouts != NULL);
-   assert(project != NULL);
-
-   elm_genlist_clear(gl_layouts);
-   EINA_INLIST_FOREACH(project->layouts, _layout)
-     {
-        eoi = elm_genlist_item_append(gl_layouts, _itc_layout, _layout,
-                                      NULL, ELM_GENLIST_ITEM_NONE,
-                                      NULL, NULL);
-        elm_object_item_data_set(eoi, _layout);
-     }
-   return true;
-}
-
-Eina_Bool
-ui_widget_list_data_set(Evas_Object *object, Project *project)
-{
-   Widget *_widget;
-   Style *_layout;
-   Elm_Object_Item *eoi;
-   Evas_Object *nf_widgets;
-   Evas_Object *gl_widgets;
-   Evas_Object *nf_layouts;
-   Evas_Object *gl_layouts;
-   Eina_Inlist *widget_list = NULL;
-
-   assert(object != NULL);
-   assert(project != NULL);
-
-   widget_list = project->widgets;
-   nf_widgets = evas_object_data_get(object, WIDGETS_NAVIFRAME_DATA_KEY);
-
-   assert(nf_widgets != NULL);
-
-   gl_widgets = elm_object_item_part_content_get(_widget_list_get(nf_widgets),
-                                                 "elm.swallow.content");
-
-   assert(gl_widgets != NULL);
-
-   elm_genlist_select_mode_set(gl_widgets, ELM_OBJECT_SELECT_MODE_ALWAYS);
-
-   nf_layouts = evas_object_data_get(object, LAYOUTS_NAVIFRAME_DATA_KEY);
-
-   assert(nf_layouts != NULL);
-
-   gl_layouts = elm_object_item_part_content_get(_widget_list_get(nf_layouts),
-                                                 "elm.swallow.content");
-
-   assert(gl_layouts != NULL);
-
-   elm_genlist_select_mode_set(gl_layouts, ELM_OBJECT_SELECT_MODE_ALWAYS);
-
-   EINA_INLIST_FOREACH(widget_list, _widget)
-     {
-        eoi = elm_genlist_item_append(gl_widgets, _itc_widget, _widget,
-                                      NULL, ELM_GENLIST_ITEM_NONE,
-                                      _wl_item_selected, NULL);
-        elm_object_item_data_set(eoi, _widget);
-     }
-
-   EINA_INLIST_FOREACH(project->layouts, _layout)
-     {
-        eoi = elm_genlist_item_append(gl_layouts, _itc_layout, _layout,
-                                      NULL, ELM_GENLIST_ITEM_NONE,
-                                      _wl_item_selected, NULL);
-        elm_object_item_data_set(eoi, _layout);
-     }
-
-#define CALLBACKS(TYPE) \
-   evas_object_smart_callback_add(gl_##TYPE, "clicked,double", \
-                                  _on_widget_clicked_double, project);
-
-TODO("fix renaming")
-/*   evas_object_event_callback_add(gl_##TYPE, EVAS_CALLBACK_KEY_DOWN, \
-                                  _wl_key_down_cb, NULL); \ */
-   CALLBACKS(widgets);
-   CALLBACKS(layouts);
-#undef CALLBACKS
-   return true;
-}
-
-Eina_Bool
-ui_widget_list_part_add(Evas_Object *object, Style *style, const char *name)
-{
-   Evas_Object *gl_parts, *nf;
-   Elm_Object_Item *eoi;
-   Part *part;
-
-   assert(object != NULL);
-   assert(style != NULL);
-   assert(name != NULL);
-
-   part = wm_part_add(style, name);
-
-   assert(part != NULL);
-
-   if (style->__type == STYLE)
-     {
-        nf = evas_object_data_get(object, WIDGETS_NAVIFRAME_DATA_KEY);
-     }
-   else if (style->__type == LAYOUT)
-     {
-        nf = evas_object_data_get(object, LAYOUTS_NAVIFRAME_DATA_KEY);
-     }
-   else
-     {
-        ERR("Wrong style type");
-        abort();
-     }
-
-   assert(nf != NULL);
-
-   gl_parts = elm_object_item_part_content_get(_widget_list_get(nf),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   if ((part->type == EDJE_PART_TYPE_TABLE) ||
-       (part->type == EDJE_PART_TYPE_BOX))
-     eoi = elm_genlist_item_append(gl_parts, _itc_container, part,
-                                   NULL, ELM_GENLIST_ITEM_TREE,
-                                   _on_part_select, nf);
-   else
-     eoi = elm_genlist_item_append(gl_parts, _itc_part, part, NULL,
-                                   ELM_GENLIST_ITEM_NONE, _on_part_select, nf);
-   elm_object_item_data_set(eoi, part);
-   elm_genlist_item_selected_set(eoi, true);
-
-   return true;
-}
-
-Eina_Bool
-ui_widget_list_selected_part_del(Evas_Object *object, Style *style)
-{
-   Evas_Object *gl_parts;
-   Elm_Object_Item *eoi, *next_eoi;
-   Part *part;
-
-   assert(object != NULL);
-   assert(style != NULL);
-
-   gl_parts = 
elm_object_item_part_content_get(_widget_list_get(_current_naviframe_get(object)),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   eoi = elm_genlist_selected_item_get(gl_parts);
-
-   if (!eoi)
-     {
-        NOTIFY_INFO(3, _("No part selected"));
-        return false;
-     }
-   if (elm_genlist_item_parent_get(eoi))
-     {
-        eoi = elm_genlist_item_parent_get(eoi);
-        elm_genlist_item_subitems_clear(eoi);
-     }
-   else
-     elm_genlist_item_subitems_clear(eoi);
-   part = (Part *)elm_object_item_data_get(eoi);
-   wm_part_del(style, part);
-
-   next_eoi = elm_genlist_item_next_get(eoi);
-   if (!next_eoi) next_eoi = elm_genlist_item_prev_get(eoi);
-   if (next_eoi) elm_genlist_item_selected_set(next_eoi, true);/*  */
-   elm_object_item_del(eoi);
-
-   return true;
-}
-
-static Eina_Bool
-_selected_part_move(Evas_Object *object, Style *style, Eina_Bool move_up)
-{
-   Evas_Object *gl_parts = NULL;
-   Elm_Object_Item *eoi = NULL;
-   Elm_Object_Item *new_eoi = NULL;
-   Elm_Object_Item *prev_eoi = NULL;
-   Elm_Object_Item *next_eoi = NULL;
-   Elm_Object_Item *prev_next_eoi = NULL;
-   Part *part = NULL;
-   Eina_Inlist *prev_elm =  NULL;
-   Eina_Inlist *next_elm =  NULL;
-   Eina_Inlist *itr = NULL;
-   Part *_part = NULL;
-   Evas_Object *nf;
-   Eina_Bool expanded;
-
-   assert(object != NULL);
-   assert(style != NULL);
-
-   nf = _current_naviframe_get(object);
-
-   assert(nf != NULL);
-
-   gl_parts = elm_object_item_part_content_get(_widget_list_get(nf),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   eoi = elm_genlist_selected_item_get(gl_parts);
-   if (!eoi)
-     {
-        NOTIFY_INFO(3, _("No part selected"));
-        return false;
-     }
-   expanded = elm_genlist_item_expanded_get(eoi);
-   if (move_up)
-     {
-        prev_eoi = elm_genlist_item_prev_get(eoi);
-        if (!prev_eoi)
-          {
-             NOTIFY_INFO(3, _("Selected part is currently on top of the 
list"));
-             return false;
-          }
-        if (elm_genlist_item_parent_get(prev_eoi))
-          prev_eoi = elm_genlist_item_parent_get(prev_eoi);
-     }
-   else
-     {
-        next_eoi = elm_genlist_item_next_get(eoi);
-        /* if actual moving item is Container */
-        while (elm_genlist_item_parent_get(next_eoi))
-          next_eoi = elm_genlist_item_next_get(next_eoi);
-        if (!next_eoi)
-          {
-             NOTIFY_INFO(3, _("Selected part is currently on bottom of the 
list"));
-             return false;
-          }
-        /* if next item is Container with expanded items */
-        if (elm_genlist_item_subitems_count(next_eoi) > 0)
-          {
-             next_eoi = elm_genlist_item_next_get(next_eoi);
-             prev_next_eoi = next_eoi;
-             while (elm_genlist_item_parent_get(next_eoi))
-               {
-                  prev_next_eoi = next_eoi;
-                  next_eoi = elm_genlist_item_next_get(next_eoi);
-               }
-             if (!next_eoi) next_eoi = prev_next_eoi;
-          }
-     }
-   part = elm_object_item_data_get(eoi);
-
-   if (part->__type != PART) return false;
-
-   if (part->type == EDJE_PART_TYPE_TABLE ||
-       part->type == EDJE_PART_TYPE_BOX)
-     {
-        new_eoi = (move_up) ?
-           elm_genlist_item_insert_before(gl_parts, _itc_container, part, NULL,
-                                          prev_eoi, 
elm_genlist_item_type_get(eoi),
-                                          _on_part_select, nf) :
-           elm_genlist_item_insert_after(gl_parts, _itc_container, part, NULL,
-                                         next_eoi, 
elm_genlist_item_type_get(eoi),
-                                         _on_part_select, nf);
-     }
-   else
-     {
-        new_eoi = (move_up) ?
-           elm_genlist_item_insert_before(gl_parts, _itc_part, part, NULL,
-                                          prev_eoi, 
elm_genlist_item_type_get(eoi),
-                                          _on_part_select, nf) :
-           elm_genlist_item_insert_after(gl_parts, _itc_part, part, NULL,
-                                         next_eoi, 
elm_genlist_item_type_get(eoi),
-                                         _on_part_select, nf);
-     }
-   eoi = elm_genlist_selected_item_get(gl_parts);
-   elm_object_item_del(eoi);
-   elm_genlist_item_selected_set(new_eoi, EINA_TRUE);
-   elm_genlist_item_expanded_set(new_eoi, expanded);
-
-   for(itr = style->parts; itr != NULL; itr = itr->next)
-     {
-        _part = EINA_INLIST_CONTAINER_GET(itr, Part);
-        if (_part == part)
-          {
-             prev_elm = itr->prev;
-             next_elm = itr->next;
-             style->parts = eina_inlist_remove(style->parts, itr);
-             style->parts = (move_up) ? 
eina_inlist_prepend_relative(style->parts,
-                                                                     itr, 
prev_elm):
-                                        
eina_inlist_append_relative(style->parts,
-                                                                    itr, 
next_elm);
-             break;
-          }
-     }
-
-   return true;
-}
-
-Eina_Bool
-ui_widget_list_selected_part_above(Evas_Object *object, Style *style)
-{
-   return _selected_part_move(object, style, true);
-}
-
-Eina_Bool
-ui_widget_list_selected_part_below(Evas_Object *object, Style *style)
-{
-   return _selected_part_move(object, style, false);
-}
-
-Part *
-ui_widget_list_selected_part_get(Evas_Object *object)
-{
-   Evas_Object *gl_parts;
-   Part *part;
-   Elm_Object_Item *eoi;
-   Elm_Object_Item *parent_item = NULL;
-
-   assert(object != NULL);
-
-   gl_parts = 
elm_object_item_part_content_get(_widget_list_get(_current_naviframe_get(object)),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   eoi = elm_genlist_selected_item_get(gl_parts);
-   if (!eoi) return NULL;
-   parent_item = elm_genlist_item_parent_get(eoi);
-   if (parent_item) eoi = parent_item;
-
-   part = (Part *) elm_object_item_data_get(eoi);
-   if ((!part) || (part->__type != PART)) return NULL;
-
-   return part;
-}
-
-Eina_Bool
-ui_widget_list_part_selected_set(Evas_Object *object,
-                                 const char *part,
-                                 Eina_Bool selected)
-{
-   Evas_Object *gl_parts;
-
-   assert(object != NULL);
-   assert(part != NULL);
-
-   gl_parts = 
elm_object_item_part_content_get(_widget_list_get(_current_naviframe_get(object)),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   Elm_Object_Item *item = _genlist_find_item_by_name(gl_parts, part);
-
-   if (item)
-     {
-        elm_genlist_item_selected_set(item, selected);
-        elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
-        return true;
-     }
-   else
-     {
-        ERR("This should appear only in tests to skip actual part selection");
-        return false;
-     }
-}
-
-Eina_Bool
-ui_widget_list_part_update(Evas_Object *object, const char *part)
-{
-   Evas_Object *gl_parts;
-   Elm_Object_Item *item;
-
-   assert(object != NULL);
-   assert(part != NULL);
-
-   gl_parts = 
elm_object_item_part_content_get(_widget_list_get(_current_naviframe_get(object)),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   item = _genlist_find_item_by_name(gl_parts, part);
-
-   assert(item != NULL);
-
-   elm_genlist_item_update(item);
-
-   return true;
-}
-
-Eina_List *
-ui_widget_list_selected_parts_get(Evas_Object *object)
-{
-   Evas_Object *gl_parts;
-   Part *part;
-   Elm_Object_Item *eoi;
-   Eina_List *selected, *l;
-   Eina_List *parts = NULL;
-
-   assert(object != NULL);
-
-   gl_parts = 
elm_object_item_part_content_get(_widget_list_get(_current_naviframe_get(object)),
-                                               "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   selected = (Eina_List *)elm_genlist_selected_items_get(gl_parts);
-   if (!selected) return NULL;
-
-   EINA_LIST_FOREACH(selected, l, eoi)
-     {
-        part = (Part *)elm_object_item_data_get(eoi);
-        parts = eina_list_append(parts, part);
-     }
-
-   return parts;
-}
-
-void
-ui_widget_list_style_parts_reload(Evas_Object *object, Style *style)
-{
-   Part *_part = NULL;
-   Elm_Object_Item *eoi = NULL;
-   Evas_Object *nf = NULL, *gl_parts = NULL;
-
-   assert(object != NULL);
-   assert(style != NULL);
-
-   gl_parts = elm_object_item_part_content_get(
-                              _widget_list_get(_current_naviframe_get(object)),
-                              "elm.swallow.content");
-
-   assert(gl_parts != NULL);
-
-   nf = evas_object_data_get(gl_parts, NAVIFRAME_DATA_KEY);
-
-   assert(nf != NULL);
-
-   elm_genlist_clear(gl_parts);
-
-   EINA_INLIST_FOREACH(style->parts, _part)
-     {
-        if ((_part->type == EDJE_PART_TYPE_TABLE) ||
-            (_part->type == EDJE_PART_TYPE_BOX))
-          eoi = elm_genlist_item_append(gl_parts, _itc_container, _part,
-                                        NULL, ELM_GENLIST_ITEM_TREE,
-                                        _on_part_select, nf);
-        else
-          eoi = elm_genlist_item_append(gl_parts, _itc_part, _part,
-                                        NULL, ELM_GENLIST_ITEM_NONE,
-                                        _on_part_select, nf);
-        elm_object_item_data_set(eoi, _part);
-     }
-}
-
-TODO("Really old function! Remove!")
-Eina_Bool
-ui_widget_list_tab_activate(Evas_Object *object __UNUSED__, unsigned int 
tab_index __UNUSED__)
-{
-/*   Ewe_Tabs_Item * tab_item;
-   const Eina_List *tabs_list;
-
-   assert(object != NULL);
-
-   tabs_list = ewe_tabs_items_list_get(object);
-   tab_item = eina_list_nth(tabs_list, tab_index);
-   if (!tab_item) return false;
-
-   ewe_tabs_active_item_set(object, tab_item); */
-   return true;
-}
-
-Eina_Bool
-ui_widget_list_part_items_refresh(Evas_Object *obj, Part *part, Eina_Bool 
addition)
-{
-   Elm_Object_Item *iterator = NULL;
-   Part *item_data = NULL;
-   Eina_List *l_items = NULL, *l_n_items = NULL;
-   Eina_Stringshare *item_name = NULL;
-   Evas_Object *nf = NULL;
-   Evas_Object *part_list = NULL;
-   Elm_Object_Item *eoi = NULL;
-
-   assert(obj != NULL);
-   assert(part != NULL);
-
-   part_list = elm_object_item_part_content_get(
-                           _widget_list_get(_current_naviframe_get(obj)),
-                            "elm.swallow.content");
-
-   assert(part_list != NULL);
-
-   nf = evas_object_data_get(part_list, NAVIFRAME_DATA_KEY);
-
-   assert(nf != NULL);
-
-   iterator = elm_genlist_first_item_get(part_list);
-   if (!iterator) return false;
-
-   while (iterator)
-     {
-        item_data = elm_object_item_data_get(iterator);
-
-        /* We are searching through parts.
-         * If current item is actually BOX's or TABLE's item (contain parent),
-         * checking need to be skipped. */
-        if (!elm_genlist_item_parent_get(iterator))
-          {
-             assert(item_data != NULL);
-             assert(item_data->__type == PART);
-
-             if (item_data == part)
-               {
-                  if (!elm_genlist_item_expanded_get(iterator)) return true;
-                  elm_genlist_item_subitems_clear(iterator);
-                  EINA_LIST_FOREACH_SAFE(item_data->items, l_items, l_n_items, 
item_name)
-                    {
-
-                       eoi = elm_genlist_item_append(part_list, 
_itc_part_item, item_name,
-                                                     iterator, 
ELM_GENLIST_ITEM_NONE,
-                                                     _on_part_item_select, nf);
-                    }
-                  if (addition)
-                    elm_genlist_item_selected_set(eoi, true);
-                  else
-                    elm_genlist_item_selected_set(iterator, true);
-                  return true;
-               }
-          }
-        iterator = elm_genlist_item_next_get(iterator);
-     }
-   return false;
-}
-
diff --git a/src/bin/ui/connector.c b/src/bin/ui/connector.c
deleted file mode 100644
index 9abe920..0000000
--- a/src/bin/ui/connector.c
+++ /dev/null
@@ -1,1412 +0,0 @@
-/*
- * Edje Theme Editor
- * Copyright (C) 2013-2014 Samsung Electronics.
- *
- * This file is part of Edje Theme Editor.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
- */
-
-#include "main_window.h"
-#include "project_navigator.h"
-#include "tabs.h"
-#include "signals.h"
-#include "preference.h"
-
-#define makefile "#! bin/sh\nedje_cc -id ./images -fd ./fonts -sd ./sounds  "
-
-static Elm_Entry_Filter_Accept_Set accept_name = {
-   .accepted = NULL,
-   .rejected = STYLE_NAME_BANNED_SYMBOLS
-};
-
-/*
-static Eina_Bool
-_project_close_request(Eina_Bool changed);
-*/
-
-/*
-static void
-_signal_select(void *data __UNUSED__,
-               Evas_Object *obj __UNUSED__,
-               void *event_info)
-{
-   Signal *sig = (Signal *)event_info;
-   Part *part = NULL;
-   Evas_Object *prop_view = NULL;
-
-   assert(sig != NULL);
-   assert(sig->style != NULL);
-
-   evas_object_freeze_events_set(sig->style->obj, false);
-   wm_style_state_parts_reset(sig->style);
-   edje_edit_program_run(sig->style->obj, sig->program);
-   wm_style_current_state_parts_update(sig->style);
-
-   prop_view = ui_block_property_get();
-   part = ui_states_list_part_get();
-   TODO("Explain to me this piece of code")
-   if (part)
-     {
-        ui_states_list_data_set(sig->style, part);
-        ui_property_state_set(prop_view, part);
-        workspace_edit_object_part_state_set(ap.workspace, part);
-     }
-   else
-     workspace_edit_object_recalc(ap.workspace);
-   evas_object_freeze_events_set(sig->style->obj, true);
-}
-*/
-
-/*
-static void
-_add_state(void *data __UNUSED__,
-           Evas_Object *obj __UNUSED__,
-           void *event_info)
-{
-   State_Data *sd = (State_Data *)event_info;
-   char **split;
-
-   assert(sd != NULL);
-
-   if (sd->duplicate_state)
-     {
-        split = eina_str_split(sd->duplicate_state, " ", 2);
-        workspace_edit_object_part_state_copy(ap.workspace, sd->part->name,
-                                              split[0], atof(split[1]),
-                                              sd->state, sd->value);
-        free(split[0]);
-        free(split);
-     }
-   else
-     workspace_edit_object_part_state_add(ap.workspace, sd->part->name,
-                                          sd->state, sd->value);
-   project_changed(true);
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-}
-
-static void
-_del_state(void *data __UNUSED__,
-           Evas_Object *obj __UNUSED__,
-           void *event_info)
-{
-   State_Data *sd = (State_Data *)event_info;
-   char **split;
-
-   assert(sd);
-
-   split = eina_str_split(sd->state, " ", 2);
-   workspace_edit_object_part_state_del(ap.workspace, sd->part->name, 
split[0], atof(split[1]));
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-   project_changed(true);
-   free(split[0]);
-   free(split);
-}
-*/
-static void
-_del_layout(void *data __UNUSED__,
-            Evas_Object *obj __UNUSED__,
-            void *event_info __UNUSED__)
-{
-   ui_group_delete(LAYOUT);
-}
-
-static Evas_Object *
-_widgetlist_current_genlist_get(Type __UNUSED__ group_type)
-{
-/*   Evas_Object *tabs = NULL;
-   const Evas_Object *nf = NULL;
-   Elm_Object_Item *nf_item = NULL;
-   Ewe_Tabs_Item *current_tab_item = NULL;
-
-   tabs = ui_block_widget_list_get();
-   current_tab_item = ewe_tabs_active_item_get(tabs);
-   nf = ewe_tabs_item_content_get(tabs, current_tab_item);
-
-   if ((group_type == STYLE) || (group_type == CLASS))
-      nf_item = elm_naviframe_top_item_get(nf);
-   else
-      nf_item = elm_naviframe_bottom_item_get(nf);
-
-   return elm_object_item_part_content_get(nf_item, NULL);
-*/
-   return NULL;
-}
-
-static void
-_job_popup_close(void *data __UNUSED__)
-{
-
-   evas_object_del(ap.popup);
-   ap.popup = NULL;
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-}
-
-static void
-_popup_close_cb(void *data __UNUSED__,
-                Evas_Object *obj __UNUSED__,
-                void *event_info __UNUSED__)
-{
-   ecore_job_add(_job_popup_close, NULL);
-}
-
-static void
-_add_layout_cb(void *data,
-               Evas_Object *obj __UNUSED__,
-               void *event_info __UNUSED__)
-{
-   Evas_Object *widget_list, *eoi;
-   Style *layout = NULL;
-   Eina_Stringshare *name = NULL;
-   Evas_Object *en;
-
-   widget_list = _widgetlist_current_genlist_get(LAYOUT);
-   en = (Evas_Object *)data;
-
-   assert(en != NULL);
-
-   name = eina_stringshare_add(elm_entry_entry_get(en));
-   if (eina_stringshare_strlen(name) <= 0)
-     {
-        NOTIFY_WARNING(_("Please type layout name"));
-        eina_stringshare_del(name);
-        return;
-     }
-
-   if (edje_edit_group_exist(ap.project->global_object, name))
-     {
-        NOTIFY_INFO(3, _("Failed to create new layout: layout with this name 
already exist"));
-        eina_stringshare_del(name);
-        return;
-     }
-
-   if (!edje_edit_group_add(ap.project->global_object, name))
-     {
-        ERR("Can't add group");
-        abort();
-     }
-
-   //pm_save_to_dev(ap.project, NULL, true);
-   layout = wm_style_add(name, name, LAYOUT, NULL);
-   ap.project->layouts = eina_inlist_append(ap.project->layouts,
-                                             EINA_INLIST_GET(layout));
-   wm_style_data_load(layout, evas_object_evas_get(widget_list),
-                      ap.project->mmap_file);
-   ui_widget_list_layouts_reload(widget_list, ap.project);
-   widget_list = _widgetlist_current_genlist_get(LAYOUT);
-   eoi = elm_genlist_last_item_get(widget_list);
-   elm_genlist_item_selected_set(eoi, true);
-   eina_stringshare_del(name);
-
-   ecore_job_add(_job_popup_close, NULL);
-   //project_changed(true);
-   eina_stringshare_del(name);
-   return;
-}
-
-static void
-_popup_layout_add(void *data __UNUSED__,
-                  Evas_Object *obj __UNUSED__,
-                  void *event_info __UNUSED__)
-{
-   Evas_Object *item, *en, *bt;
-
-
-   /* Checking if the source style is an alias.
-      We can't clone aliases right now, it need lots of difficult code for 
that.
-   */
-   ap.popup = elm_popup_add(ap.win_layout);
-   elm_object_part_text_set(ap.popup, "title,text", _("Add new layout"));
-   elm_popup_orient_set(ap.popup, ELM_POPUP_ORIENT_CENTER);
-
-   LAYOUT_PROP_ADD(ap.popup, "Style name:", "property", "1swallow")
-   ENTRY_ADD(item, en, true)
-   elm_object_part_text_set(en, "guide", _("Type a new layout name"));
-   elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, 
&accept_name);
-   elm_object_part_content_set(item, "elm.swallow.content", en);
-   elm_object_content_set(ap.popup, item);
-
-   BUTTON_ADD(ap.popup, bt, _("Add"));
-   evas_object_smart_callback_add(bt, "clicked", _add_layout_cb, en);
-   elm_object_part_content_set(ap.popup, "button1", bt);
-
-   BUTTON_ADD(ap.popup, bt, _("Cancel"));
-   evas_object_smart_callback_add(bt, "clicked", _popup_close_cb, NULL);
-   elm_object_part_content_set(ap.popup, "button2", bt);
-
-   evas_object_show(ap.popup);
-   elm_object_focus_set(en, true);
-}
-
-static void
-_del_style(void *data __UNUSED__,
-           Evas_Object *obj __UNUSED__,
-           void *event_info __UNUSED__)
-{
-   ui_group_delete(STYLE);
-}
-
-static void
-_add_style_dailog(void *data __UNUSED__,
-                  Evas_Object *obj __UNUSED__,
-                  void *event_info __UNUSED__)
-{
-   style_dialog_add();
-}
-
-Widget *
-ui_widget_from_ap_get(void)
-{
-   Widget *widget = NULL;
-   Evas_Object *gl_widget = NULL;
-   Elm_Object_Item *eoi = NULL;
-
-
-   gl_widget = _widgetlist_current_genlist_get(WIDGET);
-
-   assert(gl_widget != NULL);
-
-   eoi = elm_genlist_selected_item_get(gl_widget);
-
-   assert(eoi != NULL);
-
-   widget = elm_object_item_data_get(eoi);
-
-   assert(widget != NULL);
-
-   return widget;
-}
-
-Class *
-ui_class_from_ap_get(void)
-{
-   Evas_Object *gl_class = NULL;
-   Elm_Object_Item *eoi = NULL;
-   Elm_Object_Item *parent_eoi = NULL;
-
-
-   gl_class = _widgetlist_current_genlist_get(CLASS);
-
-   assert(gl_class != NULL);
-
-   eoi = elm_genlist_selected_item_get(gl_class);
-   TODO("Check logic here");
-   if (!eoi)
-     {
-        eoi = elm_genlist_first_item_get(gl_class);
-        if (!eoi) return NULL;
-     }
-   parent_eoi = elm_genlist_item_parent_get(eoi);
-   if (parent_eoi) eoi = parent_eoi;
-   return elm_object_item_data_get(eoi);
-}
-
-static inline void
-_widget_list_layouts_tab_activate(void)
-{
-
-   if (!eina_inlist_count(ap.project->widgets))
-     ui_widget_list_tab_activate(ui_block_widget_list_get(), 1);
-}
-
-Eina_Bool
-blocks_show(void)
-{
-   Evas_Object *wd_list;
-
-
-   wd_list = ui_widget_list_add(ap.block.left_top);
-   ui_widget_list_title_set(wd_list, ap.project->name);
-   ui_widget_list_data_set(wd_list, ap.project);
-   ui_block_widget_list_set(wd_list);
-   add_callbacks_wd(wd_list);
-
-   _widget_list_layouts_tab_activate();
-
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_BASE, false);
-   ui_menu_disable_set(ap.menu, MENU_FILE_SAVE, true);
-
-   code_edit_mode_switch(false);
-
-   return true;
-}
-
-static Eina_Bool
-_eflete_filter(const char *path,
-               Eina_Bool dir,
-               void *data __UNUSED__)
-{
-   if (dir) return true;
-
-   if (eina_str_has_extension(path, ".pro"))
-     return true;
-   return false;
-}
-
-static void
-_fs_close(void *data __UNUSED__,
-          Evas_Object *obj,
-          void *event_info __UNUSED__)
-{
-
-   ap.modal_editor--;
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-   evas_object_del(obj);
-}
-
-static void
-_progress_pm_open_end(void *data __UNUSED__, PM_Project_Result result)
-{
-
-   switch (result)
-     {
-      case PM_PROJECT_ERROR:
-        {
-           NOTIFY_INFO(3, _("Can't open project."));
-           break;
-        }
-      case PM_PROJECT_CANCEL:
-        {
-           NOTIFY_INFO(3, _("Project opening canceled."));
-           break;
-        }
-      case PM_PROJECT_SUCCESS:
-        {
-           ap.project = pm_project_thread_project_get();
-           assert(ap.project);
-
-           ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, 
false);
-           ui_menu_disable_set(ap.menu, MENU_FILE_CLOSE_PROJECT, false);
-           project_navigator_project_set();
-
-           NOTIFY_INFO(3, _("Project '%s' is opened."), ap.project->name);
-           STATUSBAR_PROJECT_PATH(ap.project->pro_path);
-           STATUSBAR_PROJECT_SAVE_TIME_UPDATE();
-
-           break;
-        }
-      default:
-        {
-           ERR("Wrong result");
-           abort();
-        }
-     }
-
-   splash_del(ap.splash);
-   ap.splash = NULL;
-}
-
-static Eina_Bool
-_progress_print(void *data, Eina_Stringshare *progress_string);
-
-static Eina_Bool
-_setup_open_splash(void *data, Splash_Status status __UNUSED__)
-{
-   Eina_Stringshare *path = data;
-
-   assert(path != NULL);
-
-   pm_project_open(path,
-                   _progress_print,
-                   _progress_pm_open_end,
-                   NULL);
-
-   eina_stringshare_del(path);
-
-   return true;
-}
-
-static Eina_Bool
-_teardown_open_splash(void *data __UNUSED__, Splash_Status status __UNUSED__)
-{
-   pm_project_thread_free();
-
-   return true;
-}
-
-static Eina_Bool
-_cancel_open_splash(void *data __UNUSED__, Splash_Status status __UNUSED__)
-{
-   pm_project_thread_cancel();
-
-   return true;
-}
-
-static void
-_on_fs_open_done(void *data,
-                 Evas_Object *obj __UNUSED__,
-                 void *event_info)
-{
-   Evas_Object *win;
-   const char *selected;
-   win = (Evas_Object *)data;
-
-   assert(win != NULL);
-
-   selected = (const char *)event_info;
-
-   evas_object_hide(win);
-   _fs_close(NULL, win, NULL);
-
-   if (!selected)
-     {
-        ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_STYLE_ONLY, 
true);
-        ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_BASE, true);
-        return;
-     }
-
-   ap.splash = splash_add(ap.win,
-                           _setup_open_splash,
-                           _teardown_open_splash,
-                           _cancel_open_splash,
-                           (void *)eina_stringshare_add(selected));
-   evas_object_focus_set(ap.splash, true);
-   evas_object_show(ap.splash);
-}
-/*
-Eina_Bool
-project_close(void)
-{
-
-   if (ap.project)
-     {
-        if (!_project_close_request(ap.project->changed))
-          return false;
-
-        STATUSBAR_PROJECT_PATH(_("No project opened"));
-        elm_layout_text_set(ap.win_layout, "eflete.project.time", _("Last 
saved: none"));
-        ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_BASE, true);
-        ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_STYLE_ONLY, 
true);
-        project_navigator_project_unset();
-        tabs_clean();
-        pm_project_close(ap.project);
-        ap.project = NULL;
-     }
-   return true;
-}
-*/
-
-void
-project_open(void)
-{
-   Evas_Object *win, *fs, *ic;
-   if (!project_close())
-     return;
-   win  = mw_add(NULL, _fs_close, NULL);
-
-   assert(win != NULL);
-
-   evas_object_show(win);
-   mw_title_set(win, "Select a project file");
-   ic = elm_icon_add(win);
-   elm_icon_standard_set(ic, "folder");
-   mw_icon_set(win, ic);
-
-   FILESELECTOR_ADD(fs, win, _on_fs_open_done, win);
-   elm_fileselector_custom_filter_append(fs, _eflete_filter, NULL, "Eflete 
Files");
-   elm_fileselector_mime_types_filter_append(fs, "*", "All Files");
-   elm_win_inwin_content_set(win, fs);
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
-
-   ap.modal_editor++;
-}
-
-/****************************** Project save 
**********************************/
-
-static Eina_Bool
-_progress_print(void *data __UNUSED__, Eina_Stringshare *progress_string)
-{
-   elm_object_part_text_set(ap.splash, "label.info", progress_string);
-
-   return true;
-}
-
-/*
-static void
-_progress_end(void *data __UNUSED__, PM_Project_Result result)
-{
-
-   switch (result)
-     {
-      case PM_PROJECT_ERROR:
-        {
-           NOTIFY_INFO(3, _("Error: project not saved."));
-           break;
-        }
-      case PM_PROJECT_CANCEL:
-        {
-           NOTIFY_INFO(3, _("Saving canceled."));
-           break;
-        }
-      case PM_PROJECT_SUCCESS:
-        {
-           ap.project->changed = false;
-           break;
-        }
-      default:
-        {
-           ERR("Wrong result");
-           abort();
-        }
-     }
-
-#ifdef HAVE_ENVENTOR
-   if (ap.enventor_mode)
-     {
-        wm_widgets_list_objects_load(ap.project->widgets,
-                                     evas_object_evas_get(ap.win),
-                                     ap.project->mmap_file);
-        wm_layouts_list_objects_load(ap.project->layouts,
-                                     evas_object_evas_get(ap.win),
-                                     ap.project->mmap_file);
-        wm_styles_build_alias(ap.project->widgets,
-                              ap.project->layouts);
-        enventor_object_focus_set(ap.enventor, true);
-        //pm_save_to_dev(ap.project, ap.project->current_style, true);
-     }
-#endif
-
-   splash_del(ap.splash);
-   ap.splash = NULL;
-}
-*/
-
-TODO("I think, this functionality need move to dialogs")
-static void
-_replace_cb(void *data,
-            Evas_Object *obj __UNUSED__,
-            void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-   *res = true;
-   ecore_main_loop_quit();
-}
-
-static void
-_ecancel_cb(void *data,
-            Evas_Object *obj __UNUSED__,
-            void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-   *res = false;
-   ecore_main_loop_quit();
-}
-
-
-Eina_Bool
-export_replace_request(Evas_Object *parent, const char *msg)
-{
-   Eina_Bool result = false;
-   Evas_Object *popup, *btn;
-   Eina_Stringshare *title;
-
-   assert(parent != NULL);
-
-   title = eina_stringshare_printf(_("Export project"));
-   popup = elm_popup_add(parent);
-   elm_object_part_text_set(popup, "title,text", title);
-   elm_popup_content_text_wrap_type_set(popup, ELM_WRAP_WORD);
-   elm_object_text_set(popup, msg);
-   BUTTON_ADD(popup, btn, _("Replace"));
-   evas_object_smart_callback_add(btn, "clicked", _replace_cb, &result);
-   elm_object_part_content_set(popup, "button1", btn);
-   BUTTON_ADD(popup, btn, _("Cancel"));
-   evas_object_smart_callback_add(btn, "clicked", _ecancel_cb, &result);
-   elm_object_part_content_set(popup, "button2", btn);
-   evas_object_show(popup);
-   eina_stringshare_del(title);
-
-   ecore_main_loop_begin();
-
-   evas_object_del(popup);
-
-   return result;
-}
-
-Eina_Bool
-export_warning(Evas_Object *parent, const char *title, const char *msg)
-{
-   Eina_Bool result = false;
-   Evas_Object *popup, *btn;
-
-   assert(parent != NULL);
-
-   popup = elm_popup_add(parent);
-   elm_object_part_text_set(popup, "title,text", title);
-   elm_popup_content_text_wrap_type_set(popup, ELM_WRAP_WORD);
-   elm_object_text_set(popup, msg);
-   BUTTON_ADD(popup, btn, _("Ok"));
-   evas_object_smart_callback_add(btn, "clicked", _ecancel_cb, &result);
-   elm_object_part_content_set(popup, "button1", btn);
-   evas_object_show(popup);
-
-   ecore_main_loop_begin();
-
-   evas_object_del(popup);
-
-   return result;
-}
-
-/*
-static Eina_Bool
-_export_splash_setup(void *data, Splash_Status status __UNUSED__)
-{
-   const char *path;
-
-   path = (const char *)data;
-   assert(path != NULL);
-
-   pm_project_develop_export(ap.project, path,
-                             _progress_print, _progress_end,
-                             NULL);
-
-   return true;
-}
-
-static Eina_Bool
-_export_splash_teardown(void *data, Splash_Status status __UNUSED__)
-{
-   eina_stringshare_del(data);
-   return true;
-}
-
-static void
-_on_export_done(void *data,
-                Evas_Object *obj __UNUSED__,
-                void *event_info)
-{
-   Eina_Stringshare *selected, *path, *dest_file;
-   Evas_Object *win;
-
-   win = (Evas_Object *)data;
-
-   assert(win != NULL);
-
-   selected = (const char *)event_info;
-   path = elm_fileselector_path_get(obj);
-   if (!selected)
-     {
-        ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-        evas_object_del(win);
-        return;
-     }
-
-   if (!strcmp(selected, path))
-     {
-        export_warning(win, _("Export edj develop"),
-                       _("Name field is empty! Please type a file name to 
export."));
-        return;
-     }
-
-   dest_file = eina_stringshare_add(selected);
-   if (!eina_str_has_extension(selected, ".edj"))
-     dest_file = eina_stringshare_printf("%s.edj", selected);
-   if ((ecore_file_exists(dest_file)) &&
-       (!export_replace_request(win, _("The file already exists."
-                                       "Replacement will overwrite its 
contents."))))
-     return;
-
-   ap.splash = splash_add(ap.win, _export_splash_setup, 
_export_splash_teardown,
-                           NULL, (void *)eina_stringshare_add(dest_file));
-   evas_object_focus_set(ap.splash, true);
-   evas_object_show(ap.splash);
-
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-   eina_stringshare_del(dest_file);
-   evas_object_del(win);
-}
-
-static Eina_Bool
-_edje_filter(const char *path,
-             Eina_Bool dir,
-             void *data __UNUSED__)
-{
-   if (dir) return true;
-
-   if (eina_str_has_extension(path, ".edj"))
-     return true;
-   return false;
-}
-
-void
-project_export_develop(void)
-{
-   Evas_Object *win, *fs;
-
-   win  = mw_add(NULL, _fs_close, NULL);
-
-   assert(win != NULL);
-
-   evas_object_show(win);
-   FILESELECTOR_ADD(fs, win, _on_export_done, win);
-   elm_object_text_set(fs, "Select a file");
-   elm_fileselector_is_save_set(fs, true);
-   elm_fileselector_custom_filter_append(fs, _edje_filter, NULL, "Edje Files");
-   elm_fileselector_mime_types_filter_append(fs, "*", "All Files");
-   elm_win_inwin_content_set(win, fs);
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
-}
-*/
-
-static void
-_on_export_edc_group_done(void *data,
-                          Evas_Object *obj,
-                          void *event_info)
-{
-   const char *selected;
-   Evas_Object *win;
-   Eina_Stringshare *path = NULL;
-   Eina_Stringshare *dir_path = NULL;
-   Style *style = NULL;
-
-   char **tmp;
-   unsigned int tokens_count, i;
-
-   win = (Evas_Object *)data;
-
-   assert(win != NULL);
-
-   selected = (const char *)event_info;
-   if (!selected)
-     {
-        evas_object_del(win);
-        return;
-     }
-   style = ap.project->current_style;
-
-   Eina_Stringshare *file = NULL;
-
-   tmp = eina_str_split_full(style->full_group_name, "/", 0, &tokens_count);
-   if (!tmp[0]) return;
-   file = eina_stringshare_add(tmp[0]);
-
-   for (i = 1; tokens_count - 1 > 0; i++, tokens_count--)
-     file = eina_stringshare_printf("%s_%s", file, tmp[i]);
-   free(tmp[0]);
-   free(tmp);
-
-   dir_path = eina_stringshare_printf("%s/%s", elm_fileselector_path_get(obj), 
file);
-   if (!ecore_file_exists(dir_path))
-     ecore_file_mkdir(dir_path);
-   path = eina_stringshare_printf("%s/%s.edc", dir_path, file);
-   if (!pm_project_style_source_code_export(ap.project, style, path))
-     ERR("Source code of the current style was not exported to edc file %s", 
path);
-   pm_style_resource_export(ap.project, style, dir_path);
-
-   eina_stringshare_del(file);
-   eina_stringshare_del(path);
-   eina_stringshare_del(dir_path);
-   evas_object_del(win);
-}
-
-void
-project_export_edc_group(void)
-{
-   Evas_Object *win, *fs;
-   win  = mw_add(NULL, _fs_close, NULL);
-
-   assert(win != NULL);
-
-   evas_object_show(win);
-   FILESELECTOR_ADD(fs, win, _on_export_edc_group_done, win);
-   elm_fileselector_is_save_set(fs, false);
-   elm_fileselector_folder_only_set(fs, true);
-   elm_win_inwin_content_set(win, fs);
-}
-
-/*
-static void
-_on_export_edc_project_done(void *data,
-                            Evas_Object *obj __UNUSED__,
-                            void *event_info)
-{
-   const char *selected;
-   Evas_Object *win;
-   Eina_Stringshare *dir_path = NULL;
-   Eina_Stringshare *build_sh = NULL;
-   Eina_Stringshare *build_str = NULL;
-   Eina_Stringshare *current_dev_path = NULL;
-   Eina_Strbuf *request_str = NULL;
-   Eina_Bool chk = true;
-   FILE *fbuild;
-
-   win = (Evas_Object *)data;
-
-   assert(win != NULL);
-
-   selected = (const char *)event_info;
-   if (!selected)
-     {
-        evas_object_del(win);
-        ap.modal_editor--;
-        return;
-     }
-   dir_path = eina_stringshare_printf("%s/%s", selected, ap.project->name);
-
-   if (ecore_file_exists(dir_path))
-     {
-        if (ecore_file_is_dir(dir_path))
-          {
-             current_dev_path = eina_stringshare_printf("%s/develop", 
dir_path);
-             if (!strcmp(ap.project->develop_path, current_dev_path))
-               {
-                  export_warning(win, _("Export edc project"),
-                                 _("Can not delete current project folder!"));
-                  return;
-               }
-             request_str = eina_strbuf_new();
-             eina_strbuf_append_printf(request_str,
-                                       _("The <path>'%s'</path> directory "
-                                         "already exists.<br>Do you want to "
-                                         "<b><orange>delete all</orange></b>"
-                                         " content of this folder and create "
-                                         "new for project export edc in it?"),
-                                       dir_path);
-
-             chk = export_replace_request(win, 
eina_strbuf_string_get(request_str));
-             if (chk)
-               {
-                  chk = ecore_file_recursive_rm(dir_path);
-                  if (!chk)
-                    {
-                       NOTIFY_ERROR(_("Can not delete folder %s!"),
-                                    dir_path);
-                    }
-                  else
-                    ecore_file_mkdir(dir_path);
-               }
-             else
-               return;
-          }
-        else
-          {
-             NOTIFY_ERROR(_("The name <path>'%s'</path> is "
-                            "already used at this location."),
-                          dir_path);
-             chk = false;
-          }
-     }
-   else
-     ecore_file_mkdir(dir_path);
-
-   if (request_str)
-     eina_strbuf_free(request_str);
-
-   pm_project_source_code_export(ap.project, dir_path);
-   pm_project_resource_export(ap.project, dir_path);
-   build_sh = eina_stringshare_printf("%s/build.sh", dir_path);
-   fbuild = fopen(build_sh, "w");
-   if (!fbuild)
-     ERR("Could't open file '%s'", build_sh);
-   build_str = eina_stringshare_printf("%s%s.edc", makefile, ap.project->name);
-   fputs(build_str, fbuild);
-   fclose(fbuild);
-   if (chmod(build_sh, 677) != 0)
-     ERR("Could't set permission flags for '%s'", build_sh);
-
-   eina_stringshare_del(dir_path);
-   eina_stringshare_del(build_sh);
-   eina_stringshare_del(build_str);
-   if (current_dev_path)
-     eina_stringshare_del(current_dev_path);
-   evas_object_del(win);
-   ap.modal_editor--;
-}
-
-void
-project_export_edc_project(void)
-{
-   Evas_Object *win, *fs;
-
-   win  = mw_add(NULL, _fs_close, NULL);
-
-   assert(win != NULL);
-
-   evas_object_show(win);
-   FILESELECTOR_ADD(fs, win, _on_export_edc_project_done, win);
-   elm_fileselector_is_save_set(fs, false);
-   elm_fileselector_folder_only_set(fs, true);
-   elm_win_inwin_content_set(win, fs);
-
-   ap.modal_editor++;
-}
-*/
-
-/*************************** Close request popup 
******************************/
-/*
-static void
-_discard_cb(void *data,
-            Evas_Object *obj __UNUSED__,
-            void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-
-   assert(res != NULL);
-
-   *res = true;
-   ecore_main_loop_quit();
-}
-
-static void
-_cancel_cb(void *data,
-           Evas_Object *obj __UNUSED__,
-           void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-
-   assert(res != NULL);
-
-   *res = false;
-   ecore_main_loop_quit();
-}
-
-static void
-_save_cb(void *data,
-         Evas_Object *obj __UNUSED__,
-         void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-
-   assert(res != NULL);
-
-   evas_object_hide(ap.popup);
-   project_save();
-   *res = true;
-   ecore_main_loop_quit();
-}
-
-static void
-_close_cb(void *data,
-         Evas_Object *obj __UNUSED__,
-         void *ei __UNUSED__)
-{
-   Eina_Bool *res = data;
-
-   assert(res != NULL);
-
-   evas_object_hide(ap.popup);
-   *res = true;
-   ecore_main_loop_quit();
-}
-
-static Eina_Bool
-_project_close_request(Eina_Bool changed)
-{
-
-   if (ap.project->close_request) return false;
-   ap.project->close_request = true;
-
-   Eina_Bool result = false;
-   Evas_Object *btn, *label;
-   Eina_Stringshare *title;
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
-   title = eina_stringshare_printf(_("Close project %s"), ap.project->name);
-   ap.popup = elm_popup_add(ap.win_layout);
-   if (changed)
-     {
-        BUTTON_ADD(ap.popup, btn, _("Save"));
-        evas_object_smart_callback_add(btn, "clicked", _save_cb, &result);
-        elm_object_part_content_set(ap.popup, "button1", btn);
-        BUTTON_ADD(ap.popup, btn, _("Don't save"));
-        evas_object_smart_callback_add(btn, "clicked", _discard_cb, &result);
-        elm_object_part_content_set(ap.popup, "button2", btn);
-
-        LABEL_ADD(ap.popup, label, _("Do you want to save changes?"));
-     }
-   else
-     {
-        BUTTON_ADD(ap.popup, btn, _("Close"));
-        evas_object_smart_callback_add(btn, "clicked", _close_cb, &result);
-        elm_object_part_content_set(ap.popup, "button1", btn);
-
-        LABEL_ADD(ap.popup, label, _("Do you want to close project?"));
-     }
-   elm_object_part_text_set(ap.popup, "title,text", title);
-   elm_object_content_set(ap.popup, label);
-
-   BUTTON_ADD(ap.popup, btn, _("Cancel"));
-   evas_object_smart_callback_add(btn, "clicked", _cancel_cb, &result);
-   if (changed)
-     elm_object_part_content_set(ap.popup, "button3", btn);
-   else
-     elm_object_part_content_set(ap.popup, "button2", btn);
-   eina_stringshare_del(title);
-
-   ecore_main_loop_begin();
-
-   ap.project->close_request = false;
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
-   evas_object_del(ap.popup);
-   ap.popup = NULL;
-
-   return result;
-}
-*/
-
-/******************************************************************************/
-static Eina_Bool
-_selected_layout_delete(Evas_Object *genlist)
-{
-   assert(genlist != NULL);
-
-   Elm_Object_Item *item_to_del = elm_genlist_selected_item_get(genlist), *eoi;
-   Style *style = elm_object_item_data_get(item_to_del);;
-   int i;
-
-   if (!item_to_del)
-     {
-        NOTIFY_INFO(3, _("Select item to be deleted"));
-        return false;
-     }
-
-   eoi = elm_genlist_item_next_get(item_to_del);
-   if (!eoi)
-     {
-        eoi = elm_genlist_item_prev_get(item_to_del);
-        i = elm_genlist_item_index_get(eoi);
-     }
-   else
-     {
-        i = elm_genlist_item_index_get(eoi);
-        i--;
-     }
-
-   //pm_save_to_dev(ap.project, NULL, true);
-   evas_object_del(style->obj);
-   if (!edje_edit_group_del(ap.project->global_object, style->full_group_name))
-     {
-        ERR("Can't del group");
-        abort();
-     }
-   ap.project->layouts = eina_inlist_remove(ap.project->layouts,
-                                             EINA_INLIST_GET(style));
-   ui_widget_list_layouts_reload(genlist, ap.project);
-   genlist = _widgetlist_current_genlist_get(LAYOUT);
-
-   for (eoi = elm_genlist_first_item_get(genlist);
-        eoi != elm_genlist_item_next_get(elm_genlist_last_item_get(genlist));
-        eoi = elm_genlist_item_next_get(eoi))
-     {
-        if (elm_genlist_item_index_get(eoi) == i)
-          {
-             style = elm_object_item_data_get(eoi);
-             elm_genlist_item_selected_set(eoi, true);
-             style = elm_object_item_data_get(eoi);
-             break;
-          }
-     }
-
-   //project_changed(true);
-   return true;
-}
-
-static Eina_Bool
-_selected_style_delete(Evas_Object *genlist)
-{
-   Widget *widget = ui_widget_from_ap_get();
-   Class *class_st = NULL;
-   Style *style = NULL;
-   Style *alias_style = NULL;
-
-   assert(genlist != NULL);
-
-   Elm_Object_Item *eoi = elm_genlist_selected_item_get(genlist);
-   Eina_List *l = NULL;
-
-   if (!eoi)
-     {
-        NOTIFY_INFO(3, _("No one style is selected"));
-        return false;
-     }
-
-   /* Check which type of node is selected: style or class */
-   if (elm_genlist_item_parent_get(eoi))
-     {
-        style = elm_object_item_data_get(eoi);
-        class_st = style->parent;
-     }
-   else
-     class_st = elm_object_item_data_get(eoi);
-
-   if (class_st->__type != CLASS) return false;
-
-   if (style) /* Deleting style */
-     {
-        Evas_Object *st_cur = style->obj;
-
-        if (style->isAlias) st_cur = style->main_group->obj;
-
-        if (!edje_edit_group_exist(st_cur, style->full_group_name))
-          {
-             NOTIFY_INFO(3, _("Style [%s] don't exist"), style->name);
-             return false;
-          }
-        /* Before delete groups from edj file need free tree of aliasses 
structures*/
-        EINA_LIST_FOREACH(style->aliasses, l, alias_style)
-          {
-              if (eina_inlist_count(alias_style->parent->styles) <= 1)
-                wm_class_free(alias_style->parent);
-              else
-                wm_style_free(alias_style);
-          }
-         /*Delete loaded object for unlock group in edj file*/
-        //pm_save_to_dev(ap.project, NULL, true);
-        evas_object_del(style->obj);
-        if (!edje_edit_group_del(ap.project->global_object, 
style->full_group_name))
-          {
-             NOTIFY_INFO(3, _("Failed to delete style[%s]"), style->name);
-             return false;
-          }
-        if (eina_inlist_count(class_st->styles) <= 1)
-          wm_class_free(class_st);
-        else
-          wm_style_free(style);
-     }
-   else
-     return true;
-   /*else  Deleting all styles in class. Work slow! Need patch for 
edje_edit_group_del
-     {
-        EINA_INLIST_FOREACH_SAFE(class_st->styles, l, style)
-          {
-             evas_object_del(style->obj);
-             if (!edje_edit_group_del(ap.project->global_object, 
style->full_group_name))
-               NOTIFY_INFO(3, _("Failed to delete style[%s] in class [%s]"),
-                           style->name, class_st->name);
-          }
-        wm_class_free(class_st);
-     }*/
-
-   //project_changed(true);
-
-   ui_widget_list_class_data_reload(genlist, widget->classes);
-
-   /* deleting widget */
-   if (elm_genlist_items_count(genlist) == 0)
-     {
-        Evas_Object *widget_list = ui_block_widget_list_get();
-        Evas_Object *naviframe = evas_object_data_get(widget_list, 
"nf_widgets");
-        Elm_Object_Item *item_gl_widgets = elm_naviframe_item_pop(naviframe);
-        elm_naviframe_item_pop_to(item_gl_widgets);
-        genlist = 
elm_object_item_part_content_get(elm_naviframe_top_item_get(naviframe),
-                                                   "elm.swallow.content");
-        eoi = elm_genlist_selected_item_get(genlist);
-        elm_object_item_del(eoi);
-     }
-
-   return true;
-}
-
-Eina_Bool
-ui_group_delete(Type group_type)
-{
-   Evas_Object *gl_groups = NULL;
-
-
-   gl_groups = _widgetlist_current_genlist_get(group_type);
-
-   Elm_Object_Item *eoi = elm_genlist_selected_item_get(gl_groups);
-   if (!eoi)
-     return true;
-
-   if (group_type != LAYOUT)
-     return _selected_style_delete(gl_groups);
-   else
-     return _selected_layout_delete(gl_groups);
-   return true;
-}
-
-#ifdef HAVE_ENVENTOR
-static void
-_on_enventor_mode_on(void *data,
-                     Evas_Object *enventor __UNUSED__,
-                     void *event_info __UNUSED__)
-{
-
-//   workspace_highlight_unset(ap.workspace);
-   //ui_property_part_unset(ui_block_property_get());
-   ui_states_list_data_unset();
-}
-
-static void
-_on_enventor_mode_off(void *data,
-                      Evas_Object *enventor __UNUSED__,
-                      void *event_info)
-{
-   Style *style = (Style *)event_info;
-
-   assert(style != NULL);
-
-   wm_style_data_reload(style, ap.project->mmap_file);
-   //workspace_edit_object_set(ap.workspace, style, ap.project->dev);
-   workspace_edit_object_recalc(ap.workspace);
-   ui_widget_list_style_parts_reload(ui_block_widget_list_get(), style);
-//   ui_property_style_set(ui_block_property_get(), style, ap.workspace);
-}
-#endif /* HAVE_ENVENTOR */
-
-Eina_Bool
-register_callbacks(void)
-{
-   assert(ap.block.left_top != NULL);
-
-   evas_object_smart_callback_add(ap.block.left_top, "wl,style,add",
-                                  _add_style_dailog, NULL);
-   evas_object_smart_callback_add(ap.block.left_top, "wl,style,del",
-                                  _del_style, NULL);
-
-   evas_object_smart_callback_add(ap.block.left_top, "wl,layout,add",
-                                  _popup_layout_add, NULL); //_add_layout_cb, 
NULL);
-   evas_object_smart_callback_add(ap.block.left_top, "wl,layout,del",
-                                  _del_layout, NULL);
-
-#ifdef HAVE_ENVENTOR
-   evas_object_smart_callback_add(ap.enventor, "enventor,mode,on",
-                                  _on_enventor_mode_on, NULL);
-   evas_object_smart_callback_add(ap.enventor, "enventor,mode,off",
-                                  _on_enventor_mode_off, NULL);
-#endif /* HAVE_ENVENTOR */
-   return true;
-}
-
-/*
-static void
-_on_state_selected(void *data __UNUSED__,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info)
-{
-   State_Data *sd = (State_Data *)event_info;
-   Evas_Object *prop_view;
-
-
-   prop_view = ui_block_property_get();
-   wm_part_current_state_set(sd->part, sd->state);
-   ui_property_state_set(prop_view, sd->part);
-   workspace_edit_object_part_state_set(ap.workspace, sd->part);
-}
-*/
-
-/*
-static void
-_on_style_clicked(void *datai __UNUSED__,
-                  Evas_Object *obj __UNUSED__,
-                  void *event_data)
-{
-   Style *_style = (Style *)event_data;
-
-   assert(_style != NULL);
-
-   ui_style_clicked(_style);
-   workspace_zoom_factor_set(ap.workspace, 1.0);
-}
-*/
-static void
-_on_part_selected(void *data __UNUSED__,
-                  Evas_Object *obj __UNUSED__,
-                  void *event_data)
-{
-   Part *part = (Part *) event_data;
-
-   assert(part != NULL);
-
-/*   Evas_Object *gl_states = ui_part_select(part);
-
-   if (gl_states)
-     evas_object_smart_callback_add(gl_states, "stl,state,select", 
_on_state_selected, NULL);*/
-}
-
-/*
-static void
-_on_part_back(void *data __UNUSED__,
-              Evas_Object *obj __UNUSED__,
-              void *event_data __UNUSED__)
-{
-   workspace_zoom_factor_set(ap.workspace, 1.0);
-   ui_part_back();
-}
-*/
-
-static void
-_on_part_item_selected(void *data __UNUSED__,
-                       Evas_Object *obj __UNUSED__,
-                       void *event_data __UNUSED__)
-{
-/*
-   Eina_Stringshare *item_name = (Eina_Stringshare *) event_data;
-   workspace_edit_object_part_item_selected_set(ap.workspace, item_name, true);
-   ui_property_item_set(ui_block_property_get(), item_name);*/
-}
-
-static void
-_on_part_item_unselected(void *data __UNUSED__,
-                         Evas_Object *obj __UNUSED__,
-                         void *event_data __UNUSED__)
-{
-
-/*   Eina_Stringshare *item_name = (Eina_Stringshare *) event_data;
-   workspace_edit_object_part_item_selected_set(ap.workspace, item_name, 
false);
-   ui_property_item_unset(ui_block_property_get());*/
-}
-
-TODO("remove this method")
-Eina_Bool
-add_callbacks_wd(Evas_Object *wd_list)
-{
-   assert(wd_list != NULL);
-
-   evas_object_smart_callback_add(wd_list, "wl,part,select", 
_on_part_selected, NULL);
-   evas_object_smart_callback_add(wd_list, "wl,part,item,select",
-                                  _on_part_item_selected, NULL);
-   evas_object_smart_callback_add(wd_list, "wl,part,item,unselect",
-                                  _on_part_item_unselected, NULL);
-
-   return true;
-}
-
-static void
-_panes_pos_setup(Evas_Object *panes, double value, Eina_Bool fixed)
-{
-   assert(panes != NULL);
-
-   elm_panes_content_left_size_set(panes, value);
-   elm_panes_fixed_set(panes, fixed);
-}
-
-Eina_Bool
-code_edit_mode_switch(Eina_Bool is_on)
-{
-   Config *config;
-   double left = 0.0/*, tabs_size = 0.0*/;
-
-
-    if (is_on)
-      {
-         if (!config_panes_sizes_data_update()) return false;
-      }
-    else
-      {
-         config = config_get();
-
-         assert(config != NULL);
-
-         //center = config->panes.center;
-         left = config->panes.left;
-         //tabs_size = config->panes.tabs_size;
-      }
-
-   //_panes_pos_setup(ap.panes.center, center, is_on);
-   _panes_pos_setup(ap.panes.left, left, is_on);
-   //_panes_pos_setup(ap.panes.right, tabs_size, is_on);
-   //ui_panes_left_panes_min_size_toggle(!is_on);
-
-   return true;
-}
diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c
index 11a4451..c00ba6b 100644
--- a/src/bin/ui/menu.c
+++ b/src/bin/ui/menu.c
@@ -108,7 +108,8 @@ _menu_cb(void *data __UNUSED__,
          project_save();
          break;
       case MENU_FILE_EXPORT_EDC_GROUP:
-         project_export_edc_group();
+         TODO("Implement me")
+         /* project_export_edc_group(); */
          break;
       case MENU_FILE_EXPORT_EDC_PROJECT:
          project_export_edc_project();

-- 


Reply via email to