Tizen Native API  7.0
Edje Object

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

An important thing to know about this group is that there is no Edje_Object in code. What we refer here as object are 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

const char * edje_object_part_object_name_get (const Evas_Object *obj)
 Gets the part name of an edje part object.
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.
void edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
 Adds a callback for an arriving Edje signal, emitted by a given Edje object.
void edje_object_signal_emit (Evas_Object *obj, const char *emission, const char *source)
 Sends/emits an Edje signal to a given Edje object.
void * edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
 Removes a signal-triggered callback from an object.
void * edje_object_signal_callback_del_full (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
 Unregisters/deletes a callback set for an arriving Edje signal, emitted by a given Edje object.
Edje_Load_Error edje_object_load_error_get (const Evas_Object *obj)
 Gets the (last) file loading error for a given Edje object.
const char * edje_load_error_str (Edje_Load_Error error)
 Converts the given Edje file load error code into a string describing it in English.
Eina_Bool edje_object_part_geometry_get (const Evas_Object *obj, const char *part, int *x, int *y, int *w, int *h)
 Retrieves the geometry of a given Edje part, in a given Edje object's group definition, relative to the object's area.
const char * edje_object_part_state_get (const Evas_Object *obj, const char *part, double *val_ret)
 Returns the state of the Edje part.
const Efl_Canvas_Objectedje_object_part_object_get (const Evas_Object *obj, const char *part)
 Gets a handle to the Evas object implementing a given Edje part, in an Edje object.
void edje_object_update_hints_set (Evas_Object *obj, Eina_Bool update)
 Whether this object updates its size hints automatically.
Eina_Bool edje_object_update_hints_get (const Evas_Object *obj)
 Whether this object updates its size hints automatically.
void edje_object_size_min_calc (Evas_Object *obj, int *minw, int *minh)
 Calculates the minimum required size for a given Edje object.
void edje_object_size_min_restricted_calc (Evas_Object *obj, int *minw, int *minh, int restrictedw, int restrictedh)
 Calculates the minimum required size for a given Edje object.
Eina_Bool edje_object_parts_extends_calc (Evas_Object *obj, int *x, int *y, int *w, int *h)
 Calculates the geometry of the region, relative to a given Edje object's area, occupied by all parts in the object.
void edje_object_calc_force (Evas_Object *obj)
 Forces a Size/Geometry calculation.
int edje_object_freeze (Evas_Object *obj)
 Freezes the Edje object.
int edje_object_thaw (Evas_Object *obj)
 Thaws the Edje object.
EINA_DEPRECATED void edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
 Sets the object minimum size.
EINA_DEPRECATED void edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
 Sets the object maximum size.
EINA_DEPRECATED void edje_extern_object_aspect_set (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah)
 Sets the object aspect size.
Eina_Bool edje_object_file_set (Evas_Object *obj, const char *file, const char *group)
 Sets the EDJ file (and group within it) to load an Edje object's contents from.
void edje_object_file_get (const Evas_Object *obj, const char **file, const char **group)
 Gets the file and group name that a given Edje object is bound to.
Eina_Bool edje_object_mmap_set (Evas_Object *obj, const Eina_File *file, const char *group)
 Sets the EDJ file (and group within it) to load an Edje object's contents from.
void edje_object_mirrored_set (Evas_Object *obj, Eina_Bool rtl)
 Sets the RTL orientation for this object.
Eina_Bool edje_object_mirrored_get (const Evas_Object *obj)
 Gets the RTL orientation for this object.
void edje_object_language_set (Evas_Object *obj, const char *language)
 Sets the language for this object.
const char * edje_object_language_get (const Evas_Object *obj)
 Gets the language for this object.
void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
 Adds a filter function for newly inserted text.
void * edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func)
 Deletes a function from the filter list.
void * edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
 Deletes a function and matching user data from the filter list.
