hermet pushed a commit to branch master.

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

commit b891b071bec6a6186a161012bcd73511d9ea00f2
Author: Hermet Park <her...@hermet.pe.kr>
Date:   Mon Feb 22 20:44:07 2016 +0900

    edc_navigator: not completed. but first patch set for base layout & infra
---
 README                                       |   2 +-
 data/about/ABOUT                             |   2 +-
 data/themes/default/images.edc               |   2 ++
 data/themes/default/images/Makefile.am       |   3 +-
 data/themes/default/images/edc_navigator.png | Bin 0 -> 2876 bytes
 data/themes/default/layout_common.edc        |  38 ++++++++++++++++++---
 src/bin/base_gui.c                           |  13 ++++++++
 src/bin/config_data.c                        |  20 ++++++++++-
 src/bin/main.c                               |   5 +--
 src/bin/setting.c                            |   7 ++++
 src/bin/tools.c                              |  48 ++++++++++++++++++++++++---
 src/include/base_gui.h                       |   1 +
 src/include/common.h                         |   2 +-
 src/include/config_data.h                    |   2 ++
 src/include/tools.h                          |   1 +
 15 files changed, 129 insertions(+), 17 deletions(-)

diff --git a/README b/README
index 24457f0..7ef320d 100644
--- a/README
+++ b/README
@@ -36,7 +36,7 @@ F3 - Save
 F4 - Load
 F5 - Toggle Line Number
 F9 - Toggle Tools
-F10 - Toggle Console
+F10 - Toggle EDC Navigator
 F11 - Toggle Status
 F12 - Settings
  
diff --git a/data/about/ABOUT b/data/about/ABOUT
index f6f9119..c42ee1e 100644
--- a/data/about/ABOUT
+++ b/data/about/ABOUT
@@ -18,7 +18,7 @@ F3 - Save</br>
 F4 - Load</br>
 F5 - Toggle Line Number</br>
 F9 - Toggle Tools</br>
-F10 - Toggle Console</br>
+F10 - Toggle EDC Navigator</br>
 F11 - Toggle Status</br>
 F12 - Settings</br>
 </br>
diff --git a/data/themes/default/images.edc b/data/themes/default/images.edc
index 1756b86..02b9507 100644
--- a/data/themes/default/images.edc
+++ b/data/themes/default/images.edc
@@ -21,6 +21,7 @@ images {
    image: "live_textblock.png" COMP;
    image: "expand.png" COMP;
    image: "invert.png" COMP;
+   image: "edc_navigator.png" COMP;
 }
 
 #define ICON_GROUP(_group_name, _image_path) \
@@ -55,5 +56,6 @@ ICON_GROUP("Swallow", "live_swallow.png")
 ICON_GROUP("Text", "live_text.png")
 ICON_GROUP("Textblock", "live_textblock.png")
 ICON_GROUP("close", "icon_close.png")
+ICON_GROUP("edc_navigator", "edc_navigator.png")
 
 #undef ICON_GROUP
diff --git a/data/themes/default/images/Makefile.am 
b/data/themes/default/images/Makefile.am
index 58eab21..97e9c5a 100644
--- a/data/themes/default/images/Makefile.am
+++ b/data/themes/default/images/Makefile.am
@@ -70,4 +70,5 @@ EXTRA_DIST = \
    horizontal_separated_bar_small_glow.png \
    expand.png \
        invert.png \
-       icon_close.png
+       icon_close.png \
+   edc_navigator.png
diff --git a/data/themes/default/images/edc_navigator.png 
b/data/themes/default/images/edc_navigator.png
new file mode 100644
index 0000000..881fa99
Binary files /dev/null and b/data/themes/default/images/edc_navigator.png differ
diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index b8600d2..245fae6 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -2387,7 +2387,7 @@ group { name: "main_layout";
          type: SPACER;
          scale: 1;
          description {
-            min: 640 440;
+            min: 900 440;
          }
       }
       part { name: "tools_base";
@@ -2427,12 +2427,12 @@ group { name: "main_layout";
             image.border_scale: 1;
          }
       }
