diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h index df3fc05259..6026b03c5c 100644 --- a/src/lib/edje/Edje_Edit.h +++ b/src/lib/edje/Edje_Edit.h @@ -2125,12 +2125,41 @@ edje_edit_state_container_min_y_set(Evas_Object *obj, const char *part, const ch * @param x Variable to store x padding. * @param y Variable to store y padding. * + * @deprecated Use edje_edit_state_container_padding_x_get() and + * edje_edit_state_container_padding_y_get() instead. + * * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. * @since 1.14 */ -EAPI Eina_Bool +EINA_DEPRECATED EAPI Eina_Bool edje_edit_state_container_padding_get(Evas_Object *obj, const char *part, const char *state, double value, int *x, int *y); +/** Get x padding for BOX or TABLE part. + * + * @param obj Object being edited. + * @param part Part that has BOX/TABLE type. + * @param state Name of the state. + * @param value Value of the state. + * + * @return The padding by x axis. + * @since 1.16 + */ +EAPI int +edje_edit_state_container_padding_x_get(Evas_Object *obj, const char *part, const char *state, double value); + +/** Get y padding for BOX or TABLE part. + * + * @param obj Object being edited. + * @param part Part that has BOX/TABLE type. + * @param state Name of the state. + * @param value Value of the state. + * + * @return The padding by y axis. + * @since 1.16 + */ +EAPI int +edje_edit_state_container_padding_y_get(Evas_Object *obj, const char *part, const char *state, double value); + /** Set x and y paddings for BOX or TABLE part. * * @param obj Object being edited. @@ -2140,12 +2169,43 @@ edje_edit_state_container_padding_get(Evas_Object *obj, const char *part, const * @param x Value for setting x padding. * @param y Value for setting y padding. * + * @deprecated Use edje_edit_state_container_padding_x_set() and + * edje_edit_state_container_padding_y_set() instead. + * * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. * @since 1.14 */ -EAPI Eina_Bool +EINA_DEPRECATED EAPI Eina_Bool edje_edit_state_container_padding_set(Evas_Object *obj, const char *part, const char *state, double value, int x, int y); +/** Set x padding for BOX or TABLE part. + * + * @param obj Object being edited. + * @param part Part that has BOX/TABLE type. + * @param state Name of the state. + * @param value Value of the state. + * @param x New x padding value. + * + * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. + * @since 1.16 + */ +EAPI Eina_Bool +edje_edit_state_container_padding_x_set(Evas_Object *obj, const char *part, const char *state, double value, int x); + +/** Set y padding for BOX or TABLE part. + * + * @param obj Object being edited. + * @param part Part that has BOX/TABLE type. + * @param state Name of the state. + * @param value Value of the state. + * @param y New y padding value. + * + * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. + * @since 1.16 + */ +EAPI Eina_Bool +edje_edit_state_container_padding_y_set(Evas_Object *obj, const char *part, const char *state, double value, int y); + /** Set x and y align for BOX or TABLE part. * * @param obj Object being edited. diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 0af12a63ba..3b86aac8d9 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -4362,6 +4362,64 @@ FUNC_CONTAINER_BOOL(min, h) #undef FUNC_CONTAINER_BOOL +#define FUNC_CONTAINER_INT(CLASS, VALUE) \ +EAPI int \ +edje_edit_state_container_##CLASS##_##VALUE##_get(Evas_Object *obj, const char *part, const char *state, double value) \ +{ \ + int val; \ + GET_PD_OR_RETURN(EINA_FALSE) \ + switch (rp->part->type) \ + { \ + case EDJE_PART_TYPE_TABLE: \ + { \ + Edje_Part_Description_Table *table; \ + table = (Edje_Part_Description_Table *)pd; \ + val = table->table.CLASS.VALUE; \ + break; \ + } \ + case EDJE_PART_TYPE_BOX: \ + { \ + Edje_Part_Description_Box *box; \ + box = (Edje_Part_Description_Box *)pd; \ + val = box->box.CLASS.VALUE; \ + break; \ + } \ + default: \ + val = 0; \ + } \ + return val; \ +} \ +EAPI Eina_Bool \ +edje_edit_state_container_##CLASS##_##VALUE##_set(Evas_Object *obj, const char *part, const char *state, double value, int new_val) \ +{ \ + GET_PD_OR_RETURN(EINA_FALSE) \ + switch (rp->part->type) \ + { \ + case EDJE_PART_TYPE_TABLE: \ + { \ + Edje_Part_Description_Table *table; \ + table = (Edje_Part_Description_Table *)pd; \ + table->table.CLASS.VALUE = new_val; \ + break; \ + } \ + case EDJE_PART_TYPE_BOX: \ + { \ + Edje_Part_Description_Box *box; \ + box = (Edje_Part_Description_Box *)pd; \ + box->box.CLASS.VALUE = new_val; \ + break; \ + } \ + default: \ + return EINA_FALSE; \ + } \ + return EINA_TRUE; \ +} + +FUNC_CONTAINER_INT(padding, x) +FUNC_CONTAINER_INT(padding, y) + +#undef FUNC_CONTAINER_INT + EAPI Eina_Bool edje_edit_state_container_align_get(Evas_Object *obj, const char *part, const char *state, double value, double *x, double *y) {