hermet pushed a commit to branch master.

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

commit 68548afdde6e9244c7c2c8eac33ec569f19fb03f
Author: Hermet Park <[email protected]>
Date:   Sat Jul 2 15:39:10 2016 +0900

    multi-file: support the function, go to line.
    
    removed enventor_object_max_line_get()
    removed enventor_object_goto_line()
    added enventor_item_max_line_get()
    added enventor_item_goto_line()
---
 src/bin/console.c          |  6 +++++-
 src/bin/file_browser.c     |  8 ++++----
 src/bin/file_mgr.c         | 44 ++++++++++++++++++++++++++++++++++++++++++--
 src/bin/file_tab.c         |  2 +-
 src/bin/globals.c          | 38 --------------------------------------
 src/bin/goto.c             | 11 ++++++++---
 src/bin/main.c             |  2 +-
 src/bin/menu.c             |  4 ++--
 src/bin/newfile.c          |  2 +-
 src/include/file_mgr.h     |  3 +++
 src/include/globals.h      |  4 +---
 src/lib/Enventor_Legacy.h  |  2 ++
 src/lib/enventor_object.eo |  8 --------
 src/lib/enventor_smart.c   | 37 +++++++++++++++++++------------------
 14 files changed, 89 insertions(+), 82 deletions(-)

diff --git a/src/bin/console.c b/src/bin/console.c
index dbdeb8b..63ec6a9 100644
--- a/src/bin/console.c
+++ b/src/bin/console.c
@@ -41,7 +41,11 @@ error_word_select(Evas_Object *console)
     const char *entry_text = enventor_object_text_get(base_enventor_get());
     char *utf8 = elm_entry_markup_to_utf8(entry_text);
 
-    enventor_object_line_goto(base_enventor_get(), atoi(error_line));
+    //FIXME: Need to get the file that contains errors.
+    Enventor_Item *it = enventor_object_focused_item_get(base_enventor_get());
+    EINA_SAFETY_ON_NULL_RETURN(it);
+
+    enventor_item_line_goto(it, atoi(error_line));
     int pos = enventor_object_cursor_pos_get(base_enventor_get());
 
     const char *search_line = utf8 + pos * sizeof(char);
diff --git a/src/bin/file_browser.c b/src/bin/file_browser.c
index a5e76f7..2134975 100644
--- a/src/bin/file_browser.c
+++ b/src/bin/file_browser.c
@@ -78,7 +78,7 @@ gl_clicked_double_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
    //skip non edc file.
    if (!eina_str_has_extension(file->path, "edc")) return;
 
-   int selected_file_len = strlen(file->path);
+   unsigned int selected_file_len = strlen(file->path);
 
    Enventor_Item *eit;
    const char *it_file_path;
@@ -104,7 +104,7 @@ gl_clicked_double_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
    if (strlen(file->name) == strlen(it_file_path) &&
        !strcmp(file->name, it_file_path))
      {
-        facade_it_select(eit);
+        file_mgr_file_focus(eit);
         return;
      }
 
@@ -123,13 +123,13 @@ gl_clicked_double_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
         //Ok, This selected file is already openend, let's activate the item.
         if (!strcmp(file->path, it_file_path))
           {
-             facade_it_select(eit);
+             file_mgr_file_focus(eit);
              return;
           }
      }
 
    //This selected file hasn't been opened yet, so let's open this file newly.
-   facade_sub_file_add(file->path);
+   file_mgr_sub_file_add(file->path);
 }
 
 static Elm_Object_Item *
diff --git a/src/bin/file_mgr.c b/src/bin/file_mgr.c
index 5b28c8a..248105f 100644
--- a/src/bin/file_mgr.c
+++ b/src/bin/file_mgr.c
@@ -57,7 +57,7 @@ warning_replace_btn_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
                        void *event_info EINA_UNUSED)
 {
    file_mgr_data *fmd = data;
-   facade_main_file_set(config_input_path_get());
+   file_mgr_main_file_set(config_input_path_get());
    warning_close(fmd);
 }
 
