From d577d991b97ae2b5ee1af23641bcffc3f83af5b2 Mon Sep 17 00:00:00 2001 From: Pixel Date: Wed, 4 Nov 2009 11:56:41 -0800 Subject: Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux. --- iup/srclua5/menu.lua | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 iup/srclua5/menu.lua (limited to 'iup/srclua5/menu.lua') diff --git a/iup/srclua5/menu.lua b/iup/srclua5/menu.lua new file mode 100755 index 0000000..89cd241 --- /dev/null +++ b/iup/srclua5/menu.lua @@ -0,0 +1,55 @@ +------------------------------------------------------------------------------ +-- Menu class +------------------------------------------------------------------------------ +local ctrl = { + nick = "menu", + parent = BOX, + creation = "-", + callback = { + open_cb = "", + menuclose_cb = "", + } +} + +function ctrl.popup(handle, x, y) + Popup(handle, x, y) +end + +function ctrl.append(handle, elem) + Append(handle, elem) +end + +function ctrl.createElement(class, arg) + local n = #arg + for i=1,n do + if type(arg[i]) == "table" then + itemarg = {} + for u,v in pairs(arg[i]) do + if type(u) ~= "number" then + itemarg[u] = v + end + end + if type(arg[i][1]) == "string" and (type(arg[i][2]) == "function" or type(arg[i][2]) == "string") then + itemarg.title = arg[i][1] + itemarg.action = arg[i][2] + arg[i] = item(itemarg) + elseif type(arg[i][1]) == "string" and type(arg[i][2]) == "userdata" then + itemarg[1] = arg[i][2] + itemarg.title = arg[i][1] + arg[i] = submenu(itemarg) + end + end + end + return Menu() +end + +function ctrl.showxy(handle, x, y) + return ShowXY(handle, x, y) +end + +function ctrl.destroy(handle) + return Destroy(handle) +end + +iupRegisterWidget(ctrl) +iupSetClass(ctrl, "iup widget") -- cgit v1.2.3