-      part { name: "elm.swallow.panes";
-         type: SWALLOW;
+      swallow { "elm.swallow.panes";
          scale: 1;
-         description { state: "default" 0.0;
+         desc { "default";
             rel1.relative: 0 1;
-            rel2.relative: 1 0;
+            rel2.relative: 0 0;
+            rel2.to: "elm.swallow.edc_navigator";
             rel1.to_y: "elm.swallow.tools";
             rel2.to_y: "elm.swallow.statusbar";
          }
@@ -2465,8 +2465,36 @@ group { name: "main_layout";
             align: 0.5 1;
          }
       }
+      swallow { "elm.swallow.edc_navigator";
+         scale: 1;
+         desc { "default";
+            rel1.relative: 1 1;
+            rel2.relative: 1 0;
+            rel1.to_y: "elm.swallow.tools";
+            rel2.to_y: "elm.swallow.statusbar";
+            align: 1 0;
+            min: 0 0;
+            fixed: 1 0;
+         }
+         desc { "visible";
+            inherit: "default";
+            min: 150 0;
+         }
+      }
    }
    programs {
+      program { "edc_navigator_show";
+         signal: "elm,state,edc_navigator,show";
+         action: STATE_SET "visible" 0.0;
+         target: "elm.swallow.edc_navigator";
+         transition: DECELERATE 0.25;
+      }
+      program { "edc_navigator_hide";
+         signal: "elm,state,edc_navigator,hide";
+         action: STATE_SET "default" 0.0;
+         target: "elm.swallow.edc_navigator";
+         transition: DECELERATE 0.25;
+      }
       program { name: "statusbar_show";
          signal: "elm,state,statusbar,show";
          action: STATE_SET "visible" 0.0;
diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c
index ef49d1d..817efc1 100644
--- a/src/bin/base_gui.c
+++ b/src/bin/base_gui.c
@@ -70,6 +70,19 @@ base_statusbar_toggle(Eina_Bool toggle)
      elm_object_signal_emit(bd->layout, "elm,state,statusbar,hide", "");
 }
 
+void base_edc_navigator_toggle(Eina_Bool toggle)
+{
+   base_data *bd = g_bd;
+   assert(bd);
+
+   if (toggle) config_edc_navigator_set(!config_edc_navigator_get());
+
+   if (config_edc_navigator_get())
+     elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,show", "");
+   else
+     elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,hide", "");
+}
+
 void
 base_tools_toggle(Eina_Bool config)
 {
diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 0ea964f..0a457d8 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -38,6 +38,7 @@ typedef struct config_s
    Eina_Bool console;
    Eina_Bool auto_complete;
    Eina_Bool smart_undo_redo;
+   Eina_Bool edc_navigator;
 } config_data;
 
 static config_data *g_cd = NULL;
@@ -158,7 +159,7 @@ config_load(void)
           }
      }
    // loaded config is not compatile with current version of Enventor
-   if (cd->version < ENVENTOR_CONFIG_VERSION)
+   if (!ef || cd->version < ENVENTOR_CONFIG_VERSION)
      {
         cd->img_path_list = NULL;
         cd->snd_path_list = NULL;
@@ -180,6 +181,7 @@ config_load(void)
         cd->auto_complete = EINA_TRUE;
         cd->version = ENVENTOR_CONFIG_VERSION;
         cd->smart_undo_redo = EINA_FALSE;
+        cd->edc_navigator = EINA_TRUE;
      }
 
    g_cd = cd;
@@ -288,6 +290,8 @@ eddc_init(void)
                                     auto_complete, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "smart_undo_redo",
                                     smart_undo_redo, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "edc_navigator",
+                                    edc_navigator, EET_T_UCHAR);
 }
 
 void
@@ -876,3 +880,17 @@ config_tools_set(Eina_Bool enabled)
    config_data *cd = g_cd;
    cd->tools = enabled;
 }
