diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2015-06-10 21:00:17 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2015-06-10 21:00:17 +0000 |
commit | 031b81f8764de5e566490248dbc4bb466c0b03e9 (patch) | |
tree | b68acf9b7ff269aae2f81ad46ed6c6975414d114 /plugins/MirLua/src/m_genmenu.cpp | |
parent | 02dc801c6e29d5dad184baff51be70a1c8b2b897 (diff) |
MirLua:
- added OnModulesLoaded handler
- added OnPreShutdown handler
- renamed existing modules
- changed modules loading
- chaged examples
git-svn-id: http://svn.miranda-ng.org/main/trunk@14107 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/MirLua/src/m_genmenu.cpp')
-rw-r--r-- | plugins/MirLua/src/m_genmenu.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/plugins/MirLua/src/m_genmenu.cpp b/plugins/MirLua/src/m_genmenu.cpp new file mode 100644 index 0000000000..5a185f64bd --- /dev/null +++ b/plugins/MirLua/src/m_genmenu.cpp @@ -0,0 +1,57 @@ +#include "stdafx.h"
+
+static int lua_AddMainMenuItem(lua_State *L)
+{
+ CLISTMENUITEM mi = { sizeof(mi) };
+ mi.pszName = LPGEN((char*)luaL_checkstring(L, 1));
+ mi.flags = lua_tointeger(L, 2);
+ mi.position = lua_tointeger(L, 3);
+ mi.icolibItem = (HANDLE)lua_touserdata(L, 4);
+ mi.pszService = (char*)lua_tostring(L, 5);
+
+ HGENMENU res = ::Menu_AddMainMenuItem(&mi);
+ lua_pushlightuserdata(L, res);
+
+ return 1;
+}
+
+static int lua_AddContactMenuItem(lua_State *L)
+{
+ CLISTMENUITEM mi = { sizeof(mi) };
+ mi.pszName = LPGEN((char*)luaL_checkstring(L, 1));
+ mi.flags = lua_tointeger(L, 2);
+ mi.position = lua_tointeger(L, 3);
+ mi.icolibItem = (HANDLE)lua_touserdata(L, 4);
+ mi.pszService = (char*)lua_tostring(L, 5);
+
+ HGENMENU res = ::Menu_AddContactMenuItem(&mi);
+ lua_pushlightuserdata(L, res);
+
+ return 1;
+}
+
+static int lua_RemoveMenuItem(lua_State *L)
+{
+ HGENMENU hMenuItem = (HGENMENU)lua_touserdata(L, 1);
+
+ INT_PTR res = ::CallService(MO_REMOVEMENUITEM, (WPARAM)hMenuItem, 0);
+ lua_pushinteger(L, res);
+
+ return 1;
+}
+
+static luaL_Reg genmenuApi[] =
+{
+ { "AddMainMenuItem", lua_AddMainMenuItem },
+ { "AddContactMenuItem", lua_AddContactMenuItem },
+ { "RemoveMenuItem", lua_RemoveMenuItem },
+
+ { NULL, NULL }
+};
+
+LUAMOD_API int luaopen_m_genmenu(lua_State *L)
+{
+ luaL_newlib(L, genmenuApi);
+
+ return 1;
+}
|