diff options
author | aunsane <aunsane@gmail.com> | 2017-09-12 22:02:30 +0300 |
---|---|---|
committer | aunsane <aunsane@gmail.com> | 2017-09-12 22:03:37 +0300 |
commit | 6f99f13cf590c323fd5bd5b4d6855e59f582fb0e (patch) | |
tree | 4b9a66758433be8273c7c20e06ab305901b4fdfb /plugins/MirLua/Modules | |
parent | 6611ef6791a897d23cb79ab7b56eb48d49452b80 (diff) |
MirLua: massive refactoring
- m_msg_buttonbar moved to m_srrm
- version bump
Diffstat (limited to 'plugins/MirLua/Modules')
7 files changed, 21 insertions, 203 deletions
diff --git a/plugins/MirLua/Modules/m_enumerable/src/main.cpp b/plugins/MirLua/Modules/m_enumerable/src/main.cpp index b905b18b62..8494c1385a 100644 --- a/plugins/MirLua/Modules/m_enumerable/src/main.cpp +++ b/plugins/MirLua/Modules/m_enumerable/src/main.cpp @@ -429,9 +429,6 @@ extern "C" LUAMOD_API int luaopen_m_enumerable(lua_State *L) { luaL_newlib(L, methods); - lua_pushcfunction(L, lua__new); - lua_setglobal(L, MT_ENUMERABLE); - luaL_newmetatable(L, MT_ENUMERABLE); luaL_setfuncs(L, enumerableMeta, 0); lua_pushvalue(L, -1); @@ -439,5 +436,12 @@ extern "C" LUAMOD_API int luaopen_m_enumerable(lua_State *L) luaL_setfuncs(L, enumerableApi, 0); lua_pop(L, 1); + lua_createtable(L, 0, 1); + lua_pushcfunction(L, lua__new); + lua_setfield(L, -2, "new"); + lua_pushvalue(L, -1); + lua_setglobal(L, MT_ENUMERABLE); + lua_pop(L, 1); + return 1; } diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj b/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj deleted file mode 100644 index 4da3d4da50..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>m_msg_buttonsbar</ProjectName>
- <ProjectGuid>{DCBE5EC2-84B2-4C03-810C-BD13D975D8D9}</ProjectGuid>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets">
- <Import Project="$(ProjectDir)..\module.props" />
- </ImportGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <ExceptionHandling>Sync</ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
-</Project>
diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp b/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp deleted file mode 100644 index d2a35adc46..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#include "stdafx.h"
-
-int hLangpack = 0;
-
-static BBButton* MakeBBButton(lua_State *L)
-{
- BBButton *bbb = (BBButton*)mir_calloc(sizeof(BBButton));
- bbb->dwDefPos = 100;
-
- lua_getfield(L, -1, "Module");
- bbb->pszModuleName = mir_utf8decodeA(luaL_checkstring(L, -1));
- lua_pop(L, 1);
-
- lua_getfield(L, -1, "ButtonID");
- bbb->dwButtonID = luaL_checkinteger(L, -1);
- lua_pop(L, 1);
-
- lua_getfield(L, -1, "Flags");
- bbb->bbbFlags = lua_tointeger(L, -1);
- lua_pop(L, 1);
-
- lua_getfield(L, -1, "Tooltip");
- bbb->pwszTooltip = mir_utf8decodeW(lua_tostring(L, -1));
- lua_pop(L, 1);
-
- lua_getfield(L, -1, "Icon");
- bbb->hIcon = (HANDLE)lua_touserdata(L, -1);
- lua_pop(L, 1);
-
- return bbb;
-}
-
-static int lua_AddButton(lua_State *L)
-{
- if (lua_type(L, 1) != LUA_TTABLE)
- {
- lua_pushlightuserdata(L, 0);
- return 1;
- }
-
- BBButton* bbb = MakeBBButton(L);
-
- INT_PTR res = Srmm_AddButton(bbb);
- lua_pushinteger(L, res);
-
- return 1;
-}
-
-static int lua_ModifyButton(lua_State *L)
-{
- if (lua_type(L, 1) != LUA_TTABLE)
- {
- lua_pushlightuserdata(L, 0);
- return 1;
- }
-
- BBButton* bbb = MakeBBButton(L);
-
- INT_PTR res = Srmm_ModifyButton(bbb);
- lua_pushinteger(L, res);
-
- mir_free((void*)bbb->pszModuleName);
- mir_free((void*)bbb->pwszTooltip);
- mir_free(bbb);
-
- return 1;
-}
-
-static int lua_RemoveButton(lua_State *L)
-{
- ptrA szModuleName(mir_utf8decodeA(luaL_checkstring(L, 1)));
-
- BBButton mbb = {};
- mbb.pszModuleName = szModuleName;
- mbb.dwButtonID = luaL_checkinteger(L, 2);
-
- INT_PTR res = ::Srmm_RemoveButton(&mbb);
- lua_pushinteger(L, res);
-
- return 1;
-}
-
-static luaL_Reg msgbuttinsbarApi[] =
-{
- { "AddButton", lua_AddButton },
- { "ModifyButton", lua_ModifyButton },
- { "RemoveButton", lua_RemoveButton },
-
- { NULL, NULL }
-};
-
-/***********************************************/
-
-#define MT_CUSTOMBUTTONCLICKDATA "CustomButtonClickData"
-
-static int bcd_new(lua_State *L)
-{
- CustomButtonClickData *bcd = (CustomButtonClickData*)lua_touserdata(L, 1);
- if (bcd == NULL)
- {
- lua_pushnil(L);
- return 1;
- }
-
- CustomButtonClickData **udata = (CustomButtonClickData**)lua_newuserdata(L, sizeof(CustomButtonClickData*));
- *udata = bcd;
-
- luaL_setmetatable(L, MT_CUSTOMBUTTONCLICKDATA);
-
- return 1;
-}
-
-static int bcd__index(lua_State *L)
-{
- CustomButtonClickData *bcd = *(CustomButtonClickData**)luaL_checkudata(L, 1, MT_CUSTOMBUTTONCLICKDATA);
- const char *key = lua_tostring(L, 2);
-
- if (mir_strcmpi(key, "Module") == 0)
- lua_pushstring(L, ptrA(mir_utf8encode(bcd->pszModule)));
- else if (mir_strcmpi(key, "ButtonID") == 0)
- lua_pushinteger(L, bcd->dwButtonId);
- else if (mir_strcmpi(key, "hContact") == 0)
- lua_pushinteger(L, bcd->hContact);
- else if (mir_strcmpi(key, "Flags") == 0)
- lua_pushinteger(L, bcd->flags);
- else
- lua_pushnil(L);
-
- return 1;
-}
-
-/***********************************************/
-
-extern "C" LUAMOD_API int luaopen_m_msg_buttonsbar(lua_State *L)
-{
- luaL_newlib(L, msgbuttinsbarApi);
-
- lua_register(L, MT_CUSTOMBUTTONCLICKDATA, bcd_new);
-
- luaL_newmetatable(L, MT_CUSTOMBUTTONCLICKDATA);
- lua_pushcfunction(L, bcd__index);
- lua_setfield(L, -2, "__index");
- lua_pop(L, 1);
-
- return 1;
-}
diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx b/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx deleted file mode 100644 index fd4f341c7b..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx +++ /dev/null @@ -1 +0,0 @@ -#include "stdafx.h" diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h b/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h deleted file mode 100644 index 39dfe8a861..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _COMMON_H_
-#define _COMMON_H_
-
-#include <windows.h>
-
-#include <lua.hpp>
-
-#include <m_core.h>
-#include <m_utils.h>
-#include <m_message.h>
-
-#endif //_COMMON_H_
\ No newline at end of file diff --git a/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp b/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp index af73c963ce..17a8d95b00 100644 --- a/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp +++ b/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp @@ -29,11 +29,11 @@ static TTBButton* MakeTBButton(lua_State *L) lua_pop(L, 1);
lua_getfield(L, -1, "wParamUp");
- tbb->wParamUp = (WPARAM)lua_touserdata(L, -1);
+ tbb->wParamUp = (WPARAM)luaM_tomparam(L, -1);
lua_pop(L, 1);
lua_getfield(L, -1, "lParamUp");
- tbb->lParamUp = (LPARAM)lua_touserdata(L, -1);
+ tbb->lParamUp = (LPARAM)luaM_tomparam(L, -1);
lua_pop(L, 1);
// dn state
@@ -46,11 +46,11 @@ static TTBButton* MakeTBButton(lua_State *L) lua_pop(L, 1);
lua_getfield(L, -1, "wParamDown");
- tbb->wParamDown = (WPARAM)lua_touserdata(L, -1);
+ tbb->wParamDown = (WPARAM)luaM_tomparam(L, -1);
lua_pop(L, 1);
lua_getfield(L, -1, "lParamDown");
- tbb->lParamDown = (LPARAM)lua_touserdata(L, -1);
+ tbb->lParamDown = (LPARAM)luaM_tomparam(L, -1);
lua_pop(L, 1);
return tbb;
@@ -64,9 +64,15 @@ static int lua_AddButton(lua_State *L) return 1;
}
- TTBButton* tbb = MakeTBButton(L);
+ TTBButton *tbb = MakeTBButton(L);
+
+ HANDLE res = TopToolbar_AddButton(tbb);
+ if (res == (HANDLE)-1)
+ {
+ lua_pushnil(L);
+ return 1;
+ }
- HANDLE res = ::TopToolbar_AddButton(tbb);
lua_pushlightuserdata(L, res);
mir_free(tbb->name);
@@ -81,7 +87,7 @@ static int lua_RemoveButton(lua_State *L) {
HANDLE hTTButton = (HANDLE)lua_touserdata(L, 1);
- INT_PTR res = ::CallService(MS_TTB_REMOVEBUTTON, (WPARAM)hTTButton, 0);
+ INT_PTR res = CallService(MS_TTB_REMOVEBUTTON, (WPARAM)hTTButton, 0);
lua_pushinteger(L, res);
return 1;
diff --git a/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h b/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h index d69907bf2c..45e1eea058 100644 --- a/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h +++ b/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h @@ -3,7 +3,7 @@ #include <windows.h>
-#include <lua.hpp>
+#include <mirlua.h>
#include <m_core.h>
#include <m_utils.h>
|