hermet pushed a commit to branch master.

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

commit 7a771f79e24ac8794b976059c08e16536580893a
Author: ChunEon Park <[email protected]>
Date:   Sun Aug 10 17:46:14 2014 +0900

    console: implemented basic infra
---
 README                                 |   5 ++--
 data/themes/default/images.edc         |   6 ++---
 data/themes/default/images/Makefile.am |   5 ++--
 data/themes/default/images/console.png | Bin 0 -> 652 bytes
 data/themes/default/images/setting.png | Bin 772 -> 0 bytes
 data/themes/default/layout_common.edc  |  48 ++++++++++++++++++++++++++++-----
 src/bin/base_gui.c                     |  21 +++++++++++++--
 src/bin/config_data.c                  |  18 +++++++++++++
 src/bin/main.c                         |  15 ++++++++---
 src/bin/setting.c                      |   9 +++++++
 src/bin/tools.c                        |   8 +++---
 src/include/base_gui.h                 |   1 +
 src/include/config_data.h              |   3 ++-
 13 files changed, 115 insertions(+), 24 deletions(-)

diff --git a/README b/README
index fb24f86..769f129 100644
--- a/README
+++ b/README
@@ -34,8 +34,9 @@ F2 = New
 F3 = Save
 F4 = Load
 F5 = Show/Hide Line Number
-F10 = Show/Hide Status
-F11 = Show/Hide Tools
+F9 = Show/Hide Tools
+F10 = Show/Hide Console
+F11 = Show/Hide Status
 F12 = Setting
  
 Ctrl+S = Quick Save + Compile EDC
diff --git a/data/themes/default/images.edc b/data/themes/default/images.edc
index d95ae77..4b013d8 100644
--- a/data/themes/default/images.edc
+++ b/data/themes/default/images.edc
@@ -6,7 +6,7 @@ images {
    image: "highlight.png" COMP;
    image: "lines.png" COMP;
    image: "new.png" COMP;
-   image: "setting.png" COMP;
+   image: "console.png" COMP;
    image: "status.png" COMP;
    image: "swallow_s.png" COMP;
    image: "goto.png" COMP;
@@ -77,12 +77,12 @@ group { name: "new";
    }
 }
 
-group { name: "setting";
+group { name: "console";
    parts {
       part { name: "img";
          type: IMAGE;
          description { state: "default" 0.0;
-            image.normal: "setting.png";
+            image.normal: "console.png";
          }
       }
    }
diff --git a/data/themes/default/images/Makefile.am 
b/data/themes/default/images/Makefile.am
index aed5a5d..fea13cb 100644
--- a/data/themes/default/images/Makefile.am
+++ b/data/themes/default/images/Makefile.am
@@ -49,9 +49,10 @@ EXTRA_DIST = \
    lines.png \
    new.png \
    setting_icon.png \
-   setting.png \
+   console.png \
    status.png \
    swallow_s.png \
    goto.png \
    downlight_glow_left.png \
-   downlight_glow_right.png
+   downlight_glow_right.png \
+       alarm_highlight.png
diff --git a/data/themes/default/images/console.png 
b/data/themes/default/images/console.png
new file mode 100644
index 0000000..82fa425
Binary files /dev/null and b/data/themes/default/images/console.png differ
diff --git a/data/themes/default/images/setting.png 
b/data/themes/default/images/setting.png
deleted file mode 100644
index c3419af..0000000
Binary files a/data/themes/default/images/setting.png and /dev/null differ
diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index b94d11a..ad1160a 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -2046,7 +2046,13 @@ group { name: "main_layout";
             rel1.relative: 0 1;
             rel2.relative: 1 0;
             rel1.to_y: "elm.swallow.tools";
-            rel2.to_y: "elm.swallow.statusbar";
+            rel2.to_y: "elm.swallow.console";
+         }
+         description { state: "console" 0.0;
+            rel1.to: "elm.swallow.console";
+            rel2.to: "elm.swallow.console";
+            rel1.relative: 0 0;
+            rel2.relative: 1 0;
          }
       }
       part { name: "elm.swallow.statusbar";
@@ -2064,33 +2070,63 @@ group { name: "main_layout";
             align: 0.5 1;
          }
       }
+      part { name: "elm.swallow.console";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.swallow.statusbar";
+            rel2.to: "elm.swallow.statusbar";
+            rel1.relative: 0 0;
+            rel2.relative: 1 0;
+            align: 0.5 1;
+            color: 0 0 0 0;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            align: 0.5 1;
+            min: 0 125;
+            fixed: 0 1;
+            color: 255 255 255 255;
+         }
+      }
    }
    programs {
       program { name: "statusbar_show";
          signal: "elm,state,statusbar,show";
          action: STATE_SET "visible" 0.0;
          target: "elm.swallow.statusbar";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.25;
       }
       program { name: "statusbar_hide";
          signal: "elm,state,statusbar,hide";
          action: STATE_SET "default" 0.0;
          target: "elm.swallow.statusbar";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.25;
       }
       program { name: "tools_show";
          signal: "elm,state,tools,show";
          action: STATE_SET "visible" 0.0;
          target: "elm.swallow.tools";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.25;
       }
       program { name: "tools_hide";
          signal: "elm,state,tools,hide";
          action: STATE_SET "default" 0.0;
          target: "elm.swallow.tools";
-         transition: DECELERATE 0.35;
+         transition: DECELERATE 0.25;
+      }
+      program { name: "console_show";
+         signal: "elm,state,console,show";
+         action: STATE_SET "visible" 0.0;
+         target: "elm.swallow.console";
+         transition: DECELERATE 0.25;
+      }
+      program { name: "console_hide";
+         signal: "elm,state,console,hide";
+         action: STATE_SET "default" 0.0;
+         target: "elm.swallow.console";
+         transition: DECELERATE 0.25;
       }
-
    }
 }
 
diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c
index 08c1c01..25a1e61 100644
--- a/src/bin/base_gui.c
+++ b/src/bin/base_gui.c
@@ -115,6 +115,19 @@ base_left_view_set(Evas_Object *left)
 }
 
 void
+base_console_toggle(Eina_Bool config)
+{
+   base_data *bd = g_bd;
+
+   if (config) config_console_set(!config_console_get());
+
+   if (config_console_get())
+     elm_object_signal_emit(bd->layout, "elm,state,console,show", "");
+   else
+     elm_object_signal_emit(bd->layout, "elm,state,console,hide", "");
+}
+
+void
 base_gui_term(void)
 {
    base_data *bd = g_bd;
@@ -129,6 +142,9 @@ err_noti_cb(void *data, const char *msg)
 
    printf("%s\n", msg);
    fflush(stdout);
+
+   config_console_set(EINA_TRUE);
+   elm_object_signal_emit(bd->layout, "elm,state,console,show", "");
 }
 
 Eina_Bool
@@ -161,8 +177,7 @@ base_gui_init(void)
    //Base Layout
    Evas_Object *layout = elm_layout_add(win);
    elm_layout_file_set(layout, EDJE_PATH,  "main_layout");
-   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
-                                    EVAS_HINT_EXPAND);
+   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    elm_win_resize_object_add(win, layout);
    evas_object_show(layout);
 
@@ -175,6 +190,8 @@ base_gui_init(void)
    bd->win = win;
    bd->layout = layout;
 
+   base_console_toggle(EINA_FALSE);
+
    return EINA_TRUE;
 }
 
diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 22fbe40..2233010 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -29,6 +29,7 @@ typedef struct config_s
    Eina_Bool auto_indent;
    Eina_Bool tools;
    Eina_Bool auto_complete;
+   Eina_Bool console;
 } config_data;
 
 static config_data *g_cd = NULL;
@@ -136,6 +137,7 @@ config_load(void)
         cd->auto_indent = EINA_TRUE;
         cd->tools = EINA_FALSE;
         cd->auto_complete = EINA_TRUE;
+        cd->console = EINA_FALSE;
      }
 
    g_cd = cd;
@@ -210,6 +212,8 @@ eddc_init(void)
                                  tools, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_complete",
                                     auto_complete, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "console",
+                                 console, EET_T_UCHAR);
 }
 
 void
@@ -661,6 +665,20 @@ config_view_size_get(Evas_Coord *w, Evas_Coord *h)
 }
 
 Eina_Bool
+config_console_get(void)
+{
+   config_data *cd = g_cd;
+   return cd->console;
+}
+
+void
+config_console_set(Eina_Bool enabled)
+{
+   config_data *cd = g_cd;
+   cd->console = enabled;
+}
+
+Eina_Bool
 config_tools_get(void)
 {
    config_data *cd = g_cd;
diff --git a/src/bin/main.c b/src/bin/main.c
index 9a92346..23c9e4f 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -255,16 +255,22 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void 
*ev)
         edit_line_number_toggle(ad->ed);
         return ECORE_CALLBACK_DONE;
      }
-   //Statusbar
+   //Tools
+   if (!strcmp(event->key, "F9"))
+     {
+        base_tools_toggle(EINA_TRUE);
+        return ECORE_CALLBACK_DONE;
+     }
+   //Console
    if (!strcmp(event->key, "F10"))
      {
-        base_statusbar_toggle(EINA_TRUE);
+        base_console_toggle(EINA_TRUE);
         return ECORE_CALLBACK_DONE;
      }
-   //Tools
+   //Statusbar
    if (!strcmp(event->key, "F11"))
      {
-        base_tools_toggle(EINA_TRUE);
+        base_statusbar_toggle(EINA_TRUE);
         return ECORE_CALLBACK_DONE;
      }
    //Setting
@@ -383,6 +389,7 @@ config_update_cb(void *data)
    edit_font_size_update(ad->ed, EINA_FALSE, EINA_TRUE);
 
    base_tools_toggle(EINA_FALSE);
