Add lua function CCtrlBase::setTooltipUtf8 to set tooltip from html page

This commit is contained in:
Nimetu 2015-11-12 20:15:04 +02:00
parent 6275528276
commit 725b28a8ce
2 changed files with 17 additions and 0 deletions

View file

@ -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

View file

@ -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;
}
}