+
+void
+config_edc_navigator_set(Eina_Bool enabled)
+{
+   config_data *cd = g_cd;
+   cd->edc_navigator = enabled;
+}
+
+Eina_Bool
+config_edc_navigator_get(void)
+{
+   config_data *cd = g_cd;
+   return cd->edc_navigator;
+}
diff --git a/src/bin/main.c b/src/bin/main.c
index 7d8618b..96e1a42 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -43,6 +43,7 @@ tools_update(void)
    tools_highlight_update(EINA_FALSE);
    tools_dummy_update(EINA_FALSE);
    tools_status_update(EINA_FALSE);
+   tools_edc_navigator_update(EINA_FALSE);
 }
 
 static void
@@ -772,11 +773,11 @@ keygrabber_key_down_cb(void *data, Evas *e EINA_UNUSED,
         base_tools_toggle(EINA_TRUE);
         return;
      }
-   //Console
+   //EDC Navigator
    if (!strcmp(ev->key, "F10"))
      {
         enventor_object_ctxpopup_dismiss(ad->enventor);
-        base_console_toggle();
+        tools_edc_navigator_update(EINA_TRUE);
         return;
      }
    //Statusbar
diff --git a/src/bin/setting.c b/src/bin/setting.c
index 9f2c684..3e1a667 100644
--- a/src/bin/setting.c
+++ b/src/bin/setting.c
@@ -23,6 +23,7 @@ struct setting_s
    Evas_Object *toggle_highlight;
    Evas_Object *toggle_swallow;
    Evas_Object *toggle_stats;
+   Evas_Object *toggle_edc_navigator;
    Evas_Object *toggle_tools;
    Evas_Object *toggle_console;
 
@@ -414,6 +415,11 @@ general_layout_create(setting_data *sd, Evas_Object 
*parent)
                                              config_stats_bar_get());
    elm_box_pack_end(box, toggle_stats);
 
+   //Toggle (EDC Navigator)
+   Evas_Object *toggle_edc_navigator = toggle_create(box, _("EDC Navigator"),
+                                               config_edc_navigator_get());
+   elm_box_pack_end(box, toggle_edc_navigator);
+
    //Toggle (Tools)
    Evas_Object *toggle_tools = toggle_create(box, _("Tools"),
                                              config_tools_get());
@@ -435,6 +441,7 @@ general_layout_create(setting_data *sd, Evas_Object *parent)
    sd->toggle_highlight = toggle_highlight;
    sd->toggle_swallow = toggle_swallow;
    sd->toggle_stats = toggle_stats;
+   sd->toggle_edc_navigator = toggle_edc_navigator;
    sd->toggle_tools = toggle_tools;
    sd->toggle_console = toggle_console;
 
diff --git a/src/bin/tools.c b/src/bin/tools.c
index ed7802d..def3209 100644
--- a/src/bin/tools.c
+++ b/src/bin/tools.c
@@ -8,6 +8,7 @@ typedef struct tools_s
 {
    Evas_Object *swallow_btn;
    Evas_Object *status_btn;
+   Evas_Object *edc_navigator_btn;
    Evas_Object *lines_btn;
    Evas_Object *highlight_btn;
    Evas_Object *goto_btn;
@@ -31,26 +32,34 @@ menu_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
 }
 
 static void
-highlight_cb(void *data, Evas_Object *obj EINA_UNUSED,
+highlight_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
              void *event_info EINA_UNUSED)
 {
    tools_highlight_update(EINA_TRUE);
 }
 
 static void
-dummy_cb(void *data, Evas_Object *obj EINA_UNUSED,
-           void *event_info EINA_UNUSED)
+dummy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+         void *event_info EINA_UNUSED)
 {
    tools_dummy_update(EINA_TRUE);
 }
 
 static void
-lines_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+lines_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+         void *event_info EINA_UNUSED)
 {
    tools_lines_update(EINA_TRUE);
 }
 
 static void
