hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=9af9369c79281dcfc2a15bc1577b9a45cae7ba5a

commit 9af9369c79281dcfc2a15bc1577b9a45cae7ba5a
Author: ChunEon Park <[email protected]>
Date:   Thu Jan 30 01:15:33 2014 +0900

    refactoring - got rid of menu instance handling.
    
    count menu as a singleton instance.
    since we can not image multiple menus in the enventor.
    
    now code is getting simpler.
---
 src/bin/hotkeys.c     | 52 ++++++++++++++++++++++++++-------------------------
 src/bin/main.c        | 26 ++++++++++++--------------
 src/bin/menu.c        | 49 +++++++++++++++++++++++++++++-------------------
 src/include/hotkeys.h |  2 +-
 src/include/menu.h    | 16 ++++++++--------
 5 files changed, 78 insertions(+), 67 deletions(-)

diff --git a/src/bin/hotkeys.c b/src/bin/hotkeys.c
index e4b0c78..d9fc862 100644
--- a/src/bin/hotkeys.c
+++ b/src/bin/hotkeys.c
@@ -3,35 +3,36 @@
 
 
 static void
-f1_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f1_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_about(md);
+   menu_about();
 }
 
 static void
-f2_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f2_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_edc_new(md);
+   menu_edc_new();
 }
 
 static void
-f3_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f3_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_edc_save(md);
+   menu_edc_save();
 }
 
 static void
-f4_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f4_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_edc_load(md);
+   menu_edc_load();
 }
 
 static void