void edje_object_text_markup_filter_callback_add (Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
 Adds a markup filter function for newly inserted text.
void * edje_object_text_markup_filter_callback_del (Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func)
 Deletes a function from the markup filter list.
void * edje_object_text_markup_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
 Deletes a function and matching user data from the markup filter list.
void edje_object_play_set (Evas_Object *obj, Eina_Bool play)
 Whether this object is playing or not.
Eina_Bool edje_object_play_get (const Evas_Object *obj)
 Whether this object is playing or not.
void edje_object_transition_duration_factor_set (Evas_Object *obj, double scale)
 Transition duration factor.
double edje_object_transition_duration_factor_get (const Evas_Object *obj)
 Transition duration factor.
void edje_object_size_min_get (const Evas_Object *obj, int *minw, int *minh)
 Gets the minimum size specified -- as an EDC property -- for a given Edje object.
void edje_object_size_max_get (const Evas_Object *obj, int *maxw, int *maxh)
 Gets the maximum size specified -- as an EDC property -- for a given Edje object.
void edje_object_item_provider_set (Edje_Object *obj, Edje_Item_Provider_Cb func, void *data)
 Sets the function that provides item objects for named items in an edje entry text.
void edje_object_animation_set (Efl_Canvas_Layout *obj, Eina_Bool on)
 Whether this object is animating or not.
Eina_Bool edje_object_animation_get (const Efl_Canvas_Layout *obj)
 Whether this object is animating or not.
Efl_Input_Device * edje_object_seat_get (const Efl_Canvas_Layout *obj, Eina_Stringshare *name)
 Returns the seat device given its Edje's name.
Eina_Stringshareedje_object_seat_name_get (const Efl_Canvas_Layout *obj, Efl_Input_Device *device)
 Gets the name given to a set by Edje.
Eina_Error edje_object_layout_load_error_get (const Efl_Canvas_Layout *obj)
 Gets the (last) file loading error for a given object.
Eina_Bool edje_object_content_remove (Efl_Canvas_Layout *obj, Efl_Gfx_Entity *content)
 Unswallow an object from this Edje.

Typedefs

typedef enum _Edje_Aspect_Control Edje_Aspect_Control

Typedef Documentation

All Edje aspect control values.


Function Documentation

EINA_DEPRECATED void edje_extern_object_aspect_set ( Evas_Object obj,
Edje_Aspect_Control  aspect,
Evas_Coord  aw,
Evas_Coord  ah 
)

Sets the object aspect size.

Deprecated:
use evas_object_size_hint_aspect_set() instead. Deprecated since Tizen 2.4
Parameters:
objA valid Evas_Object handle
aspectThe aspect control axes
awThe aspect radio width
ahThe aspect ratio height

This sets the desired aspect ratio to keep an object that will be swallowed by Edje. The width and height define a preferred size ASPECT and the object may be scaled to be larger or smaller, but retaining the relative scale of both aspect width and height.

Since :
2.3
EINA_DEPRECATED void edje_extern_object_max_size_set ( Evas_Object obj,
Evas_Coord  maxw,
Evas_Coord  maxh 
)

Sets the object maximum size.

Deprecated:
use evas_object_size_hint_max_set() instead. Deprecated since Tizen 2.4
Parameters:
objA valid Evas_Object handle
maxwThe maximum width
maxhThe maximum height

This sets the maximum size restriction for the object.

Since :
2.3
EINA_DEPRECATED void edje_extern_object_min_size_set ( Evas_Object obj,
Evas_Coord  minw,
Evas_Coord  minh 
)

Sets the object minimum size.

Deprecated:
use evas_object_size_hint_min_set() instead. Deprecated since Tizen 2.4
Parameters:
objA valid Evas_Object handle
minwThe minimum width
minhThe minimum height

This sets the minimum size restriction for the object.

Since :
2.3
const char* edje_load_error_str ( Edje_Load_Error  error)

Converts the given Edje file load error code into a string describing it in English.

Parameters:
errorthe error code, a value in ::Edje_Load_Error.
Returns:
Always returns a valid string. If the given error is not supported, "Unknown error" is returned.

edje_object_file_set() is a function which sets an error value, afterwards, which can be fetched with edje_object_load_error_get(). The function in question is meant to be used in conjunction with the latter, for pretty-printing any possible error cause.

Since :
2.3
Examples:
edje-basic.c, edje-signals-messages.c, and evas-aspect-hints.c.

Instantiates a new Edje object.

Parameters:
evasA valid Evas handle, the canvas to place the new object in
Returns:
A handle to the new object created, or NULL on errors.

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'd most probably call edje_object_file_set() afterwards, like in:

 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;
   }
Note:
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 not to go and delete or alter the object inside this callbacks, simply make a note that the recalculation has taken place and then do something about it outside the callback. To register a callback use code like:
    evas_object_smart_callback_add(edje_obj, "recalc", my_cb, my_cb_data);