+   base_console_toggle(EINA_FALSE);
    base_statusbar_toggle(EINA_FALSE);
    edit_part_highlight_toggle(ad->ed, EINA_FALSE);
    view_dummy_toggle(VIEW_DATA, EINA_FALSE);
diff --git a/src/bin/setting.c b/src/bin/setting.c
index 30e7c39..915d0e6 100644
--- a/src/bin/setting.c
+++ b/src/bin/setting.c
@@ -12,6 +12,7 @@ struct setting_s
    Evas_Object *slider_font;
    Evas_Object *slider_view;
    Evas_Object *toggle_tools;
+   Evas_Object *toggle_console;
    Evas_Object *toggle_stats;
    Evas_Object *toggle_linenum;
    Evas_Object *toggle_highlight;
@@ -107,6 +108,7 @@ setting_apply_btn_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    config_font_size_set((float) elm_slider_value_get(sd->slider_font));
    config_view_scale_set(elm_slider_value_get(sd->slider_view));
    config_tools_set(elm_check_state_get(sd->toggle_tools));
+   config_console_set(elm_check_state_get(sd->toggle_console));
    config_stats_bar_set(elm_check_state_get(sd->toggle_stats));
    config_linenumber_set(elm_check_state_get(sd->toggle_linenum));
    config_part_highlight_set(elm_check_state_get(sd->toggle_highlight));
@@ -145,6 +147,7 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
    elm_slider_value_set(sd->slider_view, (double) config_view_scale_get());
 
    elm_check_state_set(sd->toggle_tools, config_tools_get());
+   elm_check_state_set(sd->toggle_console, config_console_get());
    elm_check_state_set(sd->toggle_stats, config_stats_bar_get());
    elm_check_state_set(sd->toggle_linenum, config_linenumber_get());
    elm_check_state_set(sd->toggle_highlight, config_part_highlight_get());
@@ -314,6 +317,11 @@ setting_open(void)
                                              config_tools_get());
    elm_box_pack_end(box, toggle_tools);
 
+   //Toggle (Console)
+   Evas_Object *toggle_console = toggle_create(box, "Console",
+                                               config_console_get());
+   elm_box_pack_end(box, toggle_console);
+
    //Toggle (Status)
    Evas_Object *toggle_stats = toggle_create(box, "Status",
                                              config_stats_bar_get());
@@ -373,6 +381,7 @@ setting_open(void)
    sd->slider_font = slider_font;
    sd->slider_view = slider_view;
    sd->toggle_tools = toggle_tools;
+   sd->toggle_console = toggle_console;
    sd->toggle_stats = toggle_stats;
    sd->toggle_linenum = toggle_linenum;
    sd->toggle_highlight = toggle_highlight;
diff --git a/src/bin/tools.c b/src/bin/tools.c
index 0d3253a..ad17b85 100644
--- a/src/bin/tools.c
+++ b/src/bin/tools.c
@@ -93,10 +93,10 @@ goto_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 }
 
 static void
-setting_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+console_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
            void *event_info)
 {
-   menu_setting();
+   base_console_toggle(EINA_TRUE);
    item_unselect((Elm_Object_Item *)event_info);
 }
 
@@ -134,8 +134,8 @@ tools_create(Evas_Object *parent, edit_data *ed)
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "line");
    it = elm_toolbar_item_append(toolbar, NULL, "Status", status_cb, NULL);
    elm_toolbar_item_icon_file_set(it, EDJE_PATH, "status");
-   it = elm_toolbar_item_append(toolbar, NULL, "Setting", setting_cb, NULL);
-   elm_toolbar_item_icon_file_set(it, EDJE_PATH, "setting");
+   it = elm_toolbar_item_append(toolbar, NULL, "Console", console_cb, NULL);
+   elm_toolbar_item_icon_file_set(it, EDJE_PATH, "console");
 
    return toolbar;
 }
diff --git a/src/include/base_gui.h b/src/include/base_gui.h
index 8730b69..09450fa 100644
--- a/src/include/base_gui.h
+++ b/src/include/base_gui.h
@@ -11,6 +11,7 @@ void base_tools_toggle(Eina_Bool config);
 void base_tools_set(Evas_Object *tools);
 void base_full_view_left(void);
 void base_full_view_right(void);
+void base_console_toggle(Eina_Bool config);
 void base_left_view_set(Evas_Object *left);
 void base_right_view_set(Evas_Object *right);
 void base_gui_term(void);
diff --git a/src/include/config_data.h b/src/include/config_data.h
index 5828716..a460eb6 100644
--- a/src/include/config_data.h
+++ b/src/include/config_data.h
@@ -42,4 +42,5 @@ void config_view_scale_set(double view_scale);
 double config_view_scale_get(void);
 Eina_Bool config_tools_get(void);
 void config_tools_set(Eina_Bool enabled);
-
+Eina_Bool config_console_get(void);
+void config_console_set(Eina_Bool enabled);

-- 


Reply via email to