Add elm_layout_data_get function to retrieve data associated to the underlying edje object.

Data that comes from block like data.item: "key" "value" in the EDC.



SVN revision: 56225
This commit is contained in:
Nicolas Aguirre 2011-01-19 18:28:01 +00:00
parent 7ab9807bd0
commit a865fab5ad
2 changed files with 40 additions and 1 deletions

View File

@ -1016,6 +1016,7 @@ extern "C" {
EAPI Evas_Object *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj) EINA_ARG_NONNULL(1, 2, 3);
EAPI void elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear) EINA_ARG_NONNULL(1, 2);
EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI const char *elm_layout_data_get(const Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
EAPI void elm_layout_sizing_eval(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor) EINA_ARG_NONNULL(1, 2);
EAPI const char *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);

View File

@ -996,9 +996,44 @@ elm_layout_edje_get(const Evas_Object *obj)
return wd->lay;
}
/**
* Get the edje data of the given layout
*
* @param obj The layout object
* @param key The data key
*
* @return The edje data string
*
* This function fetches data specified at the object level.
*
* In EDC this comes from a data block within the group block that @a
* obj was loaded from. E.g.
*
* @code
* collections {
* group {
* name: "a_group";
* data {
* item: "key1" "value1";
* item: "key2" "value2";
* }
* }
* }
* @endcode
*
* @ingroup Layout
*/
EAPI const char *
elm_layout_data_get(const Evas_Object *obj, const char *key)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
return edje_object_data_get(wd->lay, key);
}
/**
* Eval sizing
*
*
* Manually forms a sizing re-evaluation when contents changed state so that
* minimum size might have changed and needs re-evaluation. Also note that
* a standard signal of "size,eval" "elm" emitted by the edje object will
@ -1233,3 +1268,6 @@ elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_
EINA_SAFETY_ON_NULL_RETURN_VAL(pc->obj, EINA_FALSE);
return elm_object_cursor_engine_only_get(pc->obj);
}