See also:
evas_object_smart_callback_add()
Note:
Before creating the first Edje object in your code, remember to initialize the library, with edje_init(), or unexpected behavior might occur.
Since :
2.3
Examples:
bg_example_03.c, edje-basic.c, edje-box.c, edje-box2.c, edje-color-class.c, edje-drag.c, edje-perspective.c, edje-signals-messages.c, edje-swallow.c, edje-table.c, edje-text.c, and evas-aspect-hints.c.
Eina_Bool edje_object_animation_get ( const Efl_Canvas_Layout *  obj)

Whether this object is animating or not.

This property indicates whether animations are stopped or not. Animations here refer to transitions between states.

If animations are disabled, transitions between states (as defined in EDC) are then instantaneous. This is conceptually similar to setting the Efl::Player::playback_speed to an infinitely high value.

Get the current state of animation, true by default.

Parameters:
[in]objThe object.
Returns:
The animation state, true by default.
Since :
2.3
void edje_object_animation_set ( Efl_Canvas_Layout *  obj,
Eina_Bool  on 
)

Whether this object is animating or not.

This property indicates whether animations are stopped or not. Animations here refer to transitions between states.

If animations are disabled, transitions between states (as defined in EDC) are then instantaneous. This is conceptually similar to setting the Efl::Player::playback_speed to an infinitely high value.

Start or stop animating this object.

Parameters:
[in]objThe object.
[in]onThe animation state, true by default.
Since :
2.3

Forces a Size/Geometry calculation.

Forces the object to recalculate its layout regardless of freeze/thaw.

See also edje_object_freeze and edje_object_thaw.

Since :
2.3
Examples:
edje-perspective.c.
Eina_Bool edje_object_content_remove ( Efl_Canvas_Layout *  obj,
Efl_Gfx_Entity *  content 
)

Unswallow an object from this Edje.

Parameters:
[in]objThe object.
[in]contentTo be removed content.
Returns:
false if content was not a child or can not be removed.
void edje_object_file_get ( const Evas_Object obj,
const char **  file,
const char **  group 
)

Gets the file and group name that a given Edje object is bound to.

This gets the EDJ file's path, with the respective group set for the given Edje object. If obj is either not an Edje file, or has not had its file/group set previously, by edje_object_file_set(), then both file and group will be set to NULL, indicating an error.

See also:
edje_object_file_set()
Note:
Use NULL pointers on the file/group components you're not interested in: they'll be ignored by the function.
Parameters:
[out]fileThe path to the EDJ file to load from
[out]groupThe name of the group, in file, which implements an Edje object
Since :
2.3
Eina_Bool edje_object_file_set ( Evas_Object obj,
const char *  file,
const char *  group 
)

Sets the EDJ file (and group within it) to load an Edje object's contents from.

Returns:
EINA_TRUE on success, or EINA_FALSE on errors (check edje_object_load_error_get() after this call to get errors causes)

Edje expects EDJ files, which are theming objects' descriptions and resources packed together in an EET file, to read Edje object definitions from. They usually are created with the .edj extension. EDJ files, in turn, are assembled from textual object description files, where one describes Edje objects declaratively -- the EDC files (see the syntax for those files).

Those description files were designed so that many Edje object definitions -- also called groups (or collections) -- could be packed together in the same EDJ file, so that a whole application's theme could be packed in one file only. This is the reason for the group argument.

Use this function after you instantiate a new Edje object, so that you can "give him life", telling where to get its contents from.

See also:
edje_object_add()
edje_object_file_get()
edje_object_mmap_set()
Parameters:
[in]fileThe path to the EDJ file to load from
[in]groupThe name of the group, in file, which implements an Edje object
Since :
2.3
Examples:
bg_example_03.c, edje-basic.c, edje-box.c, edje-box2.c, edje-color-class.c, edje-drag.c, edje-perspective.c, edje-signals-messages.c, edje-swallow.c, edje-table.c, edje-text.c, and evas-aspect-hints.c.

Freezes the Edje object.

This function puts all changes on hold. Successive freezes will nest, requiring an equal number of thaws.

See also edje_object_thaw()

Returns:
The frozen state or 0 on error
Since :
2.3
void edje_object_item_provider_set ( Edje_Object *  obj,
Edje_Item_Provider_Cb  func,
void *  data 
)

Sets the function that provides item objects for named items in an edje entry text.

Item objects may be deleted any time by Edje, and will be deleted when the Edje object is deleted (or file is set to a new file).

Parameters:
[in]objThe object.
[in]funcThe function to call (or null to disable) to get item objects
[in]dataThe data pointer to pass to the func callback
Since :
3.0
const char* edje_object_language_get ( const Evas_Object obj)

