* More LUA doxy, now all the Classes,Methods and Attributes are documented (...at least listed). Still have some examples and some more info to write.

* fix the use of lua table in the example

SVN revision: 47048
This commit is contained in:
Davide Andreoli 2010-03-08 19:09:15 +00:00
parent 755e44a6d9
commit 707cabbaf9
2 changed files with 317 additions and 91 deletions

View File

@ -88,9 +88,8 @@ collections {
/* Set labels with object info */ /* Set labels with object info */
ed.label1.text = "timer interval: " .. timer.interval ed.label1.text = "timer interval: " .. timer.interval
ed.label2.text = "object x: " .. ed.red_rect.geometry[1] ed.label2.text = "object x: " .. ed.red_rect.geometry[1]
ed.label3.text = "object color: " .. ed.red_rect.color[1] .. " " r, g, b, a = unpack(ed.red_rect.color)
.. ed.red_rect.color[2] .. " " ed.label3.text = "object color: "..r.." "..g.." ".. b
.. ed.red_rect.color[3]
/* or return CALLBACK_CANCEL to stop the timer*/ /* or return CALLBACK_CANCEL to stop the timer*/
return CALLBACK_RENEW return CALLBACK_RENEW

View File

@ -37,6 +37,22 @@ access every parts and is also used to create @ref Timer, @ref poller and
@ref animator; to emit signal, send messagges, run/stop programs and more. @ref animator; to emit signal, send messagges, run/stop programs and more.
Look at the @ref Group class to see all the methods and properties. Look at the @ref Group class to see all the methods and properties.
Some object attributes return a table of values, the @ref Object attribute
@a geometry for example return a table of 4 values (x,y,w,h). This tables don't
have named index thus you can access the fields only using: geometry[1] for the
x value. NOTE that you can NOT use gemetry.x or .geometry["x"]. But
you can use the lua unpack function in this way:
@code
x, y, w, h = unpack(ed.part_name.geometry)
print("geometry: ", x, y, w, h)
// the same for state names:
state, val = unpack(ed.part_name.state)
print("state: ", state, val)
// and for setting tables attributes:
custom.color = { 255, 255, 255, 255 }
ed.part_name.state = { 'custom', 0.0 }
@endcode
Classes hierarchy: Classes hierarchy:
- @ref Timer - @ref Timer
- @ref Animator - @ref Animator
@ -61,8 +77,10 @@ in the edje sources.
Lua snippets: Lua snippets:
@code @code
// print one or more values in console in a tabbed way // print one or more values in console in a tabbed way or using printf style
print("something to say", val1, val2) print("something to say", val1, val2)
s = string.format("%d %d", 3, 4)
print(s)
// string concat // string concat
print("string1" .. "string2" .. val1) print("string1" .. "string2" .. val1)
@ -72,6 +90,7 @@ tostring(var)
// Print the type of a variable // Print the type of a variable
print(type(var)) print(type(var))
@endcode @endcode
*/ */
@ -963,10 +982,13 @@ const luaL_Reg lTimer_fn[] = {
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Lua Edje Animator bindings @page luaref
*/ @luaclass{Animator,Animator Class}
The animator class is a wrapper around ecore_animator. Animator are used the
same way as @ref Timer.
*/
const luaL_Reg lAnimator_get[]; const luaL_Reg lAnimator_get[];
const luaL_Reg lAnimator_fn[]; const luaL_Reg lAnimator_fn[];
@ -1027,6 +1049,11 @@ _edje_lua_animator_get_frametime(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@attributes
@li Animator.frametime
*/
const luaL_Reg lAnimator_get[] = { const luaL_Reg lAnimator_get[] = {
{"frametime", _edje_lua_animator_get_frametime}, {"frametime", _edje_lua_animator_get_frametime},
{NULL, NULL} {NULL, NULL}
@ -1050,15 +1077,23 @@ _edje_lua_animator_fn_del(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@methods
@li Animator:del()
*/
const luaL_Reg lAnimator_fn[] = { const luaL_Reg lAnimator_fn[] = {
{"del", _edje_lua_animator_fn_del}, {"del", _edje_lua_animator_fn_del},
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Lua Edje Poller Bindings @page luaref
*/ @luaclass{Poller,Poller Class}
The poller class is a wrapper around ecore_poller.
*/
const luaL_Reg lPoller_get[]; const luaL_Reg lPoller_get[];
const luaL_Reg lPoller_fn[]; const luaL_Reg lPoller_fn[];
@ -1119,6 +1154,11 @@ _edje_lua_poller_get_interval(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@attributes
@li Poller.interval
*/
const luaL_Reg lPoller_get[] = { const luaL_Reg lPoller_get[] = {
{"interval", _edje_lua_poller_get_interval}, {"interval", _edje_lua_poller_get_interval},
{NULL, NULL} {NULL, NULL}
@ -1144,6 +1184,11 @@ _edje_lua_poller_fn_del(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@methods
@li Poller:del()
*/
const luaL_Reg lPoller_fn[] = { const luaL_Reg lPoller_fn[] = {
{"del", _edje_lua_poller_fn_del}, {"del", _edje_lua_poller_fn_del},
{NULL, NULL} {NULL, NULL}
@ -2232,30 +2277,30 @@ _edje_lua_object_set_mouse_events(lua_State *L)
} }
/** /**
@page luaref @page luaref
@setters @setters
@li Object.name @li Object.name
@li Object.layer @li Object.layer
@li Object.size_hint_min @li Object.size_hint_min: (w,h)
@li Object.size_hint_max @li Object.size_hint_max: (w,h)
@li Object.size_hint_request @li Object.size_hint_request: (w,h)
@li Object.size_hint_aspect @li Object.size_hint_aspect: (w,h)
@li Object.size_hint_align @li Object.size_hint_align: (w,h)
@li Object.size_hint_weight @li Object.size_hint_weight: (w,h)
@li Object.size_hint_padding @li Object.size_hint_padding: (l,r,t,b)
@li Object.render_op @li Object.render_op
@li Object.anti_alias @li Object.anti_alias
@li Object.scale @li Object.scale
@li Object.color @li Object.color: (r, g, b, alpha)
@li Object.color_interpolation @li Object.color_interpolation
@li Object.clip @li Object.clip
@li Object.pass_events @li Object.pass_events
@li Object.repeat_events @li Object.repeat_events
@li Object.propagate_events @li Object.propagate_events
@li Object.focus @li Object.focus
@li Object.pointer_mode @li Object.pointer_mode
@li Object.precise_is_inside @li Object.precise_is_inside
@li Object.mouse_events @li Object.mouse_events
*/ */
const luaL_Reg lObject_set[] = { const luaL_Reg lObject_set[] = {
{"name", _edje_lua_object_set_name}, {"name", _edje_lua_object_set_name},
@ -2289,10 +2334,11 @@ const Edje_Lua_Reg *cRectangle[] = {
NULL // sentinel NULL // sentinel
}; };
/* /**
* Image @page luaref
*/ @luaclass{Image,Image Class}
@seealso{Evas Object Image Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Image.html}
*/
const luaL_Reg lImage_get[]; const luaL_Reg lImage_get[];
const luaL_Reg lImage_set[]; const luaL_Reg lImage_set[];
@ -2325,6 +2371,11 @@ _edje_lua_image_get_size(lua_State *L)
return 1; return 1;
}; };
/**
@page luaref
@attributes
@li Image.size: (w,h)
*/
const luaL_Reg lImage_get[] = { const luaL_Reg lImage_get[] = {
{"size", _edje_lua_image_get_size}, {"size", _edje_lua_image_get_size},
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
@ -2374,6 +2425,14 @@ _edje_lua_image_set_alpha(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@setters
@li Image.file
@li Image.fill: (x,y,w,h)
@li Image.fill_transform
@li Image.alpha
*/
const luaL_Reg lImage_set[] = { const luaL_Reg lImage_set[] = {
{"file", _edje_lua_image_set_file}, {"file", _edje_lua_image_set_file},
{"fill", _edje_lua_image_set_fill}, {"fill", _edje_lua_image_set_fill},
@ -2382,10 +2441,11 @@ const luaL_Reg lImage_set[] = {
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Line @page luaref
*/ @luaclass{Line,Line Class}
@seealso{Evas Object Line Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Line__Group.html}
*/
const luaL_Reg lLine_get[]; const luaL_Reg lLine_get[];
const luaL_Reg lLine_set[]; const luaL_Reg lLine_set[];
@ -2417,6 +2477,11 @@ _edje_lua_line_get_xy(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@attributes
@li Line.xy: (x1,y1,x2,y2)
*/
const luaL_Reg lLine_get[] = { const luaL_Reg lLine_get[] = {
{"xy", _edje_lua_line_get_xy}, {"xy", _edje_lua_line_get_xy},
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
@ -2439,15 +2504,21 @@ _edje_lua_line_set_xy(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@setters
@li Line.xy: (x1,y1,x2,y2)
*/
const luaL_Reg lLine_set[] = { const luaL_Reg lLine_set[] = {
{"xy", _edje_lua_line_set_xy}, {"xy", _edje_lua_line_set_xy},
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Polygon @page luaref
*/ @luaclass{Polygon,Polygon Class}
@seealso{Evas Object Polygon Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Polygon.html}
*/
const luaL_Reg lPolygon_fn[]; const luaL_Reg lPolygon_fn[];
const Edje_Lua_Reg mPolygon = { const Edje_Lua_Reg mPolygon = {
@ -2482,16 +2553,23 @@ _edje_lua_polygon_fn_points_clear(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@methods
@li Polygon:point_add(x,y)
@li Polygon:points_clear()
*/
const luaL_Reg lPolygon_fn[] = { const luaL_Reg lPolygon_fn[] = {
{"point_add", _edje_lua_polygon_fn_point_add}, {"point_add", _edje_lua_polygon_fn_point_add},
{"points_clear", _edje_lua_polygon_fn_points_clear}, {"points_clear", _edje_lua_polygon_fn_points_clear},
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Table @page luaref
*/ @luaclass{Table,Table Class}
@seealso{Evas Object Table Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Table.html}
*/
const luaL_Reg lTable_get[]; const luaL_Reg lTable_get[];
const luaL_Reg lTable_set[]; const luaL_Reg lTable_set[];
@ -2580,6 +2658,15 @@ _edje_lua_table_get_children(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@attributes
@li Table.homogeneous
@li Table.padding: (horiz,vert)
@li Table.align: (horiz,vert)
@li Table.col_row_size: (cols,rows)
@li Table.children
*/
const luaL_Reg lTable_get[] = { const luaL_Reg lTable_get[] = {
{"homogeneous", _edje_lua_table_get_homogeneous}, {"homogeneous", _edje_lua_table_get_homogeneous},
{"padding", _edje_lua_table_get_padding}, {"padding", _edje_lua_table_get_padding},
@ -2624,6 +2711,13 @@ _edje_lua_table_set_align(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@setters
@li Table.homogeneous
@li Table.padding: (horiz,vert)
@li Table.align: (horiz,vert)
*/
const luaL_Reg lTable_set[] = { const luaL_Reg lTable_set[] = {
{"homogeneous", _edje_lua_table_set_homogeneous}, {"homogeneous", _edje_lua_table_set_homogeneous},
{"padding", _edje_lua_table_set_padding}, {"padding", _edje_lua_table_set_padding},
@ -2663,6 +2757,13 @@ _edje_lua_table_fn_clear(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@methods
@li Table.pack(child,col,row,colspan,rowspan)
@li Table.unpack(child)
@li Table.clear(clear)
*/
const luaL_Reg lTable_fn[] = { const luaL_Reg lTable_fn[] = {
{"pack", _edje_lua_table_fn_pack}, {"pack", _edje_lua_table_fn_pack},
{"unpack", _edje_lua_table_fn_unpack}, {"unpack", _edje_lua_table_fn_unpack},
@ -2670,9 +2771,10 @@ const luaL_Reg lTable_fn[] = {
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Description @page luaref
*/ @luaclass{Description,Description Class}
*/
const luaL_Reg lDescription_get[]; const luaL_Reg lDescription_get[];
@ -3143,6 +3245,41 @@ _edje_lua_description_get_visible(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@attributes
@li Description.alignment: (x,y)
@li Description.min: (w,h)
@li Description.max: (w,h)
@li Description.step: (w,h)
@li Description.aspect: (x,y)
@li Description.aspect_pref
@li Description.color: (r,g,b,a)
@li Description.color2: (r,g,b,a)
@li Description.color3: (r,g,b,a)
@li Description.color_class
@li Description.rel1: (x,y)
@li Description.rel1_to: (to_x,to_y)
@li Description.rel1_offset: (x,y)
@li Description.rel2: (x,y)
@li Description.rel2_to: (to_x,to_y)
@li Description.rel2_offset: (x,y)
@li Description.image (not yet implemented)
@li Description.border: (l,r,t,b)
@li Description.fill_smooth
@li Description.fill_pos: (rel_x,rel_y,offset_x,offset_y)
@li Description.fill_size: (rel_x,rel_y,offset_x,offset_y)
@li Description.text
@li Description.text_class
@li Description.text_font
@li Description.text_style
@li Description.text_size
@li Description.text_fit: (x,y)
@li Description.text_min: (x,y)
@li Description.text_max: (x,y)
@li Description.text_align: (x,y)
@li Description.visible
*/
const luaL_Reg lDescription_get[] = { const luaL_Reg lDescription_get[] = {
{"alignment", _edje_lua_description_get_alignment}, {"alignment", _edje_lua_description_get_alignment},
{"min", _edje_lua_description_get_min}, {"min", _edje_lua_description_get_min},
@ -3634,6 +3771,41 @@ _edje_lua_description_set_visible(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@setters
@li Description.alignment: (x,y)
@li Description.min: (w,h)
@li Description.max: (w,h)
@li Description.step: (w,h)
@li Description.aspect: (x,y)
@li Description.aspect_pref
@li Description.color: (r,g,b,a)
@li Description.color2: (r,g,b,a)
@li Description.color3: (r,g,b,a)
@li Description.color_class
@li Description.rel1: (x,y)
@li Description.rel1_to: (to_x,to_y)
@li Description.rel1_offset: (x,y)
@li Description.rel2: (x,y)
@li Description.rel2_to: (to_x,to_y)
@li Description.rel2_offset: (x,y)
@li Description.image
@li Description.border: (l,r,t,b)
@li Description.fill_smooth
@li Description.fill_pos: (rel_x,rel_y,offset_x,offset_y)
@li Description.fill_size: (rel_x,rel_y,offset_x,offset_y)
@li Description.text
@li Description.text_class
@li Description.text_font
@li Description.text_style
@li Description.text_size
@li Description.text_fit: (x,y)
@li Description.text_min: (x,y)
@li Description.text_max: (x,y)
@li Description.text_align: (x,y)
@li Description.visible
*/
const luaL_Reg lDescription_set[] = { const luaL_Reg lDescription_set[] = {
{"alignment", _edje_lua_description_set_alignment}, {"alignment", _edje_lua_description_set_alignment},
{"min", _edje_lua_description_set_min}, {"min", _edje_lua_description_set_min},
@ -3669,10 +3841,14 @@ const luaL_Reg lDescription_set[] = {
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/* /**
* Part @page luaref
*/ @luaclass{Part,Part Class}
Parts are objects, that is, they inherit the methods from the @ref Object class.
They also contain the following methods and attributes:
*/
const luaL_Reg lPart_get[]; const luaL_Reg lPart_get[];
const luaL_Reg lPart_set[]; const luaL_Reg lPart_set[];
@ -3912,9 +4088,29 @@ _edje_lua_part_get_table_col_row_size(lua_State *L)
static int _edje_lua_part_fn_custom_state(lua_State *L); static int _edje_lua_part_fn_custom_state(lua_State *L);
/**
@page luaref
@attributes
@li @ref Object Part.swallow
@li Part.drag_dir
@li Part.drag_value: (dx,dy)
@li Part.drag_size: (dx,dy)
@li Part.drag_step: (dx,dy)
@li Part.drag_page: (dx,dy)
@li Part.type
@li Part.effect
@li Part.mouse_events
@li Part.states_list
@li Part.state: (state,value)
@li Part.text
@li Part.text_selection
@li Part.text_cursor_geometry: (x,y,w,h)
@li Part.geometry: (x,y,w,h)
@li Part.part_col_row_size: (cols,rows)
*/
const luaL_Reg lPart_get[] = { const luaL_Reg lPart_get[] = {
{"custom_state", _edje_lua_part_fn_custom_state}, {"custom_state", _edje_lua_part_fn_custom_state},
{"Swallow", _edje_lua_part_get_swallow}, {"Swallow", _edje_lua_part_get_swallow}, //TODO it the capital S correct?
{"drag_dir", _edje_lua_part_get_drag_dir}, {"drag_dir", _edje_lua_part_get_drag_dir},
{"drag_value", _edje_lua_part_get_drag_value}, {"drag_value", _edje_lua_part_get_drag_value},
@ -4053,6 +4249,20 @@ _edje_lua_part_set_drag_page(lua_State *L)
return 0; return 0;
} }
/**
@page luaref
@setters
@li Part.drag_value: (dx,dy)
@li Part.drag_size: (dx,dy)
@li Part.drag_step: (dx,dy)
@li Part.drag_page: (dx,dy)
@li Part.effect
@li Part.mouse_events
@li Part.repeat_events
@li Part.state: (state,value)
@li Part.tween_state
@li Part.text
*/
const luaL_Reg lPart_set[] = { const luaL_Reg lPart_set[] = {
{"drag_value", _edje_lua_part_set_drag_value}, {"drag_value", _edje_lua_part_set_drag_value},
{"drag_size", _edje_lua_part_set_drag_size}, {"drag_size", _edje_lua_part_set_drag_size},
@ -4283,6 +4493,26 @@ _edje_lua_part_fn_box_remove_all(lua_State *L)
return 1; return 1;
} }
/**
@page luaref
@methods
@li Part:swallow(obj)
@li Part:unswallow()
@li @ref PartDescription Part:custom_state(state_name, state_val)
@li Part:text_select_none
@li Part:text_select_all
@li Part:text_insert(text)
@li Part:table_pack(child, row, colspan, rowspan)
@li Part:table_unpack(child)
@li Part:table_clear(clear)
@li Part:box_append(item)
@li Part:box_prepend(item)
@li Part:box_insert_before(item, before)
@li Part:box_insert_at(item, index)
@li Part:box_remove(item)
@li Part:box_remove_at(item, index)
@li Part:box_remove_all(clear)
*/
const luaL_Reg lPart_fn[] = { const luaL_Reg lPart_fn[] = {
{"swallow", _edje_lua_part_fn_swallow}, {"swallow", _edje_lua_part_fn_swallow},
{"unswallow", _edje_lua_part_fn_unswallow}, {"unswallow", _edje_lua_part_fn_unswallow},
@ -4307,9 +4537,6 @@ const luaL_Reg lPart_fn[] = {
{NULL, NULL} // sentinel {NULL, NULL} // sentinel
}; };
/*
* Group
*/
/** /**
@page luaref @page luaref
@luaclass{Group,Group Class} @luaclass{Group,Group Class}
@ -4508,17 +4735,17 @@ _edje_lua_group_get_frametime(lua_State *L)
/** /**
@page luaref @page luaref
@attributes @attributes
@li EdjeGroup.group @li Group.group
@li EdjeGroup.mouse: (x,y) @li Group.mouse: (x,y)
@li EdjeGroup.mouse_buttons @li Group.mouse_buttons
@li EdjeGroup.size_min: (w,h) @li Group.size_min: (w,h)
@li EdjeGroup.size_max: (w,h) @li Group.size_max: (w,h)
@li EdjeGroup.scale @li Group.scale
@li EdjeGroup.load_error @li Group.load_error
@li EdjeGroup.load_error_str @li Group.load_error_str
@li EdjeGroup.play @li Group.play
@li EdjeGroup.animation @li Group.animation
@li EdjeGroup.frametime @li Group.frametime
*/ */
const luaL_Reg lGroup_get[] = { const luaL_Reg lGroup_get[] = {
{"group", _edje_lua_group_get_group}, {"group", _edje_lua_group_get_group},
@ -4628,14 +4855,14 @@ _edje_lua_group_set_frametime(lua_State *L)
/** /**
@page luaref @page luaref
@setters @setters
@li EdjeGroup.group @li Group.group
@li EdjeGroup.size_min @li Group.size_min: (w,h)
@li EdjeGroup.size_max @li Group.size_max: (w,h)
@li EdjeGroup.scale @li Group.scale
@li EdjeGroup.play @li Group.play
@li EdjeGroup.animation @li Group.animation
@li EdjeGroup.text_change_cb @li Group.text_change_cb
@li EdjeGroup.frametime @li Group.frametime
*/ */
const luaL_Reg lGroup_set[] = { const luaL_Reg lGroup_set[] = {
{"group", _edje_lua_group_set_group}, {"group", _edje_lua_group_set_group},
@ -4993,18 +5220,18 @@ _edje_lua_group_fn_thaw(lua_State *L)
/** /**
@page luaref @page luaref
@methods @methods
@li @ref Timer EdjeGroup:timer(secs, callback) @li @ref Timer Group:timer(secs, callback)
@li @ref Animator EdjeGroup:animator(func) @li @ref Animator Group:animator(func)
@li @ref Poller EdjeGroup:poller(interval, callback) @li @ref Poller Group:poller(interval, callback)
@li @ref Transform EdjeGroup:transform() @li @ref Transform Group:transform()
@li EdjeGroup:signal_emit(emission, source) @li Group:signal_emit(emission, source)
@li EdjeGroup:message_send(message_type, id, msg) @li Group:message_send(message_type, id, msg)
@li EdjeGroup:program_run(name) @li Group:program_run(name)
@li EdjeGroup:program_stop(name) @li Group:program_stop(name)
@li EdjeGroup:signal_callback_add(emission, source, callback) @li Group:signal_callback_add(emission, source, callback)
@li EdjeGroup:signal_callback_del(emission, source) @li Group:signal_callback_del(emission, source)
@li EdjeGroup:freeze() @li Group:freeze()
@li EdjeGroup:thaw() @li Group:thaw()
*/ */
const luaL_Reg lGroup_fn[] = { const luaL_Reg lGroup_fn[] = {
{"timer", _edje_lua_group_fn_timer}, {"timer", _edje_lua_group_fn_timer},