ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=1bf88c47300f0df00ffb23f4e82994b9a69954e5

commit 1bf88c47300f0df00ffb23f4e82994b9a69954e5
Author: Andy Williams <a...@andywilliams.me>
Date:   Wed Aug 9 12:46:20 2017 +0100

    refactoring mainview panel freeing and docs
---
 src/bin/mainview/edi_mainview.c       | 10 +------
 src/bin/mainview/edi_mainview.h       | 26 +++++++++---------
 src/bin/mainview/edi_mainview_panel.c | 12 ++++++++
 src/bin/mainview/edi_mainview_panel.h | 52 +++++++++++++++++++++++++----------
 4 files changed, 63 insertions(+), 37 deletions(-)

diff --git a/src/bin/mainview/edi_mainview.c b/src/bin/mainview/edi_mainview.c
index 46c9acf..78db535 100644
--- a/src/bin/mainview/edi_mainview.c
+++ b/src/bin/mainview/edi_mainview.c
@@ -502,17 +502,9 @@ edi_mainview_panel_remove(Edi_Mainview_Panel *panel)
    int panel_id = edi_mainview_panel_id(panel);
 
    _edi_project_config_panel_remove(panel_id);
-
-   evas_object_del(panel->welcome);
-   evas_object_del(panel->content);
-   evas_object_del(panel->tabs);
-   evas_object_del(panel->scroll);
-   evas_object_del(panel->box);
+   edi_mainview_panel_free(panel);
 
    _edi_mainview_panels = eina_list_remove(_edi_mainview_panels, panel);
-
-   free(panel);
-   panel = NULL;
 }
 
 Edi_Mainview_Panel *
diff --git a/src/bin/mainview/edi_mainview.h b/src/bin/mainview/edi_mainview.h
index acc35e0..b4e7843 100644
--- a/src/bin/mainview/edi_mainview.h
+++ b/src/bin/mainview/edi_mainview.h
@@ -39,6 +39,19 @@ extern "C" {
 void edi_mainview_add(Evas_Object *parent, Evas_Object *win);
 
 /**
+ * @}
+ *
+ *
+ * @brief Content management functions.
+ * @defgroup Content
+ *
+ * @{
+ *
+ * Opening and managing content within the view.
+ *
+ */
+
+/**
  * Close mainview by path.
  *
  * @praram path The path of file to close.
@@ -62,19 +75,6 @@ void edi_mainview_refresh_all(void);
 void edi_mainview_close_all(void);
 
 /**
- * @}
- *
- *
- * @brief Content management functions.
- * @defgroup Content
- *
- * @{
- *
- * Opening and managing content within the view.
- *
- */
-
-/**
  * Open the file at path for editing using the type specified.
  * Supported types are "text" and "image".
  *
diff --git a/src/bin/mainview/edi_mainview_panel.c 
b/src/bin/mainview/edi_mainview_panel.c
index 04b0041..997c0ff 100644
--- a/src/bin/mainview/edi_mainview_panel.c
+++ b/src/bin/mainview/edi_mainview_panel.c
@@ -778,6 +778,18 @@ _edi_mainview_panel_prev_clicked_cb(void *data,
    elm_scroller_region_bring_in(scroller, x, y, w, h);
 }
 
+void
+edi_mainview_panel_free(Edi_Mainview_Panel *panel)
+{
+   evas_object_del(panel->welcome);
+   evas_object_del(panel->content);
+   evas_object_del(panel->tabs);
+   evas_object_del(panel->scroll);
+   evas_object_del(panel->box);
+
+   free(panel);
+}
+
 Edi_Mainview_Panel *
 edi_mainview_panel_add(Evas_Object *parent)
 {
diff --git a/src/bin/mainview/edi_mainview_panel.h 
b/src/bin/mainview/edi_mainview_panel.h
index 0c080ea..69d9443 100644
--- a/src/bin/mainview/edi_mainview_panel.h
+++ b/src/bin/mainview/edi_mainview_panel.h
@@ -32,12 +32,12 @@ typedef struct _Edi_Mainview_Panel
 } Edi_Mainview_Panel;
 
 /**
- * @brief Content management functions.
- * @defgroup Content
+ * @brief UI management functions.
+ * @defgroup UI
  *
  * @{
  *
- * Opening and managing content within the view.
+ * Initialisation and management of UI panels.
  *
  */
 
@@ -47,35 +47,35 @@ typedef struct _Edi_Mainview_Panel
  * @param parent The mainview parent into which the panel will be loaded.
  * @return the panel that represents tha added mainview panel.
  *
- * @ingroup Content
+ * @ingroup UI
  */
 Edi_Mainview_Panel *edi_mainview_panel_add(Evas_Object *parent);
 
 /**
- * Close mainview by path.
+ * Free the panel and any related objects.
  *
- * @param panel the mainview panel context
- * @praram path The path of file to close.
+ * @param The panel to free.
  *
- * @ingroup Content
+ * @ingroup UI
  */
-void edi_mainview_panel_item_close_path(Edi_Mainview_Panel *panel, const char 
*path);
+void edi_mainview_panel_free(Edi_Mainview_Panel *panel);
 
 /**
- * Refresh all existing open files.
+ * Close mainview by path.
  *
  * @param panel the mainview panel context
+ * @praram path The path of file to close.
  *
- * @ingroup Content
+ * @ingroup UI
  */
-void edi_mainview_panel_refresh_all(Edi_Mainview_Panel *panel);
+void edi_mainview_panel_item_close_path(Edi_Mainview_Panel *panel, const char 
*path);
 
 /**
  * Close all existing open files.
  *
  * @param panel the mainview panel context
  *
- * @ingroup Content
+ * @ingroup UI
  */
 void edi_mainview_panel_close_all(Edi_Mainview_Panel *panel);
 
@@ -86,7 +86,7 @@ void edi_mainview_panel_close_all(Edi_Mainview_Panel *panel);
  * @param panel the mainview panel context
  * @param path The absolute path of the file to open.
  *
- * @ingroup Content
+ * @ingroup UI
  */
 void edi_mainview_panel_open_path(Edi_Mainview_Panel *panel, const char *path);
 
@@ -97,10 +97,32 @@ void edi_mainview_panel_open_path(Edi_Mainview_Panel 
*panel, const char *path);
  * @param panel the mainview panel context
  * @param path The path and options of the file to open.
  *
- * @ingroup Content
+ * @ingroup UI
  */
 void edi_mainview_panel_open(Edi_Mainview_Panel *panel, Edi_Path_Options 
*options);
 
+/**
+ * @}
+ *
+ *
+ * @brief Content management functions.
+ * @defgroup Content
+ *
+ * @{
+ *
+ * Opening and managing content within the view.
+ *
+ */
+
+/**
+ * Refresh all existing open files.
+ *
+ * @param panel the mainview panel context
+ *
+ * @ingroup Content
+ */
+void edi_mainview_panel_refresh_all(Edi_Mainview_Panel *panel);
+
 void edi_mainview_panel_item_close(Edi_Mainview_Panel *panel, 
Edi_Mainview_Item *item);
 
 void edi_mainview_panel_item_select(Edi_Mainview_Panel *panel, 
Edi_Mainview_Item *item);

-- 


Reply via email to