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