forked from enlightenment/efl
Dirty copy/paste to delete individual targets from a program
SVN revision: 47444
This commit is contained in:
parent
b0af679619
commit
3f1e51e008
|
@ -2362,6 +2362,17 @@ edje_edit_program_target_add(
|
|||
const char *target ///< The name of another program or another part
|
||||
);
|
||||
|
||||
/**Deletes a target from the list of 'targets' in the given program.
|
||||
* If program action is EDJE_ACTION_TYPE_ACTION_STOP then 'target' must be an existing program name.
|
||||
* If action is EDJE_ACTION_TYPE_STATE_SET then 'target' must be an existing part name.
|
||||
*/
|
||||
EAPI Eina_Bool ///@return 1 on success or 0 on errors
|
||||
edje_edit_program_target_del(
|
||||
Evas_Object *obj, ///< The edje object
|
||||
const char *prog, ///< The program name
|
||||
const char *target ///< The name of another program or another part
|
||||
);
|
||||
|
||||
/**Clear the 'targets' list of the given program */
|
||||
EAPI Eina_Bool ///@return 1 on success or 0 on errors
|
||||
edje_edit_program_targets_clear(
|
||||
|
|
|
@ -5543,6 +5543,46 @@ edje_edit_program_target_add(Evas_Object *obj, const char *prog, const char *tar
|
|||
return 1;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
edje_edit_program_target_del(Evas_Object *obj, const char *prog, const char *target)
|
||||
{
|
||||
int id;
|
||||
Eina_List *l;
|
||||
Edje_Program_Target *t;
|
||||
|
||||
GET_ED_OR_RETURN(EINA_FALSE);
|
||||
GET_EPR_OR_RETURN(EINA_FALSE);
|
||||
|
||||
if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
|
||||
{
|
||||
/* the target is a part */
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
rp = _edje_real_part_get(ed, target);
|
||||
if (!rp) return EINA_FALSE;
|
||||
id = rp->part->id;
|
||||
}
|
||||
else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
|
||||
{
|
||||
/* the target is a program */
|
||||
Edje_Program *tar;
|
||||
|
||||
tar = _edje_program_get_byname(obj, target);
|
||||
if (!tar) return EINA_FALSE;
|
||||
id = tar->id;
|
||||
}
|
||||
else
|
||||
return EINA_FALSE;
|
||||
|
||||
EINA_LIST_FOREACH(epr->targets, l, t)
|
||||
if (t->id == id)
|
||||
break;
|
||||
epr->targets = eina_list_remove_list(epr->targets, l);
|
||||
free(t);
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EAPI Eina_List *
|
||||
edje_edit_program_afters_get(Evas_Object *obj, const char *prog)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue