add function for a gadget to remove itself

This commit is contained in:
Mike Blumenkrantz 2017-06-30 17:02:44 -04:00
parent c109e2d6a6
commit af60915713
2 changed files with 13 additions and 1 deletions

View File

@ -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)
{

View File

@ -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
*/