summaryrefslogtreecommitdiff
path: root/plugins/MirLua/Modules
diff options
context:
space:
mode:
authoraunsane <aunsane@gmail.com>2017-09-12 22:02:30 +0300
committeraunsane <aunsane@gmail.com>2017-09-12 22:03:37 +0300
commit6f99f13cf590c323fd5bd5b4d6855e59f582fb0e (patch)
tree4b9a66758433be8273c7c20e06ab305901b4fdfb /plugins/MirLua/Modules
parent6611ef6791a897d23cb79ab7b56eb48d49452b80 (diff)
MirLua: massive refactoring
- m_msg_buttonbar moved to m_srrm - version bump
Diffstat (limited to 'plugins/MirLua/Modules')
-rw-r--r--plugins/MirLua/Modules/m_enumerable/src/main.cpp10
-rw-r--r--plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj33
-rw-r--r--plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp146
-rw-r--r--plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx1
-rw-r--r--plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h12
-rw-r--r--plugins/MirLua/Modules/m_toptoolbar/src/main.cpp20
-rw-r--r--plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h2
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>