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

-- 


Reply via email to