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); --