Gets the language for this object.

Returns:
The language value
Since (EFL) :
1.1.0
Since :
3.0
void edje_object_language_set ( Evas_Object obj,
const char *  language 
)

Sets the language for this object.

Parameters:
[in]languageThe language value
Since (EFL) :
1.1.0
Since :
3.0
Examples:
edje-text.c.
Eina_Error edje_object_layout_load_error_get ( const Efl_Canvas_Layout *  obj)

Gets the (last) file loading error for a given object.

Parameters:
[in]objThe object.
Returns:
The load error code.
Edje_Load_Error edje_object_load_error_get ( const Evas_Object obj)

Gets the (last) file loading error for a given Edje object.

This function is meant to be used after an Edje EDJ file loading, what takes place with the edje_object_file_set() function. If that function does not return true, one should check for the reason of failure with this one.

edje_load_error_str()

Returns:
The Edje loading error, one of: - #EDJE_LOAD_ERROR_NONE - #EDJE_LOAD_ERROR_GENERIC - #EDJE_LOAD_ERROR_DOES_NOT_EXIST - #EDJE_LOAD_ERROR_PERMISSION_DENIED - #EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED - #EDJE_LOAD_ERROR_CORRUPT_FILE
  • #EDJE_LOAD_ERROR_UNKNOWN_FORMAT - #EDJE_LOAD_ERROR_INCOMPATIBLE_FILE - #EDJE_LOAD_ERROR_UNKNOWN_COLLECTION - #EDJE_LOAD_ERROR_RECURSIVE_REFERENCE
Since :
2.3
Examples:
edje-basic.c, edje-signals-messages.c, and evas-aspect-hints.c.

Gets the RTL orientation for this object.

You can RTL orientation explicitly with edje_object_mirrored_set.

Returns:
New value of flag true/$false
Since (EFL) :
1.1.0
Since :
3.0
void edje_object_mirrored_set ( Evas_Object obj,
Eina_Bool  rtl 
)

Sets the RTL orientation for this object.

Parameters:
[in]rtlNew value of flag true/$false
Since (EFL) :
1.1.0
Since :
3.0
Eina_Bool edje_object_mmap_set ( Evas_Object obj,
const Eina_File file,
const char *  group 
)

Sets the EDJ file (and group within it) to load an Edje object's contents from.

Returns:
EINA_TRUE on success, or EINA_FALSE on errors (check edje_object_load_error_get() after this call to get errors causes)

Edje expects EDJ files, which are theming objects' descriptions and resources packed together in an EET file, to read Edje object definitions from. They usually are created with the .edj extension. EDJ files, in turn, are assembled from textual object description files, where one describes Edje objects declaratively -- the EDC files (see the syntax for those files).

Those description files were designed so that many Edje object definitions -- also called groups (or collections) -- could be packed together in the same EDJ file, so that a whole application's theme could be packed in one file only. This is the reason for the group argument.

Use this function after you instantiate a new Edje object, so that you can "give him life", telling where to get its contents from.

See also:
edje_object_add()
edje_object_file_get()
Since (EFL) :
1.8
Parameters:
[in]fileThe Eina.File pointing to the EDJ file to load from
[in]groupThe name of the group, in file, which implements an Edje object
Since :
3.0
Eina_Bool edje_object_part_geometry_get ( const Evas_Object obj,
const char *  part,
int *  x,
int *  y,
int *  w,
int *  h 
)

Retrieves the geometry of a given Edje part, in a given Edje object's group definition, relative to the object's area.

This function gets the geometry of an Edje part within its group. The x and y coordinates are relative to the top left corner of the whole obj object's area.

Note:
Use null pointers on the geometry components you're not interested in: they'll be ignored by the function.
On failure, this function will make all non-$null geometry pointers' pointed variables be set to zero.
Parameters:
[in]partThe Edje part's name
[out]xA pointer to a variable where to store the part's x coordinate
[out]yA pointer to a variable where to store the part's y coordinate
[out]wA pointer to a variable where to store the part's width
[out]hA pointer to a variable where to store the part's height
Returns:
true on success, false otherwise
Since :
2.3
Examples:
edje-basic.c.
const Efl_Canvas_Object* edje_object_part_object_get ( const Evas_Object obj,
const char *  part 
)

Gets a handle to the Evas object implementing a given Edje part, in an Edje object.

This function gets a pointer of the Evas object corresponding to a given part in the obj object's group.

