Tizen Native API
Edje Object

This group discusses functions that deal with edje layouts and its components.

Remarks:
An important thing to know about this group is that there is no Edje_Object in the code. What we refer to as an object are actually layouts (or themes) defined by groups, and parts, both declared in EDC files. They are of type Evas_Object as the other native objects of Evas, but they only exist in Edje, so that is why we are calling them "edje objects".
With the Edje Object Group functions we can deal with layouts by managing its aspect, content, message, and signal exchange and animation, among others.

Functions

Evas_Objectedje_object_add (Evas *evas)
 Instantiates a new edje object.
Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool cancel)
 Preloads the images on the edje Object in the background.

Function Documentation

Instantiates a new edje object.

This function creates a new edje smart object, returning its Evas_Object handle. An edje object is useless without a (source) file set to it, so you would most probably call edje_object_file_set() afterwards, like in:

Since :
2.3.1
 Evas_Object *edje;

 edje = edje_object_add(canvas);
 if (!edje)
   {
      fprintf(stderr, "could not create edje object!\n");
      return NULL;
   }

 if (!edje_object_file_set(edje, "theme.edj", "group_name"))
   {
      int err = edje_object_load_error_get(edje);
      const char *errmsg = edje_load_error_str(err);
      fprintf(stderr, "could not load 'group_name' from theme.edj: %s",
      errmsg);

      evas_object_del(edje);
      return NULL;
   }
Remarks:
You can get a callback every time edje re-calculates the object (either due to animation or some kind of signal or input). This is called in-line just after the recalculation has occurred. It is a good idea to not go and delete or alter the object inside this callback, simply make a note that the recalculation has taken place and then do something about it outside the callback. To register a callback use a code like:
    evas_object_smart_callback_add(edje_obj, "recalc", my_cb, my_cb_data);
Parameters:
[in]evasA valid Evas handle, the canvas to place the new object in
Returns:
A handle to the new object created, otherwise NULL on errors
See also:
evas_object_smart_callback_add()

Preloads the images on the edje Object in the background.

This function requests the preload of data images (on the given object) in the background. The work is queued before being processed (because there might be other pending requests of this type). It emits a signal "preload,done" when finished.

Since :
2.3.1
Remarks:
Use EINA_TRUE in scenarios where you don't need the image data to be preloaded anymore.
Parameters:
[in]objA handle to an edje object
[in]cancelIf EINA_FALSE it is added to the preloading work queue, otherwise EINA_TRUE to remove it (if it is issued before)
Returns:
EINA_FASLE if obj is not a valid edje object, otherwise EINA_TRUE