From 725b28a8cea5afe174d1ba5a4408f5ff271bf6ad Mon Sep 17 00:00:00 2001 From: Nimetu Date: Thu, 12 Nov 2015 20:15:04 +0200 Subject: [PATCH] Add lua function CCtrlBase::setTooltipUtf8 to set tooltip from html page --- code/nel/include/nel/gui/ctrl_base.h | 4 ++++ code/nel/src/gui/ctrl_base.cpp | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/code/nel/include/nel/gui/ctrl_base.h b/code/nel/include/nel/gui/ctrl_base.h index 3b522e114..35148b5b0 100644 --- a/code/nel/include/nel/gui/ctrl_base.h +++ b/code/nel/include/nel/gui/ctrl_base.h @@ -151,8 +151,12 @@ namespace NLGUI // called when keyboard capture has been lost virtual void onKeyboardCaptureLost() {} + // 'tooltip' property expects string to be ucstring or latin1 which is not possible from html page + int luaSetTooltipUtf8(CLuaState &ls); + REFLECT_EXPORT_START(CCtrlBase, CViewBase) REFLECT_UCSTRING("tooltip", getDefaultContextHelp, setDefaultContextHelp); + REFLECT_LUA_METHOD("setTooltipUtf8", luaSetTooltipUtf8); REFLECT_EXPORT_END // special for mouse over : return true and fill the name of the cursor to display diff --git a/code/nel/src/gui/ctrl_base.cpp b/code/nel/src/gui/ctrl_base.cpp index 5c250a0da..475761e89 100644 --- a/code/nel/src/gui/ctrl_base.cpp +++ b/code/nel/src/gui/ctrl_base.cpp @@ -19,6 +19,7 @@ #include "libxml/globals.h" #include "nel/misc/debug.h" #include "nel/misc/xml_auto_ptr.h" +#include "nel/gui/lua_ihm.h" #include "nel/gui/ctrl_base.h" #include "nel/gui/interface_group.h" #include "nel/gui/widget_manager.h" @@ -556,5 +557,17 @@ namespace NLGUI return itr2->second; } + // *************************************************************************** + int CCtrlBase::luaSetTooltipUtf8(CLuaState &ls) + { + const char *funcName = "setTooltipUtf8"; + CLuaIHM::checkArgCount(ls, funcName, 1); + CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING); + std::string tooltip = ls.toString(1); + + setDefaultContextHelp(ucstring::makeFromUtf8(tooltip)); + + return 0; + } }