hermet pushed a commit to branch master.

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

commit 29e4aa94c685f1f0e4cb7489be0f967489adc26d
Author: ChunEon Park <[email protected]>
Date:   Tue Feb 4 21:37:49 2014 +0900

    panes - refactoring.
    
    it's now singleton style.
    only base gui access this panes internally.
---
 src/bin/base_gui.c     | 14 ++++++--------
 src/bin/panes.c        | 23 ++++++++++++++++++-----
 src/include/base_gui.h |  2 ++
 src/include/common.h   |  1 -
 src/include/panes.h    |  8 +++++---
 5 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c
index 4a3c0d4..23c1d25 100644
--- a/src/bin/base_gui.c
+++ b/src/bin/base_gui.c
@@ -5,7 +5,6 @@ struct base_s
 {
    Evas_Object *win;
    Evas_Object *layout;
-   Evas_Object *panes;
 };
 
 static base_data *g_bd = NULL;
@@ -37,7 +36,6 @@ base_statusbar_toggle()
      elm_object_signal_emit(bd->layout, "elm,state,statusbar,hide", "");
 }
 
-//This function is used in panes. Maybe layout should be separated from main.
 void
 base_hotkey_toggle()
 {
@@ -82,34 +80,35 @@ void
 base_full_view_left()
 {
    base_data *bd = g_bd;
-   panes_full_view_left(bd->panes);
+   panes_full_view_left();
 }
 
 void
 base_full_view_right()
 {
    base_data *bd = g_bd;
-   panes_full_view_right(bd->panes);
+   panes_full_view_right();
 }
 
 void
 base_right_view_set(Evas_Object *right)
 {
    base_data *bd = g_bd;
-   elm_object_part_content_set(bd->panes, "right", right);
+   panes_content_set("right", right);
 }
 
 void
 base_left_view_set(Evas_Object *left)
 {
    base_data *bd = g_bd;
-   elm_object_part_content_set(bd->panes, "left", left);
+   panes_content_set("left", left);
 }
 
 void
 base_gui_term()
 {
    base_data *bd = g_bd;
+   panes_term();
    free(bd);
 }
 
@@ -145,12 +144,11 @@ base_gui_init()
    evas_object_show(layout);
 
    //Panes
-   Evas_Object *panes = panes_create(layout);
+   Evas_Object *panes = panes_init(layout);
    elm_object_part_content_set(layout, "elm.swallow.panes", panes);
 
    bd->win = win;
    bd->layout = layout;
-   bd->panes = panes;
 
    return EINA_TRUE;
 }
diff --git a/src/bin/panes.c b/src/bin/panes.c
index 1c22c46..87d4b6c 100644
--- a/src/bin/panes.c
+++ b/src/bin/panes.c
@@ -156,19 +156,34 @@ panes_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
 void
 panes_full_view_right(Evas_Object *panes)
 {
-   panes_data *pd = evas_object_data_get(panes, PANES_DATA);
+   panes_data *pd = g_pd;
    right_clicked_cb(pd, pd->right_arrow, NULL);
 }
 
 void
 panes_full_view_left(Evas_Object *panes)
 {
-   panes_data *pd = evas_object_data_get(panes, PANES_DATA);
+   panes_data *pd = g_pd;
    left_clicked_cb(pd, pd->left_arrow, NULL);
 }
 
+void
+panes_content_set(const char *part, Evas_Object *content)
+{
+   panes_data *pd = g_pd;
+   elm_object_part_content_set(pd->panes, part, content);
+}
+
+void
+panes_term()
+{
+   panes_data *pd = g_pd;
+   evas_object_del(pd->panes);
+   free(pd);
+}
+
 Evas_Object *
-panes_create(Evas_Object *parent)
+panes_init(Evas_Object *parent)
 {
    Evas_Object *img;
 
@@ -238,6 +253,4 @@ panes_create(Evas_Object *parent)
    pd->state = PANES_SPLIT_VIEW;
 
    evas_object_data_set(panes, PANES_DATA, pd);
-
-   return panes;
 }
diff --git a/src/include/base_gui.h b/src/include/base_gui.h
index cf56390..7d2f82f 100644
--- a/src/include/base_gui.h
+++ b/src/include/base_gui.h
@@ -1,3 +1,5 @@
+#include "panes.h"
+
 Eina_Bool base_gui_init();
 Evas_Object *base_win_get();
 Evas_Object *base_layout_get();
diff --git a/src/include/common.h b/src/include/common.h
index ee7cf93..9e2b5a8 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -22,7 +22,6 @@ typedef struct base_s base_data;
 #include "syntax_color.h"
 #include "config_data.h"
 #include "edc_parser.h"
-#include "panes.h"
 #include "dummy_obj.h"
 #include "ctxpopup.h"
 #include "indent.h"
diff --git a/src/include/panes.h b/src/include/panes.h
index 7800a5a..a5aa202 100644
--- a/src/include/panes.h
+++ b/src/include/panes.h
@@ -1,3 +1,5 @@
-Evas_Object *panes_create(Evas_Object *parent);
-void panes_full_view_right(Evas_Object *panes);
-void panes_full_view_left(Evas_Object *panes);
+Evas_Object *panes_init(Evas_Object *parent);
+void panes_term();
+void panes_full_view_right();
+void panes_full_view_left();
+void panes_content_set(const char *part, Evas_Object *content);

-- 


Reply via email to