@@ -160,7 +160,6 @@ file_mgr_edc_save(void)
 
    Eina_Bool save_success = enventor_object_save(base_enventor_get(),
                                                  config_input_path_get());
-
    if (!config_stats_bar_get()) return;
 
    if (save_success)
@@ -222,3 +221,44 @@ file_mgr_term(void)
 
    free(fmd);
 }
+
+Enventor_Item *
+file_mgr_sub_file_add(const char *path)
+{
+   Enventor_Item *it = enventor_object_sub_item_add(base_enventor_get(), path);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
+
+   file_tab_it_add(it);
+   file_tab_it_select(it);
+
+   file_mgr_file_focus(it);
+
+   return it;
+}
+
+Enventor_Item *
+file_mgr_main_file_set(const char *path)
+{
+   Enventor_Item *it = enventor_object_main_item_set(base_enventor_get(), 
path);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
+
+   file_tab_clear();
+   file_tab_it_add(it);
+
+   file_mgr_file_focus(it);
+
+   base_console_reset();
+
+   return it;
+}
+
+void
+file_mgr_file_focus(Enventor_Item *it)
+{
+   EINA_SAFETY_ON_NULL_RETURN(it);
+
+   file_tab_it_select(it);
+   enventor_item_focus_set(it);
+   base_text_editor_set(it);
+   base_title_set(enventor_item_file_get(it));
+}
diff --git a/src/bin/file_tab.c b/src/bin/file_tab.c
index 82082d3..6b4a540 100644
--- a/src/bin/file_tab.c
+++ b/src/bin/file_tab.c
@@ -55,7 +55,7 @@ list_item_selected_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    Elm_Object_Item *it = event_info;
    if (fd->selected_it == it) return;
    file_tab_it *fti = elm_object_item_data_get(it);
-   facade_it_select(fti->enventor_it);
+   file_mgr_file_focus(fti->enventor_it);
 }
 
 /*****************************************************************************/
diff --git a/src/bin/globals.c b/src/bin/globals.c
index da8a7dc..8695c16 100644
--- a/src/bin/globals.c
+++ b/src/bin/globals.c
@@ -13,41 +13,3 @@ void mem_fail_msg(void)
 {
    EINA_LOG_ERR("Failed to allocate Memory!");
 }
-
-void facade_it_select(Enventor_Item *it)
-{
-   EINA_SAFETY_ON_NULL_RETURN(it);
-
-   file_tab_it_select(it);
-   enventor_item_focus_set(it);
-   base_text_editor_set(it);
-   base_title_set(enventor_item_file_get(it));
-}
-
-Enventor_Item *facade_sub_file_add(const char *path)
-{
-   Enventor_Item *it = enventor_object_sub_item_add(base_enventor_get(), path);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
-
-   file_tab_it_add(it);
-   file_tab_it_select(it);
-
-   facade_it_select(it);
-
-   return it;
-}
-
-Enventor_Item *facade_main_file_set(const char *path)
-{
-   Enventor_Item *it = enventor_object_main_item_set(base_enventor_get(), 
path);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
-
-   file_tab_clear();
-   file_tab_it_add(it);
-
-   facade_it_select(it);
-
-   base_console_reset();
-
-   return it;
-}
diff --git a/src/bin/goto.c b/src/bin/goto.c
index b16c21e..9593284 100644
--- a/src/bin/goto.c
+++ b/src/bin/goto.c
@@ -13,6 +13,7 @@ typedef struct goto_s
    Evas_Object *entry;
    Evas_Object *btn;
    Ecore_Timer *timer;
+   Enventor_Item *it;
 } goto_data;
 
 static goto_data *g_gd = NULL;
@@ -65,7 +66,7 @@ goto_line(goto_data *gd)
   const char *txt = elm_entry_entry_get(gd->entry);
   int line = 0;
   if (txt) line = atoi(txt);
-  enventor_object_line_goto(base_enventor_get(), line);
+  enventor_item_line_goto(gd->it, line);
   goto_close();
 }
 
