jaehyun pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=5dbfbd64f3dc8da9ab657327561765ec78602819
commit 5dbfbd64f3dc8da9ab657327561765ec78602819 Author: Jaehyun Cho <jae_hyun....@samsung.com> Date: Mon May 9 22:09:09 2016 +0900 tools: Divide tools into live view tools and text editor tools. Now tools are divided into live view tools and text editor tools based on their functions. Region for file browser tools and edc navigator tools is also reserved. --- data/themes/default/layout_common.edc | 833 +++++++++++++++++++++++++++++----- src/bin/base_gui.c | 33 +- src/bin/edc_navigator.c | 40 +- src/bin/file_browser.c | 52 ++- src/bin/live_edit.c | 15 +- src/bin/main.c | 10 +- src/bin/panes.c | 70 ++- src/bin/tools.c | 213 +++++---- src/include/base_gui.h | 2 +- src/include/edc_navigator.h | 2 + src/include/file_browser.h | 2 + src/include/live_edit.h | 2 +- src/include/panes.h | 5 +- src/include/tools.h | 4 +- 14 files changed, 1010 insertions(+), 273 deletions(-) diff --git a/data/themes/default/layout_common.edc b/data/themes/default/layout_common.edc index 2dd0de0..edd22fa 100644 --- a/data/themes/default/layout_common.edc +++ b/data/themes/default/layout_common.edc @@ -2538,50 +2538,12 @@ group { name: "main_layout"; min: 640 440; } } - part { name: "tools_base"; - type: SPACER; - scale: 1; - description { state: "default" 0.0; - rel1.relative: 0 0; - rel2.relative: 1 0; - min: 0 23; - fixed: 0 1; - align: 0.5 1; - } - description { state: "visible" 0.0; - inherit: "default"; - align: 0.5 0; - } - } - part { name: "elm.swallow.tools"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; - rel1.to: "tools_base"; - rel2.to: "tools_base"; - rel1.offset: 2 0; - rel2.offset: -4 -1; - } - } - part { name: "tools_overlay"; - type: IMAGE; - scale: 1; - mouse_events: 0; - description { state: "default" 0.0; - rel1 { to: "tools_base"; } - rel2 { to: "tools_base"; } - image.normal: "bevel_out.png"; - image.border: 1 1 1 1; - image.border_scale: 1; - } - } swallow { "elm.swallow.panes"; scale: 1; desc { "default"; rel1 { - relative: 1.0 1.0; + relative: 1.0 0.0; to_x: "elm.swallow.file_browser"; - to_y: "elm.swallow.tools"; } rel2 { relative: 0.0 0.0; @@ -2622,8 +2584,6 @@ group { name: "main_layout"; scale: 1; desc { "default"; rel1 { - relative: 0.0 1.0; - to_y: "elm.swallow.tools"; offset: 1 0; } rel2 { @@ -2645,8 +2605,7 @@ group { name: "main_layout"; scale: 1; desc { "default"; rel1 { - relative: 1.0 1.0; - to_y: "elm.swallow.tools"; + relative: 1.0 0.0; } rel2 { relative: 1.0 0.0; @@ -2662,8 +2621,7 @@ group { name: "main_layout"; inherit: "default"; align: 1 0; rel1 { - relative: 1.0 1.0; - to_y: "elm.swallow.tools"; + relative: 1.0 0.0; } rel2 { relative: 1.0 0.0; @@ -2710,18 +2668,6 @@ group { name: "main_layout"; target: "elm.swallow.statusbar"; transition: DECELERATE 0.25; } - program { name: "tools_show"; - signal: "elm,state,tools,show"; - action: STATE_SET "visible" 0.0; - target: "tools_base"; - transition: DECELERATE 0.25; - } - program { name: "tools_hide"; - signal: "elm,state,tools,hide"; - action: STATE_SET "default" 0.0; - target: "tools_base"; - transition: DECELERATE 0.25; - } program { name: "alert_show"; signal: "elm,state,alert,show"; action: STATE_SET "visible" 0.0; @@ -2736,96 +2682,733 @@ group { name: "main_layout"; } } -group { name: "padding3_layout"; +group { "tools_layout"; parts { - part { name: "elm.swallow.content"; - type: SWALLOW; - description { state: "default" 0.0; - rel1.offset: 3 0; + rect { "tools_base"; + scale: 1; + desc { "default"; + rel1.relative: 0 0; + rel2.relative: 1 0; + min: 0 23; + fixed: 0 1; + align: 0.5 1; + color: 64 64 64 255; + } + desc { "visible"; + inherit: "default"; + align: 0.5 0; + } + } + swallow { "elm.swallow.tools"; + scale: 1; + desc { "default"; + rel1.to: "tools_base"; + rel2.to: "tools_base"; + rel1.offset: 2 0; + rel2.offset: -4 -1; + } + } + image { "tools_overlay"; + scale: 1; + mouse_events: 0; + desc { "default"; + rel1 { to: "tools_base"; } + rel2 { to: "tools_base"; } + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.border_scale: 1; + } + } + swallow { "elm.swallow.content"; + scale: 1; + desc { "default"; + rel1 { + relative: 0.0 1.0; + to_y: "elm.swallow.tools"; + } } } } + programs { + program { name: "tools_show"; + signal: "elm,state,tools,show"; + action: STATE_SET "visible" 0.0; + target: "tools_base"; + transition: DECELERATE 0.25; + } + program { name: "tools_hide"; + signal: "elm,state,tools,hide"; + action: STATE_SET "default" 0.0; + target: "tools_base"; + transition: DECELERATE 0.25; + } + } } -group { name: "edit_layout"; +group { "live_view_tools_layout"; parts { - part { name: "base_clip"; - type: RECT; - description { state: "default" 0.0; - rel1.to: "elm.swallow.linenumber"; - rel2.to: "elm.swallow.linenumber"; - rel2.relative: 1 1; + spacer { "padding1"; + scale: 1; + desc { "default"; + rel2.relative: 0.0 1.0; + min: 14 0; fixed: 1 0; + align: 0.0 0.5; } - description { state: "hide" 0.0; - inherit: "default"; - rel2.relative: 0 1; + } + swallow { "elm.swallow.highlight"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding1"; + relative: 1.0 0.0; + } + rel2.to_x: "padding1"; + fixed: 1 0; + align: 0.0 0.5; } } - part { name: "elm.swallow.linenumber"; - type: SWALLOW; + spacer { "padding2"; scale: 1; - clip_to: "base_clip"; - mouse_events: 0; - description { + desc { "default"; + rel1 { + to_x: "elm.swallow.highlight"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.highlight"; + min: 8 0; fixed: 1 0; - align: 0 0.5; - min: 15 0; - rel1.relative: 0 0; - rel1.offset: 3 0; - rel2.relative: 0 1; + align: 0.0 0.5; } } - part { name: "elm.swallow.edit"; - type: SWALLOW; + swallow { "elm.swallow.dummy"; scale: 1; - description { - align: 0 0.5; - rel1.relative: 1 0; - rel1.to: "base_clip"; - fixed: 0 1; + desc { "default"; + rel1 { + to_x: "padding2"; + relative: 1.0 0.0; + } + rel2.to_x: "padding2"; + fixed: 1 0; + align: 0.0 0.5; } } - part { name: "disabler"; - description { state: "default" 0.0; - image.normal: "disabler.png"; - fill.type: TILE; - color: 255 255 255 0; - visible: 0; + spacer { "padding3"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.dummy"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.dummy"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; + } + swallow { "elm.swallow.mirror"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding3"; + relative: 1.0 0.0; + } + rel2.to_x: "padding3"; + fixed: 1 0; + align: 0.0 0.5; } } - } - programs { - program { name: "linenumber_show"; - signal: "elm,state,linenumber,show"; - action: STATE_SET "default" 0.0; - target: "base_clip"; - transition: DECELERATE 0.35; + spacer { "padding4"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.mirror"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.mirror"; + min: 14 0; + fixed: 1 0; + align: 0.0 0.5; + } } - program { name: "linenumber_hide"; - signal: "elm,state,linenumber,hide"; - action: STATE_SET "hide" 0.0; - target: "base_clip"; - transition: DECELERATE 0.35; + rect { "separator"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding4"; + relative: 1.0 0.5; + } + rel2 { + to_x: "padding4"; + relative: 1.0 0.5; + } + min: 1 18; + fixed: 1 1; + align: 0.0 0.5; + color: 48 48 48 255; + } } - } - programs { - program { name: "layout_disable"; - signal: "elm,state,disabled"; - action: STATE_SET "disabled" 0.0; - target: "disabler"; - transition: DECELERATE 0.125; + spacer { "padding5"; + scale: 1; + desc { "default"; + rel1 { + to_x: "separator"; + relative: 1.0 0.0; + } + rel2.to_x: "separator"; + min: 14 0; + fixed: 1 0; + align: 0.0 0.5; + } } - program { name: "layout_enable"; - signal: "elm,state,enabled"; - action: STATE_SET "default" 0.0; - target: "disabler"; - transition: DECELERATE 0.125; + swallow { "elm.swallow.live_edit1"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding5"; + relative: 1.0 0.0; + } + rel2.to_x: "padding5"; + fixed: 1 0; + align: 0.0 0.5; + } } - } -} + spacer { "padding6"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.live_edit1"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.live_edit1"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.live_edit2"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding6"; + relative: 1.0 0.0; + } + rel2.to_x: "padding6"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding7"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.live_edit2"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.live_edit2"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.live_edit3"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding7"; + relative: 1.0 0.0; + } + rel2.to_x: "padding7"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding8"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.live_edit3"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.live_edit3"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.live_edit4"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding8"; + relative: 1.0 0.0; + } + rel2.to_x: "padding8"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding9"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.live_edit4"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.live_edit4"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.live_edit5"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding9"; + relative: 1.0 0.0; + } + rel2.to_x: "padding9"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding10"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.live_edit5"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.live_edit5"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.live_edit6"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding10"; + relative: 1.0 0.0; + } + rel2.to_x: "padding10"; + fixed: 1 0; + align: 0.0 0.5; + } + } + } +} + +group { "text_editor_tools_layout"; + parts { + spacer { "base"; + scale: 1; + desc { "default"; + min: 300 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding1"; + scale: 1; + desc { "default"; + rel1.to_x: "base"; + rel2 { + to_x: "base"; + relative: 0.0 1.0; + } + min: 14 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.save"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding1"; + relative: 1.0 0.0; + } + rel2.to_x: "padding1"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding2"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.save"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.save"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.undo"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding2"; + relative: 1.0 0.0; + } + rel2.to_x: "padding2"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding3"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.undo"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.undo"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.redo"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding3"; + relative: 1.0 0.0; + } + rel2.to_x: "padding3"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding4"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.redo"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.redo"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.find"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding4"; + relative: 1.0 0.0; + } + rel2.to_x: "padding4"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding5"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.find"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.find"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.goto"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding5"; + relative: 1.0 0.0; + } + rel2.to_x: "padding5"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding6"; + scale: 1; + desc { "default"; + rel1 { + to_x: "elm.swallow.goto"; + relative: 1.0 0.0; + } + rel2.to_x: "elm.swallow.goto"; + min: 8 0; + fixed: 1 0; + align: 0.0 0.5; + } + } + swallow { "elm.swallow.lines"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding6"; + relative: 1.0 0.0; + } + rel2.to_x: "padding6"; + fixed: 1 0; + align: 0.0 0.5; + } + } + spacer { "padding7"; + scale: 1; + desc { "default"; + rel1 { + to_x: "base"; + relative: 1.0 0.0; + } + rel2.to_x: "base"; + min: 14 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + swallow { "elm.swallow.menu"; + scale: 1; + desc { "default"; + rel1.to_x: "padding7"; + rel2 { + to_x: "padding7"; + relative: 0.0 1.0; + } + fixed: 1 0; + align: 1.0 0.5; + } + } + spacer { "padding8"; + scale: 1; + desc { "default"; + rel1.to_x: "elm.swallow.menu"; + rel2 { + to_x: "elm.swallow.menu"; + relative: 0.0 1.0; + } + min: 14 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + rect { "separator"; + scale: 1; + desc { "default"; + rel1 { + to_x: "padding8"; + relative: 0.0 0.5; + } + rel2 { + to_x: "padding8"; + relative: 0.0 0.5; + } + min: 1 18; + fixed: 1 0; + align: 1.0 0.5; + color: 48 48 48 255; + } + } + spacer { "padding9"; + scale: 1; + desc { "default"; + rel1.to_x: "separator"; + rel2 { + to_x: "separator"; + relative: 0.0 1.0; + } + min: 8 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + swallow { "elm.swallow.status"; + scale: 1; + desc { "default"; + rel1.to_x: "padding9"; + rel2 { + to_x: "padding9"; + relative: 0.0 1.0; + } + fixed: 1 0; + align: 1.0 0.5; + } + } + spacer { "padding10"; + scale: 1; + desc { "default"; + rel1.to_x: "elm.swallow.status"; + rel2 { + to_x: "elm.swallow.status"; + relative: 0.0 1.0; + } + min: 8 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + swallow { "elm.swallow.edc_navigator"; + scale: 1; + desc { "default"; + rel1.to_x: "padding10"; + rel2 { + to_x: "padding10"; + relative: 0.0 1.0; + } + fixed: 1 0; + align: 1.0 0.5; + } + } + spacer { "padding11"; + scale: 1; + desc { "default"; + rel1.to_x: "elm.swallow.edc_navigator"; + rel2 { + to_x: "elm.swallow.edc_navigator"; + relative: 0.0 1.0; + } + min: 8 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + swallow { "elm.swallow.file_browser"; + scale: 1; + desc { "default"; + rel1.to_x: "padding11"; + rel2 { + to_x: "padding11"; + relative: 0.0 1.0; + } + fixed: 1 0; + align: 1.0 0.5; + } + } + spacer { "padding12"; + scale: 1; + desc { "default"; + rel1.to_x: "elm.swallow.file_browser"; + rel2 { + to_x: "elm.swallow.file_browser"; + relative: 0.0 1.0; + } + min: 8 0; + fixed: 1 0; + align: 1.0 0.5; + } + } + swallow { "elm.swallow.console"; + scale: 1; + desc { "default"; + rel1.to_x: "padding12"; + rel2 { + to_x: "padding12"; + relative: 0.0 1.0; + } + fixed: 1 0; + align: 1.0 0.5; + } + } + } +} + +group { name: "padding3_layout"; + parts { + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.offset: 3 0; + } + } + } +} + +group { name: "edit_layout"; + parts { + part { name: "base_clip"; + type: RECT; + description { state: "default" 0.0; + rel1.to: "elm.swallow.linenumber"; + rel2.to: "elm.swallow.linenumber"; + rel2.relative: 1 1; + fixed: 1 0; + } + description { state: "hide" 0.0; + inherit: "default"; + rel2.relative: 0 1; + } + } + part { name: "elm.swallow.linenumber"; + type: SWALLOW; + scale: 1; + clip_to: "base_clip"; + mouse_events: 0; + description { + fixed: 1 0; + align: 0 0.5; + min: 15 0; + rel1.relative: 0 0; + rel1.offset: 3 0; + rel2.relative: 0 1; + } + } + part { name: "elm.swallow.edit"; + type: SWALLOW; + scale: 1; + description { + align: 0 0.5; + rel1.relative: 1 0; + rel1.to: "base_clip"; + fixed: 0 1; + } + } + part { name: "disabler"; + description { state: "default" 0.0; + image.normal: "disabler.png"; + fill.type: TILE; + color: 255 255 255 0; + visible: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + } + } + programs { + program { name: "linenumber_show"; + signal: "elm,state,linenumber,show"; + action: STATE_SET "default" 0.0; + target: "base_clip"; + transition: DECELERATE 0.35; + } + program { name: "linenumber_hide"; + signal: "elm,state,linenumber,hide"; + action: STATE_SET "hide" 0.0; + target: "base_clip"; + transition: DECELERATE 0.35; + } + } + programs { + program { name: "layout_disable"; + signal: "elm,state,disabled"; + action: STATE_SET "disabled" 0.0; + target: "disabler"; + transition: DECELERATE 0.125; + } + program { name: "layout_enable"; + signal: "elm,state,enabled"; + action: STATE_SET "default" 0.0; + target: "disabler"; + transition: DECELERATE 0.125; + } + } +} \ No newline at end of file diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c index e6dc111..2f87eac 100644 --- a/src/bin/base_gui.c +++ b/src/bin/base_gui.c @@ -122,15 +122,14 @@ void base_edc_navigator_toggle(Eina_Bool toggle) void base_tools_toggle(Eina_Bool config) { - base_data *bd = g_bd; - assert(bd); - if (config) config_tools_set(!config_tools_get()); - if (config_tools_get()) - elm_object_signal_emit(bd->layout, "elm,state,tools,show", ""); - else - elm_object_signal_emit(bd->layout, "elm,state,tools,hide", ""); + Eina_Bool visible = config_tools_get(); + + panes_live_view_tools_visible_set(visible); + panes_text_editor_tools_visible_set(visible); + file_browser_tools_visible_set(visible); + edc_navigator_tools_visible_set(visible); } Evas_Object * @@ -157,16 +156,20 @@ base_win_resize_object_add(Evas_Object *resize_obj) elm_win_resize_object_add(bd->win, resize_obj); } -void base_tools_set(Evas_Object *tools) +void base_tools_set(Evas_Object *live_view_tools, + Evas_Object *text_editor_tools) { - base_data *bd = g_bd; - assert(bd); - elm_object_part_content_set(bd->layout, "elm.swallow.tools", tools); + panes_live_view_tools_set(live_view_tools); + panes_text_editor_tools_set(text_editor_tools); + file_browser_tools_set(); + edc_navigator_tools_set(); - if (config_tools_get()) - elm_object_signal_emit(bd->layout, "elm,state,tools,show", ""); - else - elm_object_signal_emit(bd->layout, "elm,state,tools,hide", ""); + Eina_Bool visible = config_tools_get(); + + panes_live_view_tools_visible_set(visible); + panes_text_editor_tools_visible_set(visible); + file_browser_tools_visible_set(visible); + edc_navigator_tools_visible_set(visible); } void diff --git a/src/bin/edc_navigator.c b/src/bin/edc_navigator.c index 39549f2..2200875 100644 --- a/src/bin/edc_navigator.c +++ b/src/bin/edc_navigator.c @@ -15,6 +15,7 @@ typedef struct list_it_s list_it; typedef struct edc_navigator_s { + Evas_Object *base_layout; Evas_Object *genlist; Eina_List *groups; @@ -1471,6 +1472,14 @@ edc_navigator_init(Evas_Object *parent) } g_nd = nd; + //Base layout + Evas_Object *base_layout = elm_layout_add(parent); + elm_layout_file_set(base_layout, EDJE_PATH, "tools_layout"); + evas_object_size_hint_weight_set(base_layout, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(base_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(base_layout); + //Genlist Evas_Object *genlist = elm_genlist_add(parent); elm_object_focus_allow_set(genlist, EINA_FALSE); @@ -1485,7 +1494,7 @@ edc_navigator_init(Evas_Object *parent) evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(genlist); + elm_object_content_set(base_layout, genlist); //Group Item Class Elm_Genlist_Item_Class *itc; @@ -1531,9 +1540,10 @@ edc_navigator_init(Evas_Object *parent) nd->program_itc = itc; + nd->base_layout = base_layout; nd->genlist = genlist; - return genlist; + return base_layout; } void @@ -1550,8 +1560,32 @@ edc_navigator_term(void) elm_genlist_item_class_free(nd->programs_itc); elm_genlist_item_class_free(nd->program_itc); - evas_object_del(nd->genlist); + evas_object_del(nd->base_layout); free(nd); g_nd = NULL; } + +void +edc_navigator_tools_set(void) +{ + navi_data *nd = g_nd; + if (!nd) return; + + Evas_Object *rect = + evas_object_rectangle_add(evas_object_evas_get(nd->base_layout)); + evas_object_color_set(rect, 0, 0, 0, 0); + elm_object_part_content_set(nd->base_layout, "elm.swallow.tools", rect); +} + +void +edc_navigator_tools_visible_set(Eina_Bool visible) +{ + navi_data *nd = g_nd; + if (!nd) return; + + if (visible) + elm_object_signal_emit(nd->base_layout, "elm,state,tools,show", ""); + else + elm_object_signal_emit(nd->base_layout, "elm,state,tools,hide", ""); +} diff --git a/src/bin/file_browser.c b/src/bin/file_browser.c index 6d308e8..4f1c312 100644 --- a/src/bin/file_browser.c +++ b/src/bin/file_browser.c @@ -33,7 +33,7 @@ typedef struct file_browser_s { brows_file *workspace; //workspace directory - Evas_Object *main_box; + Evas_Object *base_layout; Evas_Object *search_entry; Evas_Object *genlist; Evas_Object *show_all_check; @@ -572,7 +572,7 @@ file_browser_workspace_set(const char *workspace_path) if (!workspace) return; bd->workspace = workspace; - elm_object_disabled_set(bd->main_box, EINA_FALSE); + elm_object_disabled_set(bd->base_layout, EINA_FALSE); if (workspace->sub_file_list) gl_exp_req(NULL, NULL, workspace->it); @@ -582,7 +582,7 @@ Evas_Object * file_browser_init(Evas_Object *parent) { brows_data *bd = g_bd; - if (bd) return bd->main_box; + if (bd) return bd->base_layout; bd = calloc(1, sizeof(brows_data)); if (!bd) @@ -592,12 +592,20 @@ file_browser_init(Evas_Object *parent) } g_bd = bd; + //Base layout + Evas_Object *base_layout = elm_layout_add(parent); + elm_layout_file_set(base_layout, EDJE_PATH, "tools_layout"); + evas_object_size_hint_align_set(base_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(base_layout, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_show(base_layout); + //Main Box - Evas_Object *main_box = elm_box_add(parent); + Evas_Object *main_box = elm_box_add(base_layout); evas_object_size_hint_align_set(main_box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(main_box, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_show(main_box); + EVAS_HINT_EXPAND); + elm_object_content_set(base_layout, main_box); Evas_Object *sub_box; @@ -674,14 +682,14 @@ file_browser_init(Evas_Object *parent) search_itc->func.content_get = gl_search_content_get_cb; bd->search_itc = search_itc; - bd->main_box = main_box; + bd->base_layout = base_layout; bd->search_entry = search_entry; bd->genlist = genlist; bd->show_all_check = show_all_check; - elm_object_disabled_set(main_box, EINA_TRUE); + elm_object_disabled_set(base_layout, EINA_TRUE); - return main_box; + return base_layout; } void @@ -695,8 +703,32 @@ file_browser_term(void) elm_genlist_item_class_free(bd->itc); elm_genlist_item_class_free(bd->search_itc); - evas_object_del(bd->main_box); + evas_object_del(bd->base_layout); free(bd); g_bd = NULL; } + +void +file_browser_tools_set(void) +{ + brows_data *bd = g_bd; + if (!bd) return; + + Evas_Object *rect = + evas_object_rectangle_add(evas_object_evas_get(bd->base_layout)); + evas_object_color_set(rect, 0, 0, 0, 0); + elm_object_part_content_set(bd->base_layout, "elm.swallow.tools", rect); +} + +void +file_browser_tools_visible_set(Eina_Bool visible) +{ + brows_data *bd = g_bd; + if (!bd) return; + + if (visible) + elm_object_signal_emit(bd->base_layout, "elm,state,tools,show", ""); + else + elm_object_signal_emit(bd->base_layout, "elm,state,tools,hide", ""); +} diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c index d2cc29d..0b534b5 100644 --- a/src/bin/live_edit.c +++ b/src/bin/live_edit.c @@ -1479,25 +1479,22 @@ live_edit_cancel(void) return EINA_TRUE; } -Evas_Object * +//Create and return a list of buttons. +Eina_List * live_edit_tools_create(Evas_Object *parent) { - Evas_Object *box = elm_box_add(parent); - elm_box_horizontal_set(box, EINA_TRUE); - elm_box_padding_set(box, ELM_SCALE_SIZE(5), 0); - + Eina_List *btn_list = NULL; Evas_Object *btn; int i; for (i = 0; i < LIVEEDIT_ITEMS_NUM; i++) { - btn = live_btn_create(box, LIVEEDIT_ITEMS[i].name, + btn = live_btn_create(parent, LIVEEDIT_ITEMS[i].name, (void *)(uintptr_t) i); - elm_box_pack_end(box, btn); + btn_list = eina_list_append(btn_list, btn); } - evas_object_show(box); - return box; + return btn_list; } void diff --git a/src/bin/main.c b/src/bin/main.c index 9257363..a51a1cf 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -211,14 +211,12 @@ main_mouse_wheel_cb(void *data, int type EINA_UNUSED, void *ev) return ECORE_CALLBACK_PASS_ON; } -static Evas_Object * +static void tools_set(void) { - Evas_Object *tools = tools_init(base_layout_get()); - base_tools_set(tools); + tools_init(base_layout_get()); + base_tools_set(tools_live_view_get(), tools_text_editor_get()); tools_update(); - - return tools; } static void @@ -928,7 +926,7 @@ init(app_data *ad, int argc, char **argv) statusbar_set(); enventor_setup(ad); file_mgr_init(); - Evas_Object *tools = tools_set(); + tools_set(); live_edit_init(); base_gui_show(); diff --git a/src/bin/panes.c b/src/bin/panes.c index 8760a87..9989c13 100644 --- a/src/bin/panes.c +++ b/src/bin/panes.c @@ -283,14 +283,30 @@ void panes_text_editor_set(Evas_Object *text_editor) { panes_data *pd = g_pd; - elm_object_part_content_set(pd->horiz.obj, "right", text_editor); + + Evas_Object *base_layout = elm_layout_add(pd->horiz.obj); + elm_layout_file_set(base_layout, EDJE_PATH, "tools_layout"); + evas_object_size_hint_weight_set(base_layout, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(base_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_content_set(base_layout, text_editor); + + elm_object_part_content_set(pd->horiz.obj, "right", base_layout); } void panes_live_view_set(Evas_Object *live_view) { panes_data *pd = g_pd; - elm_object_part_content_set(pd->horiz.obj, "left", live_view); + + Evas_Object *base_layout = elm_layout_add(pd->horiz.obj); + elm_layout_file_set(base_layout, EDJE_PATH, "tools_layout"); + evas_object_size_hint_weight_set(base_layout, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(base_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_content_set(base_layout, live_view); + + elm_object_part_content_set(pd->horiz.obj, "left", base_layout); } void @@ -358,3 +374,53 @@ panes_init(Evas_Object *parent) return panes_v; } + +void +panes_live_view_tools_set(Evas_Object *tools) +{ + panes_data *pd = g_pd; + if (!pd) return; + + Evas_Object *live_view = elm_object_part_content_get(pd->horiz.obj, "left"); + elm_object_part_content_set(live_view, "elm.swallow.tools", tools); +} + +void +panes_text_editor_tools_set(Evas_Object *tools) +{ + panes_data *pd = g_pd; + if (!pd) return; + + Evas_Object *text_editor = elm_object_part_content_get(pd->horiz.obj, + "right"); + elm_object_part_content_set(text_editor, "elm.swallow.tools", tools); +} + +void +panes_live_view_tools_visible_set(Eina_Bool visible) +{ + panes_data *pd = g_pd; + if (!pd) return; + + Evas_Object *live_view = elm_object_part_content_get(pd->horiz.obj, "left"); + + if (visible) + elm_object_signal_emit(live_view, "elm,state,tools,show", ""); + else + elm_object_signal_emit(live_view, "elm,state,tools,hide", ""); +} + +void +panes_text_editor_tools_visible_set(Eina_Bool visible) +{ + panes_data *pd = g_pd; + if (!pd) return; + + Evas_Object *text_editor = elm_object_part_content_get(pd->horiz.obj, + "right"); + + if (visible) + elm_object_signal_emit(text_editor, "elm,state,tools,show", ""); + else + elm_object_signal_emit(text_editor, "elm,state,tools,hide", ""); +} diff --git a/src/bin/tools.c b/src/bin/tools.c index 787e673..e439ef4 100644 --- a/src/bin/tools.c +++ b/src/bin/tools.c @@ -17,7 +17,8 @@ typedef struct tools_s Evas_Object *find_btn; Evas_Object *console_btn; Evas_Object *menu_btn; - Evas_Object *box; + Evas_Object *live_view_ly; + Evas_Object *text_editor_ly; } tools_data; static tools_data *g_td = NULL; @@ -165,164 +166,178 @@ tools_term(void) free(td); } -Evas_Object * +void tools_init(Evas_Object *parent) { tools_data *td = g_td; - if (td) return (td->box); + if (td) return; td = calloc(1, sizeof(tools_data)); if (!td) { EINA_LOG_ERR(_("Failed to allocate Memory!")); - return NULL; + return; } g_td = td; - Evas_Object *box = elm_box_add(parent); - elm_box_horizontal_set(box, EINA_TRUE); - elm_box_padding_set(box, 10, 0); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, + //Live view tools + Evas_Object *live_view_ly = elm_layout_add(parent); + elm_layout_file_set(live_view_ly, EDJE_PATH, "live_view_tools_layout"); + evas_object_size_hint_weight_set(live_view_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_align_set(live_view_ly, EVAS_HINT_FILL, + EVAS_HINT_FILL); Evas_Object *btn; - btn = tools_btn_create(box, "highlight", _("Part Highlighting (Ctrl + H)"), - highlight_cb); + btn = tools_btn_create(live_view_ly, "highlight", + _("Part Highlighting (Ctrl + H)"), highlight_cb); elm_object_tooltip_orient_set(btn, ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(live_view_ly, "elm.swallow.highlight", btn); td->highlight_btn = btn; - btn = tools_btn_create(box, "dummy", _("Dummy Parts (Ctrl + W)"), + btn = tools_btn_create(live_view_ly, "dummy", _("Dummy Parts (Ctrl + W)"), dummy_cb); elm_object_tooltip_orient_set(btn, ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(live_view_ly, "elm.swallow.dummy", btn); td->swallow_btn = btn; //icon image is temporary, it should be changed to its own icon. - btn = tools_btn_create(box, "mirror", _("Mirror Mode (Ctrl + M)"), + btn = tools_btn_create(live_view_ly, "mirror", _("Mirror Mode (Ctrl + M)"), mirror_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(live_view_ly, "elm.swallow.mirror", btn); td->mirror_btn = btn; - Evas_Object *sp; - sp = elm_separator_add(box); - evas_object_show(sp); - elm_box_pack_end(box, sp); - - //Live edit tool - btn = live_edit_tools_create(box); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + //Live edit tools + Eina_List *btn_list = live_edit_tools_create(live_view_ly); + Eina_List *l = NULL; + int i = 1; + EINA_LIST_FOREACH(btn_list, l, btn) + { + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + + char swallow_part[32]; + snprintf(swallow_part, sizeof(swallow_part), "elm.swallow.live_edit%d", + i); + elm_object_part_content_set(live_view_ly, swallow_part, btn); + i++; + } - sp = elm_separator_add(box); - evas_object_show(sp); - elm_box_pack_end(box, sp); + td->live_view_ly = live_view_ly; - //For a empty space - Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(box)); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(box, rect); + //Text editor tools + Evas_Object *text_editor_ly = elm_layout_add(parent); + elm_layout_file_set(text_editor_ly, EDJE_PATH, "text_editor_tools_layout"); + evas_object_size_hint_weight_set(text_editor_ly, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(text_editor_ly, EVAS_HINT_FILL, + EVAS_HINT_FILL); - btn = tools_btn_create(box, "save",_("Save File (Ctrl + S)"), + btn = tools_btn_create(text_editor_ly, "save",_("Save File (Ctrl + S)"), save_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.save", btn); - btn = tools_btn_create(box, "undo", _("Undo Text (Ctrl + Z)"), + btn = tools_btn_create(text_editor_ly, "undo", _("Undo Text (Ctrl + Z)"), undo_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.undo", btn); - btn = tools_btn_create(box, "redo", _("Redo Text (Ctrl + R)"), + btn = tools_btn_create(text_editor_ly, "redo", _("Redo Text (Ctrl + R)"), redo_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.redo", btn); - btn = tools_btn_create(box, "find", _("Find/Replace (Ctrl + F)"), + btn = tools_btn_create(text_editor_ly, "find", _("Find/Replace (Ctrl + F)"), find_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.find", btn); td->find_btn = btn; - btn = tools_btn_create(box, "goto", _("Goto Lines (Ctrl + L)"), + btn = tools_btn_create(text_editor_ly, "goto", _("Goto Lines (Ctrl + L)"), goto_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.goto", btn); td->goto_btn = btn; - btn = tools_btn_create(box, "lines", _("Line Numbers (F5)"), + btn = tools_btn_create(text_editor_ly, "lines", _("Line Numbers (F5)"), lines_cb); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.lines", btn); td->lines_btn = btn; - sp = elm_separator_add(box); - evas_object_show(sp); - elm_box_pack_end(box, sp); - - btn = tools_btn_create(box, "console", _("Console Box (Alt + Down)"), - console_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); + btn = tools_btn_create(text_editor_ly, "console", + _("Console Box (Alt + Down)"), console_cb); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.console", btn); td->console_btn = btn; - btn = tools_btn_create(box, "file_browser", _("File Browser (F9)"), - file_browser_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); + btn = tools_btn_create(text_editor_ly, "file_browser", + _("File Browser (F9)"), file_browser_cb); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.file_browser", btn); td->file_browser_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); + btn = tools_btn_create(text_editor_ly, "edc_navigator", + _("EDC Navigator (F10)"), edc_navigator_cb); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.edc_navigator", + 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); - elm_box_pack_end(box, btn); + btn = tools_btn_create(text_editor_ly, "status", _("Status (F11)"), + status_cb); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.status", btn); td->status_btn = btn; - sp = elm_separator_add(box); - evas_object_show(sp); - elm_box_pack_end(box, sp); - - btn = tools_btn_create(box, "menu", _("Enventor Menu (Esc)"), + btn = tools_btn_create(text_editor_ly, "menu", _("Enventor Menu (Esc)"), menu_cb); elm_object_tooltip_orient_set(btn, ELM_TOOLTIP_ORIENT_BOTTOM_LEFT); - evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(box, btn); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(text_editor_ly, "elm.swallow.menu", btn); td->menu_btn = btn; - evas_object_show(box); - - td->box = box; + td->text_editor_ly = text_editor_ly; //Turn on if console is valid size. if (!config_console_get() && (config_console_size_get() > 0)) tools_console_update(EINA_TRUE); +} + +Evas_Object * +tools_live_view_get(void) +{ + tools_data *td = g_td; + if (!td) return; + + return td->live_view_ly; +} + +Evas_Object * +tools_text_editor_get(void) +{ + tools_data *td = g_td; + if (!td) return; - return box; + return td->text_editor_ly; } void diff --git a/src/include/base_gui.h b/src/include/base_gui.h index 3b9b88d..c784fd5 100644 --- a/src/include/base_gui.h +++ b/src/include/base_gui.h @@ -13,7 +13,7 @@ void base_win_resize_object_add(Evas_Object *resize_obj); void base_title_set(const char *path); void base_statusbar_toggle(Eina_Bool config); void base_tools_toggle(Eina_Bool config); -void base_tools_set(Evas_Object *tools); +void base_tools_set(Evas_Object *live_view_tools, Evas_Object *text_editor_tools); void base_enventor_full_view(void); void base_live_view_full_view(void); void base_editors_full_view(void); diff --git a/src/include/edc_navigator.h b/src/include/edc_navigator.h index 0051593..d48ff90 100644 --- a/src/include/edc_navigator.h +++ b/src/include/edc_navigator.h @@ -2,3 +2,5 @@ Evas_Object *edc_navigator_init(Evas_Object *parent); void edc_navigator_term(void); void edc_navigator_group_update(const char *cur_group); void edc_navigator_deselect(void); +void edc_navigator_tools_set(void); +void edc_navigator_tools_visible_set(Eina_Bool visible); diff --git a/src/include/file_browser.h b/src/include/file_browser.h index 589c97e..0b2259d 100644 --- a/src/include/file_browser.h +++ b/src/include/file_browser.h @@ -1,3 +1,5 @@ Evas_Object *file_browser_init(Evas_Object *parent); void file_browser_term(void); void file_browser_workspace_set(const char *workspace_dir); +void file_browser_tools_set(void); +void file_browser_tools_visible_set(Eina_Bool visible); diff --git a/src/include/live_edit.h b/src/include/live_edit.h index 9999944..dd8c85f 100644 --- a/src/include/live_edit.h +++ b/src/include/live_edit.h @@ -10,4 +10,4 @@ void live_edit_term(void); Eina_Bool live_edit_cancel(void); Eina_Bool live_edit_get(void); void live_edit_update(void); -Evas_Object *live_edit_tools_create(Evas_Object *parent); +Eina_List *live_edit_tools_create(Evas_Object *parent); diff --git a/src/include/panes.h b/src/include/panes.h index b9f2e6f..47cd9e8 100644 --- a/src/include/panes.h +++ b/src/include/panes.h @@ -10,4 +10,7 @@ void panes_live_view_set(Evas_Object *live_view); void panes_text_editor_set(Evas_Object *text_editor); void panes_console_set(Evas_Object *console); Eina_Bool panes_editors_full_view_get(void); - +void panes_live_view_tools_set(Evas_Object *tools); +void panes_text_editor_tools_set(Evas_Object *tools); +void panes_live_view_tools_visible_set(Eina_Bool visible); +void panes_text_editor_tools_visible_set(Eina_Bool visible); diff --git a/src/include/tools.h b/src/include/tools.h index eced985..6177853 100644 --- a/src/include/tools.h +++ b/src/include/tools.h @@ -1,4 +1,4 @@ -Evas_Object *tools_init(Evas_Object *parent); +void tools_init(Evas_Object *parent); void tools_term(void); void tools_highlight_update(Eina_Bool toggle); void tools_lines_update(Eina_Bool toggle); @@ -12,3 +12,5 @@ void tools_search_update(void); void tools_live_update(Eina_Bool on); void tools_console_update(Eina_Bool on); void tools_menu_update(Eina_Bool on); +Evas_Object *tools_live_view_get(void); +Evas_Object *tools_text_editor_get(void); --