You should never modify the state of the returned object (with evas_object_move() or evas_object_hide() for example), because it's meant to be managed by Edje, solely. You are safe to query information about its current state (with evas_object_visible_get() or evas_object_color_get() for example), though.

Note:
If the type of Edje part is GROUP, SWALLOW or EXTERNAL, returned handle by this function will indicate nothing or transparent rectangle for events. Use $.part_swallow_get() in that case.
Parameters:
[in]partThe Edje part's name
Returns:
A pointer to the Evas object implementing the given part, null on failure (e.g. the given part doesn't exist)
Since :
2.3
Examples:
edje-basic.c.
const char* edje_object_part_object_name_get ( const Evas_Object obj)

Gets the part name of an edje part object.

Parameters:
objAn edje part object
Returns:
The name of the part, if the object is an edje part, or NULL
Note:
If this function returns NULL, obj was not an Edje part object
See also:
edje_object_part_object_get()
Since (EFL) :
1.10
Since :
3.0
const char* edje_object_part_state_get ( const Evas_Object obj,
const char *  part,
double *  val_ret 
)

Returns the state of the Edje part.

Parameters:
[in]partThe part name
[out]val_retPart state value
Returns:
The part state: "default" for the default state "" for other states
Since :
2.3
Eina_Bool edje_object_parts_extends_calc ( Evas_Object obj,
int *  x,
int *  y,
int *  w,
int *  h 
)

Calculates the geometry of the region, relative to a given Edje object's area, occupied by all parts in the object.

This function gets the geometry of the rectangle equal to the area required to group all parts in obj's group/collection. The x and y coordinates are relative to the top left corner of the whole obj object's area. Parts placed out of the group's boundaries will also be taken in account, so that x and y may be negative.

Note:
On failure, this function will make all non-$null geometry pointers' pointed variables be set to zero.
Parameters:
[out]xThe parts region's X coordinate
[out]yThe parts region's Y coordinate
[out]wThe parts region's width
[out]hThe parts region's height
Returns:
true on success, false otherwise
Since :
2.3
Examples:
edje-basic.c.

Whether this object is playing or not.

This property indicates whether the object is running or not. If stopped (or paused), all transitions are disabled and programs stop running, until resumed.

If play is disabled, the object will remain the same, and its parts will not change state. Note that play can be disabled during a transition between states, effectively freezing the object in flight. When paused, no events will be processed or sent.

Setting to true resumes playing from the current state.

Get the current state of play, true by default.

Returns:
The play state, true by default.
Since :
2.3
void edje_object_play_set ( Evas_Object obj,
Eina_Bool  play 
)

Whether this object is playing or not.

This property indicates whether the object is running or not. If stopped (or paused), all transitions are disabled and programs stop running, until resumed.

If play is disabled, the object will remain the same, and its parts will not change state. Note that play can be disabled during a transition between states, effectively freezing the object in flight. When paused, no events will be processed or sent.

Setting to true resumes playing from the current state.

Start or stop playing programs in this object.

Parameters:
[in]playThe play state, true by default.
Since :
2.3

Preloads the images on the Edje Object in the background.

This function requests the preload of all 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.

Note:
Use true on scenarios where you don't need the image data preloaded anymore.
Parameters:
[in]objThe object.
[in]cancelfalse will add it the preloading work queue, true will remove it (if it was issued before).
Returns:
false if obj was not a valid Edje object otherwise true
Since :
2.3
Efl_Input_Device* edje_object_seat_get ( const Efl_Canvas_Layout *  obj,
Eina_Stringshare name 
)

Returns the seat device given its Edje's name.

Edje references seats by a name that differs from Evas. Edje naming follows a incrementional convention: first registered name is "seat1", second is "seat2", differently from Evas.

Parameters:
[in]objThe object.
[in]nameThe name's character string.
Returns:
The seat device or null if not found.
Since (EFL) :
1.19
Eina_Stringshare* edje_object_seat_name_get ( const Efl_Canvas_Layout *  obj,
Efl_Input_Device *  device 
)

Gets the name given to a set by Edje.

Edje references seats by a name that differs from Evas. Edje naming follows a incrementional convention: first registered name is "seat1", second is "seat2", differently from Evas.

Parameters:
[in]objThe object.
[in]deviceThe seat device
Returns:
The name's character string or null if not found.
Since (EFL) :
1.19
void edje_object_signal_callback_add ( Evas_Object obj,
const char *  emission,
const char *  source,
Edje_Signal_Cb  func,
void *  data 
)

Adds a callback for an arriving Edje signal, emitted by a given Edje object.

Edje signals are one of the communication interfaces between code and a given Edje object's theme. With signals, one can communicate two string values at a time, which are: - "emission" value: the name of the signal, in general - "source" value: a name for the signal's context, in general

Though there are those common uses for the two strings, one is free to use them however they like.

Signal callback registration is powerful, in the way that blobs may be used to match multiple signals at once. All the " *?[\ " set of fnmatch() operators can be used, both for emission and source.

Edje has internal signals it will emit, automatically, on various actions taking place on group parts. For example, the mouse cursor being moved, pressed, released, etc., over a given part's area, all generate individual signals.

By using something like edje_object_signal_callback_add(obj, "mouse,down,*", "button.*", signal_cb, NULL); being "button.*" the pattern for the names of parts implementing buttons on an interface, you'd be registering for notifications on events of mouse buttons being pressed down on either of those parts (those events all have the "mouse,down," common prefix on their names, with a suffix giving the button number). The actual emission and source strings of an event will be passed in as the emission and source parameters of the callback function (e.g. "mouse,down,2" and "button.close"), for each of those events.

Note:
See the syntax for EDC files See also edje_object_signal_emit() on how to emits Edje signals from code to a an object edje_object_signal_callback_del_full()
Parameters:
[in]emissionThe signal's "emission" string
[in]sourceThe signal's "source" string
[in]funcThe callback function to be executed when the signal is emitted.
[in]dataA pointer to data to pass in to func.
Since :
2.3
Examples:
edje-color-class.c, edje-drag.c, edje-perspective.c, and edje-signals-messages.c.
void* edje_object_signal_callback_del ( Evas_Object obj,
const char *  emission,
const char *  source,
Edje_Signal_Cb  func 
)

Removes a signal-triggered callback from an object.

Parameters:
objA valid Evas_Object handle.
emissionThe emission string.
sourceThe source string.
funcThe callback function.
Returns:
The data pointer

This function removes a callback, previously attached to the emission of a signal, from the object obj. The parameters emission, source and func must match exactly those passed to a previous call to edje_object_signal_callback_add(). The data pointer that was passed to this call will be returned.

See also:
edje_object_signal_callback_add().
edje_object_signal_callback_del_full().
Since :
2.3
void* edje_object_signal_callback_del_full ( Evas_Object obj,
const char *  emission,
const char *  source,
Edje_Signal_Cb  func,
void *  data 
)

Unregisters/deletes a callback set for an arriving Edje signal, emitted by a given Edje object.

Parameters:
objA handle to an Edje object
emissionThe signal's "emission" string
sourceThe signal's "source" string
funcThe callback function passed on the callback's registration
dataThe pointer given to be passed as data to func
Returns:
data on success, or NULL on errors (or if data had this value)

This function removes a callback, previously attached to the emission of a signal, from the object obj. The parameters emission, source, func and data must match exactly those passed to a previous call to edje_object_signal_callback_add(). The data pointer that was passed to this call will be returned.

See also:
edje_object_signal_callback_add().
edje_object_signal_callback_del().
Since :
2.3
void edje_object_signal_emit ( Evas_Object obj,
const char *  emission,
const char *  source 
)

Sends/emits an Edje signal to a given Edje object.

This function sends a signal to the object obj. An Edje program, at obj's EDC specification level, can respond to a signal by having declared matching @'signal' and @'source' fields on its block (see the syntax for EDC files).

See also edje_object_signal_callback_add() for more on Edje signals.

Parameters:
[in]emissionThe signal's "emission" string
[in]sourceThe signal's "source" string
Since :
2.3
Examples:
edje-perspective.c, and edje-signals-messages.c.
void edje_object_size_max_get ( const Evas_Object obj,
int *  maxw,
int *  maxh 
)

Gets the maximum size specified -- as an EDC property -- for a given Edje object.

This function retrieves the object's maximum size values, as declared in its EDC group definition. For instance, for an Edje object of maximum size 100x100 pixels: collections { group { name: "a_group"; max: 100 100; } }

Note:
If the max EDC property was not declared for the object, this call will return the maximum size a given Edje object may have, for each axis.
On failure, this function will return 0x0.

See also edje_object_size_min_get.

Parameters:
[out]maxwThe maximum width
[out]maxhThe maximum height
Since :
2.3
Examples:
edje-basic.c.
void edje_object_size_min_calc ( Evas_Object obj,
int *  minw,
int *  minh 
)

Calculates the minimum required size for a given Edje object.

This call works exactly as edje_object_size_min_restricted_calc(), with the last two arguments set to 0. Please refer to its documentation, then.

Parameters:
[out]minwThe minimum required width (return value)
[out]minhThe minimum required height (return value)
Since :
2.3
Examples:
codegen_example.c, edje-basic.c, and layout_example_03.c.
void edje_object_size_min_get ( const Evas_Object obj,
int *  minw,
int *  minh 
)

Gets the minimum size specified -- as an EDC property -- for a given Edje object.

This function retrieves the obj object's minimum size values, as declared in its EDC group definition. For instance, for an Edje object of minimum size 100x100 pixels: collections { group { name: "a_group"; min: 100 100; } }

Note:
If the min EDC property was not declared for this object, this call will return 0x0.
On failure, this function also return 0x0.

See also edje_object_size_max_get.

Parameters:
[out]minwPointer to a variable where to store the minimum width
[out]minhPointer to a variable where to store the minimum height
Since :
2.3
Examples:
edje-basic.c.
void edje_object_size_min_restricted_calc ( Evas_Object obj,
int *  minw,
int *  minh,
int  restrictedw,
int  restrictedh 
)

Calculates the minimum required size for a given Edje object.

This call will trigger an internal recalculation of all parts of the object, in order to return its minimum required dimensions for width and height. The user might choose to impose those minimum sizes, making the resulting calculation to get to values equal or larger than restrictedw and restrictedh, for width and height, respectively.

Note:
At the end of this call, the object won't be automatically resized to the new dimensions, but just return the calculated sizes. The caller is the one up to change its geometry or not.
Warning:
Be advised that invisible parts in the object will be taken into account in this calculation.
Parameters:
[out]minwThe minimum required width (return value)
[out]minhThe minimum required height (return value)
[in]restrictedwThe minimum width constraint as input, minw can not be lower than this
[in]restrictedhThe minimum height constraint as input, minh can not be lower than this
Since :
2.3
Examples:
edje-basic.c.
void edje_object_text_insert_filter_callback_add ( Evas_Object obj,
const char *  part,
Edje_Text_Filter_Cb  func,
void *  data 
)

Adds a filter function for newly inserted text.

Whenever text is inserted (not the same as set) into the given part, the list of filter functions will be called to decide if and how the new text will be accepted. There are three types of filters, EDJE_TEXT_FILTER_TEXT, EDJE_TEXT_FILTER_FORMAT and EDJE_TEXT_FILTER_MARKUP. The text parameter in the func filter can be modified by the user and it's up to him to free the one passed if he's to change the pointer. If doing so, the newly set text should be malloc'ed, as once all the filters are called Edje will free it. If the text is to be rejected, freeing it and setting the pointer to null will make Edje break out of the filter cycle and reject the inserted text.

Warning:
This function will be deprecated because of difficulty in use. The type(format, text, or markup) of text should be always checked in the filter function for correct filtering. Please use edje_object_text_markup_filter_callback_add() instead. There is no need to check the type of text in the filter function because the text is always markup. Warning: If you use this function with edje_object_text_markup_filter_callback_add() together, all Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions will be executed, and then filtered text will be inserted.

See also edje_object_text_insert_filter_callback_del, edje_object_text_insert_filter_callback_del_full and edje_object_text_markup_filter_callback_add

Parameters:
[in]partThe part name
[in]funcThe callback function that will act as filter
[in]dataUser provided data to pass to the filter function
Since :
3.0
void* edje_object_text_insert_filter_callback_del ( Evas_Object obj,
const char *  part,
Edje_Text_Filter_Cb  func 
)

Deletes a function from the filter list.

Delete the given func filter from the list in part. Returns the user data pointer given when added.

See also edje_object_text_insert_filter_callback_add and edje_object_text_insert_filter_callback_del_full

Parameters:
[in]partThe part name
[in]funcThe function callback to remove
Returns:
The user data pointer if successful, or null otherwise
Since :
3.0
void* edje_object_text_insert_filter_callback_del_full ( Evas_Object obj,
const char *  part,
Edje_Text_Filter_Cb  func,
void *  data 
)

Deletes a function and matching user data from the filter list.

Delete the given func filter and data user data from the list in part. Returns the user data pointer given when added.

See also edje_object_text_insert_filter_callback_add and edje_object_text_insert_filter_callback_del

Parameters:
[in]partThe part name
[in]funcThe function callback to remove
[in]dataThe data passed to the callback function
Returns:
The same data pointer if successful, or null otherwise
Since :
3.0
void edje_object_text_markup_filter_callback_add ( Evas_Object obj,
const char *  part,
Edje_Markup_Filter_Cb  func,
void *  data 
)

Adds a markup filter function for newly inserted text.

Whenever text is inserted (not the same as set) into the given part, the list of markup filter functions will be called to decide if and how the new text will be accepted. The text parameter in the func filter is always markup. It can be modified by the user and it's up to him to free the one passed if he's to change the pointer. If doing so, the newly set text should be malloc'ed, as once all the filters are called Edje will free it. If the text is to be rejected, freeing it and setting the pointer to null will make Edje break out of the filter cycle and reject the inserted text. This function is different from edje_object_text_insert_filter_callback_add() in that the text parameter in the func filter is always markup.

Warning:
If you use this function with edje_object_text_insert_filter_callback_add() together, all Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions will be executed, and then filtered text will be inserted.

See also edje_object_text_markup_filter_callback_del, edje_object_text_markup_filter_callback_del_full and edje_object_text_insert_filter_callback_add

Parameters:
[in]partThe part name
[in]funcThe callback function that will act as markup filter
[in]dataUser provided data to pass to the filter function
Since (EFL) :
1.2.0
Since :
3.0
void* edje_object_text_markup_filter_callback_del ( Evas_Object obj,
const char *  part,
Edje_Markup_Filter_Cb  func 
)

Deletes a function from the markup filter list.

Delete the given func filter from the list in part. Returns the user data pointer given when added.

See also edje_object_text_markup_filter_callback_add and edje_object_text_markup_filter_callback_del_full

Parameters:
[in]partThe part name
[in]funcThe function callback to remove
Returns:
The user data pointer if successful, or null otherwise
Since (EFL) :
1.2.0
Since :
3.0
void* edje_object_text_markup_filter_callback_del_full ( Evas_Object obj,
const char *  part,
Edje_Markup_Filter_Cb  func,
void *  data 
)

Deletes a function and matching user data from the markup filter list.

Delete the given func filter and data user data from the list in part. Returns the user data pointer given when added.

See also edje_object_text_markup_filter_callback_add and edje_object_text_markup_filter_callback_del

Parameters:
[in]partThe part name
[in]funcThe function callback to remove
[in]dataThe data passed to the callback function
Returns:
The same data pointer if successful, or null otherwise
Since (EFL) :
1.2.0
Since :
3.0
int edje_object_thaw ( Evas_Object obj)

Thaws the Edje object.

This function thaws the given Edje object.

Note:
If successive freezes were done, an equal number of thaws will be required.

See also edje_object_freeze()

Returns:
The frozen state or 0 if the object is not frozen or on error.
Since :
2.3

Transition duration factor.

This defines a multiplier for the duration of transitions as they are defined in EDC. By default this factor is 1.0, which means animations play at the same speed as described in EDC.

Gets transition duration factor.

Returns:
The transition duration factor.
Since :
3.0
void edje_object_transition_duration_factor_set ( Evas_Object obj,
double  scale 
)

Transition duration factor.

This defines a multiplier for the duration of transitions as they are defined in EDC. By default this factor is 1.0, which means animations play at the same speed as described in EDC.

Sets transition duration factor.

Parameters:
[in]scaleThe transition duration factor.
Since :
3.0

Whether this object updates its size hints automatically.

By default edje doesn't set size hints on itself. If this property is set to true, size hints will be updated after recalculation. Be careful, as recalculation may happen often, enabling this property may have a considerable performance impact as other widgets will be notified of the size hints changes.

A layout recalculation can be triggered by edje_object_size_min_calc(), edje_object_size_min_restricted_calc(), edje_object_parts_extends_calc() or even any other internal event.

Whether this object updates its size hints automatically.

Returns:
Whether or not update the size hints.
Since :
2.3
void edje_object_update_hints_set ( Evas_Object obj,
Eina_Bool  update 
)

Whether this object updates its size hints automatically.

By default edje doesn't set size hints on itself. If this property is set to true, size hints will be updated after recalculation. Be careful, as recalculation may happen often, enabling this property may have a considerable performance impact as other widgets will be notified of the size hints changes.

A layout recalculation can be triggered by edje_object_size_min_calc(), edje_object_size_min_restricted_calc(), edje_object_parts_extends_calc() or even any other internal event.

Enable or disable auto-update of size hints.

Parameters:
[in]updateWhether or not update the size hints.
Since :
2.3