@@ -91,7 +92,7 @@ entry_changed_cb(void *data, Evas_Object *obj, void* 
event_info EINA_UNUSED)
    int line = atoi(txt);
 
    if ((line < 1) ||
-       (line > enventor_object_max_line_get(base_enventor_get())))
+       (line > enventor_item_max_line_get(gd->it)))
      {
         elm_object_part_text_set(gd->layout, "elm.text.msg",
                                  _("Invalid line number"));
@@ -146,6 +147,9 @@ goto_open(void)
      }
    g_gd = gd;
 
+   Enventor_Item *it = enventor_object_focused_item_get(base_enventor_get());
+   EINA_SAFETY_ON_NULL_RETURN(it);
+
    //Win
    Evas_Object *win = elm_win_add(base_win_get(), _("Enventor Goto Line"),
                                   ELM_WIN_DIALOG_BASIC);
@@ -174,7 +178,7 @@ goto_open(void)
 
    char  buf[256];
    snprintf(buf, sizeof(buf), _("Enter line number [1..%d]:"),
-            enventor_object_max_line_get(base_enventor_get()));
+            enventor_item_max_line_get(it));
    elm_object_part_text_set(layout, "elm.text.goto", buf);
 
    //Entry (line)
@@ -217,6 +221,7 @@ goto_open(void)
    gd->layout = layout;
    gd->entry = entry;
    gd->btn = btn;
+   gd->it = it;
 }
 
 Eina_Bool
diff --git a/src/bin/main.c b/src/bin/main.c
index 919bcbf..908d8bb 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -573,7 +573,7 @@ enventor_setup(app_data *ad)
    enventor_common_setup(enventor);
 
    base_enventor_set(enventor);
-   facade_main_file_set(config_input_path_get());
+   file_mgr_main_file_set(config_input_path_get());
    base_live_view_set(enventor_object_live_view_get(enventor));
 }
 
diff --git a/src/bin/menu.c b/src/bin/menu.c
index 8bece7c..636de44 100644
--- a/src/bin/menu.c
+++ b/src/bin/menu.c
@@ -360,7 +360,7 @@ fileselector_save_done_cb(void *data, Evas_Object *obj, 
void *event_info)
              eina_stringshare_del(selected);
              return;
           }
-        facade_main_file_set(selected);
+        file_mgr_main_file_set(selected);
      }
    else if (is_edj)
      {
@@ -434,7 +434,7 @@ fileselector_load_done_cb(void *data, Evas_Object *obj, 
void *event_info)
         return;
      }
    config_input_path_set(selected);
-   facade_main_file_set(selected);
+   file_mgr_main_file_set(selected);
    fileselector_close(md);
    menu_close(md);
    file_mgr_reset();
diff --git a/src/bin/newfile.c b/src/bin/newfile.c
index c339fa0..edc2e5f 100644
--- a/src/bin/newfile.c
+++ b/src/bin/newfile.c
@@ -113,7 +113,7 @@ newfile_set(Eina_Bool template_new)
         EINA_LOG_ERR(_("Cannot find file! \"%s\""), buf);
         return;
      }
-   facade_main_file_set(path);
+   file_mgr_main_file_set(path);
    file_mgr_reset();
 }
 
diff --git a/src/include/file_mgr.h b/src/include/file_mgr.h
index f565482..def17a7 100644
--- a/src/include/file_mgr.h
+++ b/src/include/file_mgr.h
@@ -6,3 +6,6 @@ void file_mgr_term(void);
 int file_mgr_edc_modified_get(void);
 void file_mgr_reset(void);
 void file_mgr_edc_save(void);
+Enventor_Item *file_mgr_main_file_set(const char *path);
+Enventor_Item *file_mgr_sub_file_add(const char *path);
+void file_mgr_file_focus(Enventor_Item *it);
diff --git a/src/include/globals.h b/src/include/globals.h
index 618b665..322a655 100644
--- a/src/include/globals.h
+++ b/src/include/globals.h
@@ -3,6 +3,4 @@ extern char EDJE_PATH[PATH_MAX];
 extern Eina_Prefix *PREFIX;
 extern const char *ENVENTOR_NAME;
 void mem_fail_msg(void);
