- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

Modules | Data Structures | Macros | Typedefs | Enumerations | Functions
Edje External
Edje

This group discusses functions of the external section of Edje. More...

## Modules
| Edje Development of External Plugins
| Functions to register, unregister EXTERNAL types and develop the plugins.
| Edje Use of External Parts
| Functions to manipulate parts of type EXTERNAL.

## Data Structures
struct | _Edje_External_Param
| Struct that holds parameters for parts of type EXTERNAL. More...
struct | _Edje_External_Param_Info
| Struct holding information about an EXTERNAL part's parameters. More...
struct | _Edje_External_Type
| Information about an external type to be used. More...
struct | _Edje_External_Type_Info
| Convenience struct used to mass-register types of EXTERNAL objects. More...

## Macros
#define | EDJE_EXTERNAL_INT_UNSET INT_MAX
| Helper macro to indicate an EXTERNAL's integer parameter is undefined.
#define | EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX
| Helper macro to indicate an EXTERNAL's double parameter is undefined.
#define | EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}}
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}}
#define | EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}}
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}}
#define | EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}}
#define | EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}}
#define | EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
#define | EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET)
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET)
#define | EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL)
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true")
#define | EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags) EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags) EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags)
#define | EDJE_EXTERNAL_PARAM_INFO_INT(name) EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0)
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0)
#define | EDJE_EXTERNAL_PARAM_INFO_STRING(name) EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL)
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL(name) EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0)
#define | EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags)
#define | EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}}
#define | EDJE_EXTERNAL_TYPE_ABI_VERSION (3)

## Typedefs
typedef enum _Edje_External_Param_Type | Edje_External_Param_Type
| The possible types the parameters of an EXTERNAL part can be.
typedef enum _Edje_External_Param_Flags | Edje_External_Param_Flags
| Flags that determine how a parameter may be accessed in different circumstances.
typedef struct _Edje_External_Param | Edje_External_Param
| Struct that holds parameters for parts of type EXTERNAL.
typedef struct _Edje_External_Param_Info | Edje_External_Param_Info
| Struct holding information about an EXTERNAL part's parameters. More...
typedef struct _Edje_External_Type | Edje_External_Type
typedef struct _Edje_External_Type_Info | Edje_External_Type_Info

## Enumerations
enum | _Edje_External_Param_Type { EDJE_EXTERNAL_PARAM_TYPE_INT, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, EDJE_EXTERNAL_PARAM_TYPE_STRING, EDJE_EXTERNAL_PARAM_TYPE_BOOL, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, EDJE_EXTERNAL_PARAM_TYPE_MAX }
| The possible types the parameters of an EXTERNAL part can be. More...
enum | _Edje_External_Param_Flags { EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), EDJE_EXTERNAL_PARAM_FLAGS_REGULAR }
| Flags that determine how a parameter may be accessed in different circumstances. More...

## Functions
const char * | edje_external_param_type_str (Edje_External_Param_Type type)
| Converts type identifier to string nicer representation. More...
#define | edje_obj_part_external_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
| Get the object created by this external part. More...
#define | edje_obj_part_external_param_set(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
| Set the parameter for the external part. More...
#define | edje_obj_part_external_param_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
| Get the parameter for the external part. More...
#define | edje_obj_part_external_content_get(part, content, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, content), EO_TYPECHECK(Evas_Object **, ret)
| Get an object contained in an part of type EXTERNAL. More...
#define | edje_obj_part_external_param_type_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, param), EO_TYPECHECK(Edje_External_Param_Type *, ret)

## Detailed Description

This group discusses functions of the external section of Edje.

The programmer can create new types for parts, that will be called generically EXTERNALS as they are not native of Edje. The developer must also create plugins that will define the meaning of each extra properties carried by these parts of type EXTERNAL.

As long as there are new types properly registered with the plugins created, the user can use the parts of type EXTERNAL as all the parts of native types.

## Macro Definition Documentation

#define edje_obj_part_external_object_get | ( |  | part,
|  |  | ret
| ) |  | EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)

Get the object created by this external part.

Since
  1.8

Parameters

  [in] | part |
  [out] | ret |

