summaryrefslogtreecommitdiff
path: root/iup/srclua5/menu.lua
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2009-11-04 11:56:41 -0800
committerPixel <pixel@nobis-crew.org>2009-11-04 11:59:33 -0800
commitd577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch)
tree590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /iup/srclua5/menu.lua
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'iup/srclua5/menu.lua')
-rwxr-xr-xiup/srclua5/menu.lua55
1 files changed, 55 insertions, 0 deletions
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")