-f5_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f5_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
 /*   app_data *ad = data;
    config_linenumber_set(ad->cd, !config_linenumber_get(ad->cd));
@@ -39,7 +40,8 @@ f5_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 }
 
 static void
-f6_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f6_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+      void *event_info EINA_UNUSED)
 {
 /*   app_data *ad = data;
    config_stats_bar_set(ad->cd, !config_stats_bar_get(ad->cd));
@@ -47,15 +49,15 @@ f6_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 }
 
 static void
-f12_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+f12_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+       void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_setting(md);
+   menu_setting();
 }
 
 
 Evas_Object *
-hotkeys_create(Evas_Object *parent, menu_data *md)
+hotkeys_create(Evas_Object *parent)
 {
    Evas_Object *box = elm_box_add(parent);
    elm_box_horizontal_set(box, EINA_TRUE);
@@ -70,7 +72,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
-   evas_object_smart_callback_add(btn, "clicked", f1_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f1_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -81,7 +83,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
-   evas_object_smart_callback_add(btn, "clicked", f2_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f2_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -92,7 +94,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
-   evas_object_smart_callback_add(btn, "clicked", f3_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f3_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -103,7 +105,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
-   evas_object_smart_callback_add(btn, "clicked", f4_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f4_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -116,7 +118,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
    elm_object_disabled_set(btn, EINA_TRUE);
-   evas_object_smart_callback_add(btn, "clicked", f5_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f5_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -129,7 +131,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
    elm_object_disabled_set(btn, EINA_TRUE);
-   evas_object_smart_callback_add(btn, "clicked", f6_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f6_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
@@ -195,7 +197,7 @@ hotkeys_create(Evas_Object *parent, menu_data *md)
    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(btn, 0.5, 0);
    elm_object_focus_allow_set(btn, EINA_FALSE);
-   evas_object_smart_callback_add(btn, "clicked", f12_cb, md);
+   evas_object_smart_callback_add(btn, "clicked", f12_cb, NULL);
    evas_object_show(btn);
    elm_box_pack_end(box, btn);
 
diff --git a/src/bin/main.c b/src/bin/main.c
index 859bee4..5db76b3 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -7,7 +7,6 @@ struct app_s
 {
    edit_data *ed;
    edj_mgr *em;
-   menu_data *md;
    stats_data *sd;
    config_data *cd;
 
@@ -41,11 +40,10 @@ edc_changed_cb(void *data, int type EINA_UNUSED, void 
*event)
 }
 
 static void
-win_delete_request_cb(void *data, Evas_Object *obj EINA_UNUSED,
+win_delete_request_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
                       void *event_info EINA_UNUSED)
 {
-  app_data *ad = data;
-  menu_exit(ad->md);
+  menu_exit();
 }
 
 static Eina_Bool
@@ -304,12 +302,12 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void 
*ev)
    if (!strcmp(event->keyname, "Escape"))
      {
         menu_toggle();
-        if (menu_open_depth(ad->md) == 0)
+        if (menu_open_depth() == 0)
           edit_focus_set(ad->ed);
         return ECORE_CALLBACK_DONE;
      }
 
-   if (menu_open_depth(ad->md) > 0) return ECORE_CALLBACK_PASS_ON;
+   if (menu_open_depth() > 0) return ECORE_CALLBACK_PASS_ON;
 
    //Control Key
    if (!strcmp("Control_L", event->keyname))
@@ -320,25 +318,25 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void 
*ev)
    //README
    if (!strcmp(event->keyname, "F1"))
      {
-        menu_about(ad->md);
+        menu_about();
         return ECORE_CALLBACK_DONE;
      }
    //New
    if (!strcmp(event->keyname, "F2"))
      {
-        menu_edc_new(ad->md);
+        menu_edc_new();
         return ECORE_CALLBACK_DONE;
      }
    //Save
    if (!strcmp(event->keyname, "F3"))
      {
-        menu_edc_save(ad->md);
+        menu_edc_save();
         return ECORE_CALLBACK_DONE;
      }
    //Load
    if (!strcmp(event->keyname, "F4"))
      {
-        menu_edc_load(ad->md);
+        menu_edc_load();
         return ECORE_CALLBACK_DONE;
      }
    //Line Number
@@ -358,7 +356,7 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
    //Setting
    if (!strcmp(event->keyname, "F12"))
      {
-        menu_setting(ad->md);
+        menu_setting();
         return ECORE_CALLBACK_DONE;
      }
 
@@ -603,9 +601,9 @@ init(app_data *ad, int argc, char **argv)
    statusbar_set(ad, ad->cd);
    edc_edit_set(ad, ad->sd, ad->cd);
    edc_view_set(ad, ad->cd, ad->sd, stats_group_name_get(ad->sd));
-   ad->md = menu_init(ad->win, ad->ed, ad->cd);
+   menu_init(ad->win, ad->ed, ad->cd);
 
-   Evas_Object *hotkeys = hotkeys_create(ad->layout, ad->md);
+   Evas_Object *hotkeys = hotkeys_create(ad->layout);
    elm_object_part_content_set(ad->layout, "elm.swallow.hotkeys", hotkeys);
 
    ad->edc_monitor = eio_monitor_add(config_edc_path_get(ad->cd));
@@ -618,7 +616,7 @@ static void
 term(app_data *ad)
 {
    build_term();
-   menu_term(ad->md);
+   menu_term();
    edit_term(ad->ed);
    edj_mgr_term(ad->em);
    stats_term(ad->sd);
diff --git a/src/bin/menu.c b/src/bin/menu.c
index 2528f9e..7ceea3a 100644
--- a/src/bin/menu.c
+++ b/src/bin/menu.c
@@ -30,7 +30,7 @@ struct menu_s
    edit_data *ed;
 };
 
-static menu_data *g_md;
+static menu_data *g_md = NULL;
 
 static void warning_no_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
                               void *event_info EINA_UNUSED);
@@ -40,32 +40,37 @@ static void edc_reload(menu_data *md, const char *edc_path);
 static void edc_file_save(menu_data *md);
 
 static void
-fileselector_close(menu_data *md)
+fileselector_close()
 {
+   menu_data *md = g_md;
    elm_object_signal_emit(md->fileselector_layout, "elm,state,dismiss", "");
 }
 
 static void
-about_close(menu_data *md)
+about_close()
 {
+   menu_data *md = g_md;
    elm_object_signal_emit(md->about_layout, "elm,state,dismiss", "");
 }
 
 static void
-setting_close(menu_data *md)
+setting_close()
 {
+   menu_data *md = g_md;
    elm_object_signal_emit(md->setting_layout, "elm,state,dismiss", "");
 }
 
 static void
-warning_close(menu_data *md)
+warning_close()
 {
+   menu_data *md = g_md;
    elm_object_signal_emit(md->warning_layout, "elm,state,dismiss", "");
 }
 
 static void
-menu_close(menu_data *md)
+menu_close()
 {
+   menu_data *md = g_md;
    if (!md->menu_layout) return;
    elm_object_signal_emit(md->menu_layout, "elm,state,dismiss", "");
 }
@@ -681,8 +686,9 @@ exit_save_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
 }
 
 void
-menu_exit(menu_data *md)
+menu_exit()
 {
+      menu_data *md = g_md;
    if (edit_changed_get(md->ed))
      warning_layout_create(md, exit_yes_btn_cb, exit_save_btn_cb);
    else
@@ -693,8 +699,7 @@ static void
 exit_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
             void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_exit(md);
+   menu_exit();
 }
 
 static Evas_Object *
@@ -986,20 +991,23 @@ load_save_btn_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
 }
 
 void
-menu_about(menu_data *md)
+menu_about()
 {
+   menu_data *md = g_md;
    about_open(md);
 }
 
 void
-menu_setting(menu_data *md)
+menu_setting()
 {
+   menu_data *md = g_md;
    setting_open(md);
 }
 
 Eina_Bool
-menu_edc_new(menu_data *md)
+menu_edc_new()
 {
+   menu_data *md = g_md;
    if (edit_changed_get(md->ed))
      {
         warning_layout_create(md, new_yes_btn_cb, new_save_btn_cb);
@@ -1012,14 +1020,16 @@ menu_edc_new(menu_data *md)
 }
 
 void
-menu_edc_save(menu_data *md)
+menu_edc_save()
 {
+   menu_data *md = g_md;
    edc_file_save(md);
 }
 
 void
-menu_edc_load(menu_data *md)
+menu_edc_load()
 {
+   menu_data *md = g_md;
    if (edit_changed_get(md->ed))
      warning_layout_create(md, load_yes_btn_cb, load_save_btn_cb);
    else
@@ -1027,11 +1037,10 @@ menu_edc_load(menu_data *md)
 }
 
 static void
-load_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
+load_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
             void *event_info EINA_UNUSED)
 {
-   menu_data *md = data;
-   menu_edc_load(md);
+   menu_edc_load();
 }
 
 static void
@@ -1096,8 +1105,9 @@ menu_init(Evas_Object *win, edit_data *ed, config_data 
*cd)
 }
 
 void
-menu_term(menu_data *md)
+menu_term()
 {
+   menu_data *md = g_md;
    if (!md) return;
    free(md);
 }
@@ -1165,7 +1175,8 @@ menu_ctxpopup_register(Evas_Object *ctxpopup)
 }
 
 int
-menu_open_depth(menu_data *md)
+menu_open_depth()
 {
+   menu_data *md = g_md;
    return md->open_depth;
 }
diff --git a/src/include/hotkeys.h b/src/include/hotkeys.h
index 88844ae..12e3fc2 100644
--- a/src/include/hotkeys.h
+++ b/src/include/hotkeys.h
@@ -1,2 +1,2 @@
-Evas_Object *hotkeys_create(Evas_Object *parent, menu_data *md);
+Evas_Object *hotkeys_create(Evas_Object *parent);
 
diff --git a/src/include/menu.h b/src/include/menu.h
index c7bc7f7..8a1649c 100644
--- a/src/include/menu.h
+++ b/src/include/menu.h
@@ -1,14 +1,14 @@
 #define VIEW_DATA edj_mgr_view_get(NULL, NULL)
 
 menu_data *menu_init(Evas_Object *win, edit_data *ed, config_data *cd);
-void menu_term(menu_data *md);
+void menu_term();
 void menu_toggle();
 void menu_ctxpopup_register(Evas_Object *ctxpopup);
 void menu_ctxpopup_unregister(Evas_Object *ctxpopup);
-Eina_Bool menu_edc_new(menu_data *md);
-void menu_edc_save(menu_data *md);
-void menu_edc_load(menu_data *md);
-void menu_exit(menu_data *md);
-void menu_about(menu_data *md);
-void menu_setting(menu_data *md);
-int menu_open_depth(menu_data *md);
+Eina_Bool menu_edc_new();
+void menu_edc_save();
+void menu_edc_load();
+void menu_exit();
+void menu_about();
+void menu_setting();
+int menu_open_depth();

-- 


Reply via email to