discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=af60915713068ef3bdb42f9de8f94a791f2be78d

commit af60915713068ef3bdb42f9de8f94a791f2be78d
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Jun 30 17:02:44 2017 -0400

    add function for a gadget to remove itself
---
 src/bin/e_gadget.c | 11 +++++++++++
 src/bin/e_gadget.h |  3 ++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index 8a1106d05..39f39a801 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -1635,6 +1635,17 @@ e_gadget_type_iterator_get(void)
    return gadget_types ? eina_hash_iterator_key_new(gadget_types) : NULL;
 }
 
+E_API void
+e_gadget_del(Evas_Object *g)
+{
+   E_Gadget_Config *zgc;
+   EINA_SAFETY_ON_NULL_RETURN(g);
+   zgc = evas_object_data_get(g, "__e_gadget");
+   EINA_SAFETY_ON_NULL_RETURN(zgc);
+   _gadget_remove(zgc);
+   e_config_save_queue();
+}
+
 static void
 _gadget_drop_handler_moveresize(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj, void *event_info EINA_UNUSED)
 {
diff --git a/src/bin/e_gadget.h b/src/bin/e_gadget.h
index 36f2d9cd6..00f862208 100644
--- a/src/bin/e_gadget.h
+++ b/src/bin/e_gadget.h
@@ -142,7 +142,8 @@ E_API Eina_Stringshare *e_gadget_type_get(Evas_Object *g);
 E_API void e_gadget_type_add(const char *type, E_Gadget_Create_Cb callback, 
E_Gadget_Wizard_Cb wizard);
 E_API void e_gadget_type_del(const char *type);
 E_API Eina_Iterator *e_gadget_type_iterator_get(void);
-
+/* delete a gadget and its config */
+E_API void e_gadget_del(Evas_Object *g);
 /* drop region initially matches gadget size, resizes to match returned 
object's size
  * handler is removed when returned object is deleted
  */

-- 


Reply via email to