-Enventor_Item *facade_main_file_set(const char *path);
-Enventor_Item *facade_sub_file_add(const char *path);
-void facade_it_select(Enventor_Item *it);
+
diff --git a/src/lib/Enventor_Legacy.h b/src/lib/Enventor_Legacy.h
index 0f8afc1..315d90f 100644
--- a/src/lib/Enventor_Legacy.h
+++ b/src/lib/Enventor_Legacy.h
@@ -11,5 +11,7 @@ EAPI Evas_Object *enventor_item_editor_get(const 
Enventor_Item *it);
 EAPI const char *enventor_item_file_get(const Enventor_Item *it);
 EAPI Enventor_Item *enventor_object_focused_item_get(const Evas_Object *obj);
 EAPI Eina_Bool enventor_item_focus_set(Enventor_Item *it);
+EAPI int enventor_item_max_line_get(const Enventor_Item *it);
+EAPI void enventor_item_line_goto(Enventor_Item *it, int line);
 
 #include "enventor_object.eo.legacy.h"
diff --git a/src/lib/enventor_object.eo b/src/lib/enventor_object.eo
index d3d753c..f3160a6 100644
--- a/src/lib/enventor_object.eo
+++ b/src/lib/enventor_object.eo
@@ -149,9 +149,6 @@ class Enventor.Object (Elm.Widget, Efl.File) {
       parts_list_get {
          return: list<char *>;
       }
-      max_line_get {
-         return: int;
-      }
       text_get {
          return: const(char) *;
       }
@@ -190,11 +187,6 @@ class Enventor.Object (Elm.Widget, Efl.File) {
       live_view_get {
          return: Efl.Canvas.Object;
       }
-      line_goto {
-         params {
-            @in line: int;
-         }
-      }
       programs_stop {
       }
       program_run {
diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c
index 8d425af..df7696c 100644
--- a/src/lib/enventor_smart.c
+++ b/src/lib/enventor_smart.c
@@ -769,21 +769,6 @@ _enventor_object_font_get(Eo *obj EINA_UNUSED, 
Enventor_Object_Data *pd,
    if (font_style) *font_style = pd->font_style;
 }
 
-//TODO: Itemize
-EOLIAN static int
-_enventor_object_max_line_get(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd)
-{
-   return edit_max_line_get(pd->main_it.ed);
-}
-
-//TODO: Itemize
-EOLIAN static void
-_enventor_object_line_goto(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd,
-                           int line)
-{
-   edit_goto(pd->main_it.ed, line);
-}
-
 EOLIAN static void
 _enventor_object_syntax_color_set(Eo *obj EINA_UNUSED,
                                   Enventor_Object_Data *pd,
@@ -1027,7 +1012,7 @@ enventor_object_focused_item_get(const Enventor_Object 
*obj)
 ///////////////////////////////////////////////////////////////////////////////
 /* Enventor_Item Functions.                                                  */
 ///////////////////////////////////////////////////////////////////////////////
-Eina_Bool
+EAPI Eina_Bool
 enventor_item_focus_set(Enventor_Item *it)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(it, EINA_FALSE);
@@ -1047,7 +1032,7 @@ enventor_item_focus_set(Enventor_Item *it)
    return EINA_TRUE;
 }
 
-Evas_Object *
+EAPI Evas_Object *
 enventor_item_editor_get(const Enventor_Item *it)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
@@ -1057,7 +1042,7 @@ enventor_item_editor_get(const Enventor_Item *it)
    return edit_obj_get(it->ed);
 }
 
-const char *
+EAPI const char *
 enventor_item_file_get(const Enventor_Item *it)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(it, NULL);
@@ -1067,5 +1052,21 @@ enventor_item_file_get(const Enventor_Item *it)
    return edit_file_get(it->ed);
 }
 
+EAPI int
+enventor_item_max_line_get(const Enventor_Item *it)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(it, 0);
+
+   return edit_max_line_get(it->ed);
+}
+
+EAPI void
+enventor_item_line_goto(Enventor_Item *it, int line)
+{
+   EINA_SAFETY_ON_NULL_RETURN(it);
+
+   edit_goto(it->ed, line);
+}
+
 
 #include "enventor_object.eo.c"

-- 


Reply via email to