From dc8040ee04ef2819c99d55dc74e9fe56d4ba4d1e Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Mon, 6 Jul 2015 08:03:40 +0000 Subject: MirLua: !api break - scripts will be load after ME_SYSTEM_MODULESLOADED event - removed event functions OnModulesLoaded, OnPreShutdown from m_core - removed OnMsgToolBarLoaded from m_msg_buttonsbar - removed OnTopToolBarLoaded from m_toptoolbar - fixed examples git-svn-id: http://svn.miranda-ng.org/main/trunk@14495 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/MirLua/docs/examples/core.lua | 7 +-- plugins/MirLua/docs/examples/menus.lua | 4 +- plugins/MirLua/docs/examples/msgbuttonsbar.lua | 51 ++++++++--------- plugins/MirLua/docs/examples/popup.lua | 22 ++++---- plugins/MirLua/docs/examples/toptoolbar.lua | 76 ++++++++++++-------------- plugins/MirLua/docs/examples/variables.lua | 4 +- plugins/MirLua/src/m_core.cpp | 42 -------------- plugins/MirLua/src/m_msg_buttonsbar.cpp | 23 +------- plugins/MirLua/src/m_toptoolbar.cpp | 21 ------- plugins/MirLua/src/main.cpp | 10 ++-- plugins/MirLua/src/version.h | 4 +- 11 files changed, 82 insertions(+), 182 deletions(-) (limited to 'plugins') diff --git a/plugins/MirLua/docs/examples/core.lua b/plugins/MirLua/docs/examples/core.lua index e18dc0577a..5e253ea0d2 100644 --- a/plugins/MirLua/docs/examples/core.lua +++ b/plugins/MirLua/docs/examples/core.lua @@ -7,8 +7,5 @@ local icolib = require('m_icolib') -- Add icon for menu items local hRestartIcon = icolib.AddIcon('restartIcon', 'Restart') --- Subscribe to [[Miranda/System/ModulesLoaded]] event -m.OnModulesLoaded(function() - -- Add menu item to main menu that allow to restart Miranda NG - clist.AddMainMenuItem("Restart", 0, 0, hRestartIcon, "Miranda/System/Restart") - end) +-- Add menu item to main menu that allow to restart Miranda NG +clist.AddMainMenuItem("Restart", 0, 0, hRestartIcon, "Miranda/System/Restart") diff --git a/plugins/MirLua/docs/examples/menus.lua b/plugins/MirLua/docs/examples/menus.lua index 52ec8e3173..b3de5e5d64 100644 --- a/plugins/MirLua/docs/examples/menus.lua +++ b/plugins/MirLua/docs/examples/menus.lua @@ -44,12 +44,10 @@ local hMenuItem = clist.AddContactMenuItem(menuItem) genmenu.RemoveMenuItem(hMenuItem) --- Add root menu item -local CMIF_ROOTHANDLE = 384 -local hRoot = clist.AddMainMenuItem({ Name = "Main menu root", Flags = CMIF_ROOTHANDLE }) +local hRoot = clist.AddMainMenuItem({ Name = "Main menu root" }) --- Add child menu item menuItem.Name = "Main menu child wierd" -menuItem.Flags = CMIF_ROOTHANDLE menuItem.Service = 'Srv/SMI' menuItem.Parent = hRoot local hChild = clist.AddMainMenuItem(menuItem) diff --git a/plugins/MirLua/docs/examples/msgbuttonsbar.lua b/plugins/MirLua/docs/examples/msgbuttonsbar.lua index 9eea0e4b6d..d69ee9078a 100644 --- a/plugins/MirLua/docs/examples/msgbuttonsbar.lua +++ b/plugins/MirLua/docs/examples/msgbuttonsbar.lua @@ -3,37 +3,34 @@ local mbb = require('m_msg_buttonsbar') --- include m_icolib module local icolib = require('m_icolib') +local BBBF_ISIMBUTTON = 32 local BBBF_ISLSIDEBUTTON = 64 -m.OnModulesLoaded(function() - local bbButton = - { - -- required fields - Module = "MirLua", - ButtonID = 1, +local bbButton = +{ + -- required fields + Module = "MirLua", + ButtonID = 1, - Flags = BBBF_ISLSIDEBUTTON, - Tooltip = "Msg button", - Icon = icolib.AddIcon('testBBBIcon', 'Lua icon for bbbButton') - } + Flags = BBBF_ISIMBUTTON | BBBF_ISLSIDEBUTTON, + Tooltip = "Msg button", + Icon = icolib.AddIcon('testBBBIcon', 'Lua icon for bbbButton') +} - mbb.OnMsgToolBarLoaded(function() - --- Add button on msg buttons bar - mbb.AddButton(bbButton) +--- Add button on msg buttons bar +mbb.AddButton(bbButton) - --- Create the msg buttons bar button which will be deleted below - mbb.AddButton({ - Module = "MirLua", - ButtonID = 2, - Flags = BBBF_ISLSIDEBUTTON, - Tooltip = "Msg button for deletion" - }) - end) +--- Create the msg buttons bar button which will be deleted below +mbb.AddButton({ + Module = "MirLua", + ButtonID = 2, + Flags = BBBF_ISIMBUTTON | BBBF_ISLSIDEBUTTON, + Tooltip = "Msg button for deletion" + }) - mbb.OnMsgToolBarButtonPressed(function(w, l) - if l.Module == "MirLua" and l.ButtonID == 1 then - --- Remove button from msg buttons bar - mbb.RemoveButton("MirLua", 2) - end - end) +mbb.OnMsgToolBarButtonPressed(function(w, l) + if l.Module == "MirLua" and l.ButtonID == 1 then + --- Remove button from msg buttons bar + mbb.RemoveButton("MirLua", 2) + end end) diff --git a/plugins/MirLua/docs/examples/popup.lua b/plugins/MirLua/docs/examples/popup.lua index 4d48ace8a3..7195962d47 100644 --- a/plugins/MirLua/docs/examples/popup.lua +++ b/plugins/MirLua/docs/examples/popup.lua @@ -4,16 +4,14 @@ local popup = require('m_popup') local clist = require('m_clist') m.CreateServiceFunction('MirLua/ShowPopup', function() - local popupData = - { - Title = 'Title', - Text = 'Popup content', - hContact = 0, - Flags = 1 - } - popup.AddPopup(popupData) - end) - -m.OnModulesLoaded(function() - clist.AddMainMenuItem({ Name = "Show lua popup", Service = 'MirLua/ShowPopup' }) + local popupData = + { + Title = 'Title', + Text = 'Popup content', + hContact = 0, + Flags = 1 + } + popup.AddPopup(popupData) end) + +clist.AddMainMenuItem({ Name = "Show lua popup", Service = 'MirLua/ShowPopup' }) diff --git a/plugins/MirLua/docs/examples/toptoolbar.lua b/plugins/MirLua/docs/examples/toptoolbar.lua index d942927fd5..85a3a3a97b 100644 --- a/plugins/MirLua/docs/examples/toptoolbar.lua +++ b/plugins/MirLua/docs/examples/toptoolbar.lua @@ -5,43 +5,39 @@ local icolib = require('m_icolib') local TTBBF_VISIBLE = tonumber("0002", 16) -m.OnModulesLoaded(function() - ttb.OnTopToolBarLoaded(function() - local ttbButton = - { - -- required field - Name = "MirLua", - - Service = nil, - Flags = TTBBF_VISIBLE, - - IconUp = nil, - TooltipUp = "Up state", - wParamUp = nil, - lParamUp = nil, - - IconDown = nil, - TooltipDown = "Down state", - wParamDown = nil, - lParamDown = nil - } - - --- Add icons for top toolbar - ttbButton.IconUp = icolib.AddIcon('testTTBIconUp', 'Lua icon for ttbButtonUp') - ttbButton.IconDown = icolib.AddIcon('testTTBIconDn', 'Lua icon for ttbButtonUp') - - --- Add button on top toolbar - ttb.Service = "Srv/TTB" - ttb.AddButton(ttbButton) - - --- Create the top toolbar button which will be deleted below - local hTTButton = ttb.AddButton({ - Name = "MirLua", - TooltipUp = "Up state to delete", - TooltipDown = "Down state to delete" - }) - - --- Remove button from top toolbar - ttb.RemoveButton(hTTButton) - end) -end) +local ttbButton = +{ + -- required field + Name = "MirLua", + + Service = nil, + Flags = TTBBF_VISIBLE, + + IconUp = nil, + TooltipUp = "Up state", + wParamUp = nil, + lParamUp = nil, + + IconDown = nil, + TooltipDown = "Down state", + wParamDown = nil, + lParamDown = nil +} + +--- Add icons for top toolbar +ttbButton.IconUp = icolib.AddIcon('testTTBIconUp', 'Lua icon for ttbButtonUp') +ttbButton.IconDown = icolib.AddIcon('testTTBIconDn', 'Lua icon for ttbButtonUp') + +--- Add button on top toolbar +ttb.Service = "Srv/TTB" +ttb.AddButton(ttbButton) + +--- Create the top toolbar button which will be deleted below +local hTTButton = ttb.AddButton({ + Name = "MirLua", + TooltipUp = "Up state to delete", + TooltipDown = "Down state to delete" + }) + +--- Remove button from top toolbar +ttb.RemoveButton(hTTButton) diff --git a/plugins/MirLua/docs/examples/variables.lua b/plugins/MirLua/docs/examples/variables.lua index dee0f4f8e0..422c8b88bb 100644 --- a/plugins/MirLua/docs/examples/variables.lua +++ b/plugins/MirLua/docs/examples/variables.lua @@ -1,5 +1,3 @@ local vars = require('m_variables') -m.OnModulesLoaded(function() - print(vars.FormatString('?add(2,2)')) - end) +print(vars.FormatString('?add(2,2)')) diff --git a/plugins/MirLua/src/m_core.cpp b/plugins/MirLua/src/m_core.cpp index a61ed05431..af33825e13 100644 --- a/plugins/MirLua/src/m_core.cpp +++ b/plugins/MirLua/src/m_core.cpp @@ -127,46 +127,6 @@ static int lua_UnhookEvent(lua_State *L) return 1; } -static int lua_OnModulesLoaded(lua_State *L) -{ - if (!lua_isfunction(L, 1)) - { - lua_pushlightuserdata(L, NULL); - return 1; - } - - lua_pushvalue(L, 1); - int ref = luaL_ref(L, LUA_REGISTRYINDEX); - - HANDLE res = ::HookEventObjParam(ME_SYSTEM_MODULESLOADED, CMLua::HookEventObjParam, L, ref); - lua_pushlightuserdata(L, res); - - Hooks.insert(res); - HookRefs.insert(new HandleRefParam(L, res, ref)); - - return 1; -} - -static int lua_OnPreShutdown(lua_State *L) -{ - if (!lua_isfunction(L, 1)) - { - lua_pushlightuserdata(L, NULL); - return 1; - } - - lua_pushvalue(L, 1); - int ref = luaL_ref(L, LUA_REGISTRYINDEX); - - HANDLE res = ::HookEventObjParam(ME_SYSTEM_PRESHUTDOWN, CMLua::HookEventObjParam, L, ref); - lua_pushlightuserdata(L, res); - - Hooks.insert(res); - HookRefs.insert(new HandleRefParam(L, res, ref)); - - return 1; -} - static INT_PTR ServiceFunctionObjParam(void *obj, WPARAM wParam, LPARAM lParam, LPARAM param) { lua_State *L = (lua_State*)obj; @@ -278,8 +238,6 @@ luaL_Reg coreApi[] = { "HookEvent", lua_HookEvent }, { "UnhookEvent", lua_UnhookEvent }, - { "OnModulesLoaded", lua_OnModulesLoaded }, - { "OnPreShutdown", lua_OnPreShutdown }, { "CreateServiceFunction", lua_CreateServiceFunction }, { "DestroyServiceFunction", lua_DestroyServiceFunction }, diff --git a/plugins/MirLua/src/m_msg_buttonsbar.cpp b/plugins/MirLua/src/m_msg_buttonsbar.cpp index a570fdd620..1789c5bca1 100644 --- a/plugins/MirLua/src/m_msg_buttonsbar.cpp +++ b/plugins/MirLua/src/m_msg_buttonsbar.cpp @@ -84,26 +84,6 @@ static int lua_RemoveButton(lua_State *L) return 1; } -static int lua_OnMsgToolBarLoaded(lua_State *L) -{ - if (!lua_isfunction(L, 1)) - { - lua_pushlightuserdata(L, NULL); - return 1; - } - - lua_pushvalue(L, 1); - int ref = luaL_ref(L, LUA_REGISTRYINDEX); - - HANDLE res = ::HookEventObjParam(ME_MSG_TOOLBARLOADED, CMLua::HookEventObjParam, L, ref); - lua_pushlightuserdata(L, res); - - Hooks.insert(res); - HookRefs.insert(new HandleRefParam(L, res, ref)); - - return 1; -} - int ButtonPressedHookEventObjParam(void *obj, WPARAM wParam, LPARAM lParam, LPARAM param) { lua_State *L = (lua_State*)obj; @@ -162,8 +142,7 @@ static luaL_Reg msgbuttinsbarApi[] = { "AddButton", lua_AddButton }, { "ModifyButton", lua_ModifyButton }, { "RemoveButton", lua_RemoveButton }, - - { "OnMsgToolBarLoaded", lua_OnMsgToolBarLoaded }, + { "OnMsgToolBarButtonPressed", lua_OnMsgToolBarButtonPressed }, { NULL, NULL } diff --git a/plugins/MirLua/src/m_toptoolbar.cpp b/plugins/MirLua/src/m_toptoolbar.cpp index 3e26f962dc..14eb67ae76 100644 --- a/plugins/MirLua/src/m_toptoolbar.cpp +++ b/plugins/MirLua/src/m_toptoolbar.cpp @@ -90,31 +90,10 @@ static int lua_RemoveButton(lua_State *L) return 1; } -static int lua_OnTopToolBarLoaded(lua_State *L) -{ - if (!lua_isfunction(L, 1)) - { - lua_pushlightuserdata(L, NULL); - return 1; - } - - lua_pushvalue(L, 1); - int ref = luaL_ref(L, LUA_REGISTRYINDEX); - - HANDLE res = ::HookEventObjParam(ME_TTB_MODULELOADED, CMLua::HookEventObjParam, L, ref); - lua_pushlightuserdata(L, res); - - Hooks.insert(res); - HookRefs.insert(new HandleRefParam(L, res, ref)); - - return 1; -} - static luaL_Reg toptoolbarApi[] = { { "AddButton", lua_AddButton }, { "RemoveButton", lua_RemoveButton }, - { "OnTopToolBarLoaded", lua_OnTopToolBarLoaded }, { NULL, NULL } }; diff --git a/plugins/MirLua/src/main.cpp b/plugins/MirLua/src/main.cpp index e9bf5fff64..9ac95a6579 100644 --- a/plugins/MirLua/src/main.cpp +++ b/plugins/MirLua/src/main.cpp @@ -42,6 +42,11 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD) int OnModulesLoaded(WPARAM, LPARAM) { + g_hCommonFolderPath = FoldersRegisterCustomPathT("MirLua", Translate("Common scripts folder"), COMMON_SCRIPTS_PATHT); + g_hCustomFolderPath = FoldersRegisterCustomPathT("MirLua", Translate("Custom scripts folder"), CUSTOM_SCRIPTS_PATHT); + + g_mLua = new CMLua(); + HookEvent(ME_OPT_INITIALISE, CLuaOptions::OnOptionsInit); return 0; @@ -53,9 +58,6 @@ extern "C" int __declspec(dllexport) Load(void) HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded); - g_hCommonFolderPath = FoldersRegisterCustomPathT("MirLua", Translate("Common scripts folder"), COMMON_SCRIPTS_PATHT); - g_hCustomFolderPath = FoldersRegisterCustomPathT("MirLua", Translate("Custom scripts folder"), CUSTOM_SCRIPTS_PATHT); - NETLIBUSER nlu = { 0 }; nlu.cbSize = sizeof(nlu); nlu.flags = NUF_OUTGOING | NUF_INCOMING | NUF_HTTPCONNS | NUF_UNICODE; @@ -63,8 +65,6 @@ extern "C" int __declspec(dllexport) Load(void) nlu.szSettingsModule = MODULE; hNetlib = (HANDLE)CallService(MS_NETLIB_REGISTERUSER, 0, (LPARAM)&nlu); - g_mLua = new CMLua(); - return 0; } diff --git a/plugins/MirLua/src/version.h b/plugins/MirLua/src/version.h index e16ba2651e..4a26c2ba41 100644 --- a/plugins/MirLua/src/version.h +++ b/plugins/MirLua/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 0 #define __MINOR_VERSION 11 -#define __RELEASE_NUM 2 -#define __BUILD_NUM 1 +#define __RELEASE_NUM 3 +#define __BUILD_NUM 0 #include -- cgit v1.2.3