+edc_navigator_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                 void *event_info EINA_UNUSED)
+{
+   tools_edc_navigator_update(EINA_TRUE);
+}
+
+static void
 status_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
           void *event_info EINA_UNUSED)
 {
@@ -238,7 +247,6 @@ tools_init(Evas_Object *parent)
    elm_box_pack_end(box, btn);
    td->lines_btn = btn;
 
-
    sp = elm_separator_add(box);
    evas_object_show(sp);
    elm_box_pack_end(box, sp);
@@ -250,6 +258,13 @@ tools_init(Evas_Object *parent)
    elm_box_pack_end(box, btn);
    td->console_btn = btn;
 
+   btn = tools_btn_create(box, "edc_navigator", _("EDC Navigator (F10)"),
+                          edc_navigator_cb);
+   evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL);
+   elm_box_pack_end(box, btn);
+   td->edc_navigator_btn = btn;
+
    btn = tools_btn_create(box, "status", _("Status (F11)"), status_cb);
    evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL);
@@ -310,6 +325,29 @@ tools_highlight_update(Eina_Bool toggle)
 }
 
 void
+tools_edc_navigator_update(Eina_Bool toggle)
+{
+   tools_data *td = g_td;
+   if (!td) return;
+
+   if (toggle) config_edc_navigator_set(!config_edc_navigator_get());
+
+   base_edc_navigator_toggle(EINA_FALSE);
+
+   //Toggle on/off
+   if (config_edc_navigator_get())
+     {
+        elm_object_signal_emit(td->edc_navigator_btn, "icon,highlight,enabled",
+                               "");
+     }
+   else
+     {
+        elm_object_signal_emit(td->edc_navigator_btn, 
"icon,highlight,disabled",
+                               "");
+     }
+}
+
+void
 tools_lines_update(Eina_Bool toggle)
 {
    tools_data *td = g_td;
diff --git a/src/include/base_gui.h b/src/include/base_gui.h
index 1a96cac..12f861c 100644
--- a/src/include/base_gui.h
+++ b/src/include/base_gui.h
@@ -21,3 +21,4 @@ void base_gui_term(void);
 void base_console_reset(void);
 void base_error_msg_set(const char *msg);
 void base_console_full_view(void);
+void base_edc_navigator_toggle(Eina_Bool toggle);
diff --git a/src/include/common.h b/src/include/common.h
index 21d938a..e0ddecb 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -57,7 +57,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
 
 #define ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.5) / pow(10, dig))
 
-#define ENVENTOR_CONFIG_VERSION 4
+#define ENVENTOR_CONFIG_VERSION 5
 
 #define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
   ((MASK & ECORE_EVENT_MODIFIER_##NAME) && \
diff --git a/src/include/config_data.h b/src/include/config_data.h
index 8abbf1f..0b2c06d 100644
--- a/src/include/config_data.h
+++ b/src/include/config_data.h
@@ -58,3 +58,5 @@ void config_win_size_get(Evas_Coord *w, Evas_Coord *h);
 void config_win_size_set(Evas_Coord w, Evas_Coord h);
 void config_smart_undo_redo_set(Eina_Bool smart_undo_redo);
 Eina_Bool config_smart_undo_redo_get(void);
+void config_edc_navigator_set(Eina_Bool enabled);
+Eina_Bool config_edc_navigator_get(void);
diff --git a/src/include/tools.h b/src/include/tools.h
index 33a2bc3..530b6f6 100644
--- a/src/include/tools.h
+++ b/src/include/tools.h
@@ -5,6 +5,7 @@ void tools_highlight_update(Eina_Bool toggle);
 void tools_lines_update(Eina_Bool toggle);
 void tools_dummy_update(Eina_Bool toggle);
 void tools_status_update(Eina_Bool toggle);
+void tools_edc_navigator_update(Eina_Bool toggle);
 void tools_goto_update(void);
 void tools_search_update(void);
 void tools_live_update(Eina_Bool on);

-- 


Reply via email to