See Also
  edje_object_part_external_object_get

Referenced by edje_object_part_external_object_get().

#define edje_obj_part_external_param_set | ( |  | part,
|  |  | param,
|  |  | ret
| ) |  | EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)

Set the parameter for the external part.

Since
  1.8

Parameters

  [in] | part |
  [in] | param |
  [out] | ret |

See Also
  edje_object_part_external_param_set

Referenced by edje_object_part_external_param_set().

#define edje_obj_part_external_param_get | ( |  | part,
|  |  | param,
|  |  | ret
| ) |  | EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)

Get the parameter for the external part.

Since
  1.8

Parameters

  [in] | part |
  [out] | param |
  [out] | ret |

See Also
  edje_object_part_external_param_get

Referenced by edje_object_part_external_param_get().

#define edje_obj_part_external_content_get | ( |  | part,
|  |  | content,
|  |  | ret
| ) |  | EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, content), EO_TYPECHECK(Evas_Object **, ret)

Get an object contained in an part of type EXTERNAL.

Since
  1.8

Parameters

  [in] | part |
  [out] | content |
  [out] | ret |

See Also
  edje_object_part_external_content_get

Referenced by edje_object_part_external_content_get().

#define edje_obj_part_external_param_type_get | ( |  | part,
|  |  | param,
|  |  | ret
| ) |  | EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, param), EO_TYPECHECK(Edje_External_Param_Type *, ret)

Since
  1.8

Facility to query the type of the given parameter of the given part.

Parameters

  [in] | part |
  [out] | param |
  [out] | ret |

See Also
  edje_object_part_external_param_type_get

Referenced by edje_object_part_external_param_type_get().

## Typedef Documentation

typedef struct _Edje_External_Param_Info Edje_External_Param_Info

Struct holding information about an EXTERNAL part's parameters.

When creating types to use with EXTERNAL parts, an array of this type is used to describe the different parameters the object uses.

This struct holds the name, type and flags that define how and when the parameter is used, as well as information specific to each type, like the maximum or minimum value, that can be used by editors to restrict the range of values to set for each parameter.

## Enumeration Type Documentation

enum _Edje_External_Param_Type

The possible types the parameters of an EXTERNAL part can be.

Enumerator
EDJE_EXTERNAL_PARAM_TYPE_INT | Parameter value is an integer.
EDJE_EXTERNAL_PARAM_TYPE_DOUBLE | Parameter value is a double.
EDJE_EXTERNAL_PARAM_TYPE_STRING | Parameter value is a string.
EDJE_EXTERNAL_PARAM_TYPE_BOOL | Parameter value is boolean.
EDJE_EXTERNAL_PARAM_TYPE_CHOICE | Parameter value is one of a set of predefined string choices.
EDJE_EXTERNAL_PARAM_TYPE_MAX | Sentinel. Don't use.

enum _Edje_External_Param_Flags

Flags that determine how a parameter may be accessed in different circumstances.

Enumerator
EDJE_EXTERNAL_PARAM_FLAGS_NONE | Property is incapable of operations, this is used to catch bogus flags.
EDJE_EXTERNAL_PARAM_FLAGS_GET | Property can be read/get.
EDJE_EXTERNAL_PARAM_FLAGS_SET | Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use EDJE_EXTERNAL_PARAM_FLAGS_STATE.
EDJE_EXTERNAL_PARAM_FLAGS_STATE | Property can be set from state description.
EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR | This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides EDJE_EXTERNAL_PARAM_FLAGS_STATE.
EDJE_EXTERNAL_PARAM_FLAGS_REGULAR | Convenience flag that sets property as GET, SET and STATE.

## Function Documentation

const char* edje_external_param_type_str | ( | Edje_External_Param_Type | type | ) |

Converts type identifier to string nicer representation.

This may be used to debug or other informational purposes.

Parameters

  type | the identifier to convert.

Returns
  the string with the string representation, or `"(unknown)"`.

References EDJE_EXTERNAL_PARAM_TYPE_BOOL, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, EDJE_EXTERNAL_PARAM_TYPE_INT, and EDJE_EXTERNAL_PARAM_TYPE_STRING.