widget: use __index to get method
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
68f0eda193
commit
d5ed48ffdd
|
@ -27,11 +27,16 @@ left
|
||||||
line
|
line
|
||||||
max_value
|
max_value
|
||||||
min_value
|
min_value
|
||||||
|
mouse_add
|
||||||
|
mouse_remove
|
||||||
|
name_get
|
||||||
|
name_set
|
||||||
on
|
on
|
||||||
resize
|
resize
|
||||||
reverse
|
reverse
|
||||||
right
|
right
|
||||||
scale
|
scale
|
||||||
|
set
|
||||||
shadow
|
shadow
|
||||||
shadow_offset
|
shadow_offset
|
||||||
show
|
show
|
||||||
|
@ -50,5 +55,7 @@ topright
|
||||||
true
|
true
|
||||||
vertical
|
vertical
|
||||||
vertical_gradient
|
vertical_gradient
|
||||||
|
visible_get
|
||||||
|
visible_set
|
||||||
width
|
width
|
||||||
yes
|
yes
|
||||||
|
|
33
widget.c
33
widget.c
|
@ -510,6 +510,38 @@ luaA_widget_visible_get(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
luaA_widget_index(lua_State *L)
|
||||||
|
{
|
||||||
|
widget_t **widget = luaA_checkudata(L, 1, "widget");
|
||||||
|
size_t len;
|
||||||
|
const char *str = luaL_checklstring(L, 2, &len);
|
||||||
|
|
||||||
|
switch(a_tokenize(str, len))
|
||||||
|
{
|
||||||
|
case A_TK_MOUSE_ADD:
|
||||||
|
lua_pushcfunction(L, luaA_widget_mouse_add);
|
||||||
|
return 1;
|
||||||
|
case A_TK_SET:
|
||||||
|
lua_pushcfunction(L, luaA_widget_set);
|
||||||
|
return 1;
|
||||||
|
case A_TK_NAME_SET:
|
||||||
|
lua_pushcfunction(L, luaA_widget_name_set);
|
||||||
|
return 1;
|
||||||
|
case A_TK_NAME_GET:
|
||||||
|
lua_pushcfunction(L, luaA_widget_name_get);
|
||||||
|
return 1;
|
||||||
|
case A_TK_VISIBLE_SET:
|
||||||
|
lua_pushcfunction(L, luaA_widget_visible_set);
|
||||||
|
return 1;
|
||||||
|
case A_TK_VISIBLE_GET:
|
||||||
|
lua_pushcfunction(L, luaA_widget_visible_get);
|
||||||
|
return 1;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const struct luaL_reg awesome_widget_methods[] =
|
const struct luaL_reg awesome_widget_methods[] =
|
||||||
{
|
{
|
||||||
{ "new", luaA_widget_new },
|
{ "new", luaA_widget_new },
|
||||||
|
@ -524,6 +556,7 @@ const struct luaL_reg awesome_widget_meta[] =
|
||||||
{ "name_get", luaA_widget_name_get },
|
{ "name_get", luaA_widget_name_get },
|
||||||
{ "visible_set", luaA_widget_visible_set },
|
{ "visible_set", luaA_widget_visible_set },
|
||||||
{ "visible_get", luaA_widget_visible_get },
|
{ "visible_get", luaA_widget_visible_get },
|
||||||
|
{ "__index", luaA_widget_index },
|
||||||
{ "__gc", luaA_widget_gc },
|
{ "__gc", luaA_widget_gc },
|
||||||
{ "__eq", luaA_widget_eq },
|
{ "__eq", luaA_widget_eq },
|
||||||
{ "__tostring", luaA_widget_tostring },
|
{ "__tostring", luaA_widget_tostring },
|
||||||
|
|
Loading…
Reference in New Issue