Merge with develop
This commit is contained in:
commit
711962de71
17 changed files with 752 additions and 143 deletions
|
@ -9,38 +9,64 @@ MACRO(FIND_CORRECT_LUA_VERSION)
|
|||
IF(LUABIND_LIBRARY_RELEASE MATCHES "\\.so")
|
||||
INCLUDE(CheckDepends)
|
||||
|
||||
SET(LUA52_LIBRARY "liblua5.2")
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA52_LIBRARY LUALIB_FOUND)
|
||||
# check for Lua 5.3
|
||||
SET(LUA53_LIBRARIES liblua5.3 liblua-5.3 liblua.so.5.3)
|
||||
|
||||
FOREACH(_LIB ${LUA53_LIBRARIES})
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA53_LIBRARY LUALIB_FOUND)
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.3")
|
||||
FIND_PACKAGE(Lua53 REQUIRED)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
IF(NOT LUALIB_FOUND)
|
||||
# fedora (v20)
|
||||
SET(LUA52_LIBRARY "liblua-5.2")
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA52_LIBRARY LUALIB_FOUND)
|
||||
ENDIF(NOT LUALIB_FOUND)
|
||||
# check for Lua 5.2
|
||||
SET(LUA52_LIBRARIES liblua5.2 liblua-5.2 liblua.so.5.2)
|
||||
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.2")
|
||||
FIND_PACKAGE(Lua52 REQUIRED)
|
||||
ELSE(LUALIB_FOUND)
|
||||
SET(LUA51_LIBRARY "liblua5.1")
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA51_LIBRARY LUALIB_FOUND)
|
||||
FOREACH(_LIB ${LUA52_LIBRARIES})
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA52_LIBRARY LUALIB_FOUND)
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.2")
|
||||
FIND_PACKAGE(Lua52 REQUIRED)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.1")
|
||||
FIND_PACKAGE(Lua51 REQUIRED)
|
||||
ELSE(LUALIB_FOUND)
|
||||
SET(LUA50_LIBRARY "liblua5.0")
|
||||
IF(NOT LUALIB_FOUND)
|
||||
# check for Lua 5.1
|
||||
SET(LUA51_LIBRARIES liblua5.1 liblua-5.1 liblua.so.5.1)
|
||||
|
||||
FOREACH(_LIB ${LUA51_LIBRARIES})
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA51_LIBRARY LUALIB_FOUND)
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.1")
|
||||
FIND_PACKAGE(Lua51 REQUIRED)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
|
||||
IF(NOT LUALIB_FOUND)
|
||||
# check for Lua 5.0
|
||||
SET(LUA50_LIBRARIES liblua5.0 liblua-5.0 liblua.so.5.0)
|
||||
|
||||
FOREACH(_LIB ${LUA50_LIBRARIES})
|
||||
CHECK_LINKED_LIBRARY(LUABIND_LIBRARY_RELEASE LUA50_LIBRARY LUALIB_FOUND)
|
||||
|
||||
IF(LUALIB_FOUND)
|
||||
MESSAGE(STATUS "Luabind is using Lua 5.0")
|
||||
FIND_PACKAGE(Lua50 REQUIRED)
|
||||
ELSE(LUALIB_FOUND)
|
||||
MESSAGE(FATAL_ERROR "Can't determine Lua version used by Luabind")
|
||||
ENDIF(LUALIB_FOUND)
|
||||
ENDIF(LUALIB_FOUND)
|
||||
ENDIF(LUALIB_FOUND)
|
||||
ELSE(LUABIND_LIBRARY_RELEASE MATCHES "\\.so")
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
|
||||
IF(NOT LUALIB_FOUND)
|
||||
MESSAGE(FATAL_ERROR "Can't determine Lua version used by Luabind")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# TODO: find a way to detect Lua version
|
||||
IF(WITH_LUA53)
|
||||
FIND_PACKAGE(Lua53 REQUIRED)
|
||||
|
|
|
@ -63,6 +63,8 @@ namespace NLGUI
|
|||
uint getTextId(uint i) const;
|
||||
uint getTextPos(uint nId) const;
|
||||
const ucstring &getTexture(uint i) const;
|
||||
void setGrayed(uint i, bool g);
|
||||
const bool getGrayed(uint i) const;
|
||||
void removeText(uint nPos);
|
||||
uint getNumTexts() const {return (uint)_Texts.size();}
|
||||
void sortText();
|
||||
|
@ -132,6 +134,7 @@ namespace NLGUI
|
|||
sint32 _NotLinkedToDBSelection;
|
||||
std::vector<std::pair<uint, ucstring> > _Texts;
|
||||
std::vector<ucstring> _Textures;
|
||||
std::vector<bool> _Grayed;
|
||||
|
||||
// Action Handler called on combo click
|
||||
std::string _AHOnSelectStart;
|
||||
|
|
|
@ -34,6 +34,7 @@ namespace NLGUI
|
|||
class CCtrlButton;
|
||||
class CCtrlScroll;
|
||||
class CGroupList;
|
||||
class CGroupMenu;
|
||||
class CDBGroupComboBox;
|
||||
class CGroupParagraph;
|
||||
|
||||
|
@ -189,6 +190,7 @@ namespace NLGUI
|
|||
std::string DefaultFormTextGroup;
|
||||
std::string DefaultFormTextAreaGroup;
|
||||
std::string DefaultFormSelectGroup;
|
||||
std::string DefaultFormSelectBoxMenuGroup;
|
||||
std::string DefaultCheckBoxBitmapNormal;
|
||||
std::string DefaultCheckBoxBitmapPushed;
|
||||
std::string DefaultCheckBoxBitmapOver;
|
||||
|
@ -345,6 +347,7 @@ namespace NLGUI
|
|||
|
||||
// Add a combo box in the current paragraph
|
||||
CDBGroupComboBox *addComboBox(const std::string &templateName, const char *name);
|
||||
CGroupMenu *addSelectBox(const std::string &templateName, const char *name);
|
||||
|
||||
// Add a button in the current paragraph. actionHandler, actionHandlerParams and tooltip can be NULL.
|
||||
CCtrlButton *addButton(CCtrlButton::EType type, const std::string &name, const std::string &normalBitmap, const std::string &pushedBitmap,
|
||||
|
@ -409,6 +412,10 @@ namespace NLGUI
|
|||
double _TimeoutValue; // the timeout in seconds
|
||||
double _ConnectingTimeout;
|
||||
sint _RedirectsRemaining;
|
||||
// Automatic page refresh
|
||||
double _LastRefreshTime;
|
||||
double _NextRefreshTime;
|
||||
std::string _RefreshUrl;
|
||||
|
||||
// minimal embeded lua script support
|
||||
// Note : any embeded script is executed immediately after the closing
|
||||
|
@ -626,6 +633,10 @@ namespace NLGUI
|
|||
TextArea = NULL;
|
||||
Checkbox = NULL;
|
||||
ComboBox = NULL;
|
||||
SelectBox = NULL;
|
||||
sbRBRef = NULL;
|
||||
sbMultiple = false;
|
||||
sbOptionDisabled = -1;
|
||||
InitialSelection = 0;
|
||||
}
|
||||
|
||||
|
@ -644,6 +655,19 @@ namespace NLGUI
|
|||
// Combobox group
|
||||
CDBGroupComboBox *ComboBox;
|
||||
|
||||
// Combobox with multiple selection or display size >= 2
|
||||
CGroupMenu *SelectBox;
|
||||
|
||||
// Single or multiple selections for SelectBox
|
||||
bool sbMultiple;
|
||||
|
||||
// Marks OPTION element as disabled
|
||||
// Only valid when parsing html
|
||||
sint sbOptionDisabled;
|
||||
|
||||
// First radio button in SelectBox if single selection
|
||||
CCtrlBaseButton *sbRBRef;
|
||||
|
||||
// select values (for the <select> tag)
|
||||
std::vector<std::string> SelectValues;
|
||||
sint InitialSelection; // initial selection for the combo box
|
||||
|
|
|
@ -346,6 +346,7 @@ namespace NLGUI
|
|||
|
||||
// set the minW of the RootMenu.
|
||||
void setMinW(sint32 minW);
|
||||
void setMinH(sint32 minH);
|
||||
|
||||
// Gray a line on the RootMenu
|
||||
void setGrayedLine(uint line, bool g);
|
||||
|
|
|
@ -262,6 +262,7 @@ namespace NLGUI
|
|||
dirt();
|
||||
_Texts.clear();
|
||||
_Textures.clear();
|
||||
_Grayed.clear();
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -270,6 +271,7 @@ namespace NLGUI
|
|||
dirt();
|
||||
_Texts.push_back(make_pair((uint)_Texts.size(), text));
|
||||
_Textures.push_back(std::string());
|
||||
_Grayed.push_back(false);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -292,9 +294,11 @@ namespace NLGUI
|
|||
{
|
||||
_Texts[t+1] = _Texts[t];
|
||||
_Textures[t+1] = _Textures[t];
|
||||
_Grayed[t+1] = _Grayed[t];
|
||||
}
|
||||
_Texts[i] = make_pair(i, text);
|
||||
_Textures[i] = std::string();
|
||||
_Grayed[i] = false;
|
||||
}
|
||||
else if(i==_Texts.size())
|
||||
addText(text);
|
||||
|
@ -308,6 +312,24 @@ namespace NLGUI
|
|||
_Textures[i]= texture;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
void CDBGroupComboBox::setGrayed(uint i, bool g)
|
||||
{
|
||||
dirt();
|
||||
if(i<_Grayed.size())
|
||||
_Grayed[i] = g;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
const bool CDBGroupComboBox::getGrayed(uint i) const
|
||||
{
|
||||
if(i<_Grayed.size())
|
||||
return _Grayed[i];
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
void CDBGroupComboBox::removeText(uint nPos)
|
||||
{
|
||||
|
@ -316,6 +338,7 @@ namespace NLGUI
|
|||
{
|
||||
_Texts.erase( _Texts.begin()+nPos );
|
||||
_Textures.erase( _Textures.begin()+nPos );
|
||||
_Grayed.erase ( _Grayed.begin()+nPos );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -365,7 +388,6 @@ namespace NLGUI
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
void CDBGroupComboBox::setSelection(sint32 val)
|
||||
{
|
||||
|
@ -619,6 +641,7 @@ namespace NLGUI
|
|||
}
|
||||
groupMenu->addLine(getText(i), "combo_box_select_end", toString(i),
|
||||
"", std::string(), getTexture(i).toString(), checkable);
|
||||
groupMenu->setGrayedLine(i, getGrayed(i));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "nel/gui/libwww.h"
|
||||
#include "nel/gui/group_html.h"
|
||||
#include "nel/gui/group_list.h"
|
||||
#include "nel/gui/group_menu.h"
|
||||
#include "nel/gui/group_container.h"
|
||||
#include "nel/gui/view_link.h"
|
||||
#include "nel/gui/ctrl_scroll.h"
|
||||
|
@ -1137,6 +1138,40 @@ namespace NLGUI
|
|||
}
|
||||
}
|
||||
break;
|
||||
case HTML_META:
|
||||
if (_ReadingHeadTag)
|
||||
{
|
||||
bool httpEquiv = present[HTML_META_HTTP_EQUIV] && value[HTML_META_HTTP_EQUIV];
|
||||
bool httpContent = present[HTML_META_CONTENT] && value[HTML_META_CONTENT];
|
||||
if (httpEquiv && httpContent)
|
||||
{
|
||||
// only first http-equiv="refresh" should be handled
|
||||
if (_RefreshUrl.empty() && toLower(value[HTML_META_HTTP_EQUIV]) == "refresh")
|
||||
{
|
||||
const CWidgetManager::SInterfaceTimes × = CWidgetManager::getInstance()->getInterfaceTimes();
|
||||
double timeSec = times.thisFrameMs / 1000.0f;
|
||||
string content(value[HTML_META_CONTENT]);
|
||||
|
||||
string::size_type pos = content.find_first_of(";");
|
||||
if (pos == string::npos)
|
||||
{
|
||||
fromString(content, _NextRefreshTime);
|
||||
_RefreshUrl = _URL;
|
||||
}
|
||||
else
|
||||
{
|
||||
fromString(content.substr(0, pos), _NextRefreshTime);
|
||||
|
||||
pos = toLower(content).find("url=");
|
||||
if (pos != string::npos)
|
||||
_RefreshUrl = content.substr(pos + 4);
|
||||
}
|
||||
|
||||
_NextRefreshTime += timeSec;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HTML_A:
|
||||
{
|
||||
CStyleParams style;
|
||||
|
@ -1691,15 +1726,50 @@ namespace NLGUI
|
|||
case HTML_SELECT:
|
||||
if (!(_Forms.empty()))
|
||||
{
|
||||
CStyleParams style;
|
||||
|
||||
// A select box
|
||||
string name;
|
||||
bool multiple = false;
|
||||
sint32 size = 0;
|
||||
|
||||
if (present[HTML_SELECT_NAME] && value[HTML_SELECT_NAME])
|
||||
name = value[HTML_SELECT_NAME];
|
||||
if (present[HTML_SELECT_SIZE] && value[HTML_SELECT_SIZE])
|
||||
fromString(value[HTML_SELECT_SIZE], size);
|
||||
if (present[HTML_SELECT_MULTIPLE] && value[HTML_SELECT_MULTIPLE])
|
||||
multiple = true;
|
||||
if (present[HTML_SELECT_STYLE] && value[HTML_SELECT_STYLE])
|
||||
getStyleParams(value[HTML_SELECT_STYLE], style);
|
||||
|
||||
CDBGroupComboBox *cb = addComboBox(DefaultFormSelectGroup, name.c_str());
|
||||
CGroupHTML::CForm::CEntry entry;
|
||||
entry.Name = name;
|
||||
entry.ComboBox = cb;
|
||||
entry.sbMultiple = multiple;
|
||||
if (size > 1 || multiple)
|
||||
{
|
||||
entry.InitialSelection = -1;
|
||||
CGroupMenu *sb = addSelectBox(DefaultFormSelectBoxMenuGroup, name.c_str());
|
||||
if (sb)
|
||||
{
|
||||
if (size < 1)
|
||||
size = 4;
|
||||
|
||||
if (style.Width > -1)
|
||||
sb->setMinW(style.Width);
|
||||
|
||||
if (style.Height > -1)
|
||||
sb->setMinH(style.Height);
|
||||
|
||||
sb->setMaxVisibleLine(size);
|
||||
}
|
||||
|
||||
entry.SelectBox = sb;
|
||||
}
|
||||
else
|
||||
{
|
||||
CDBGroupComboBox *cb = addComboBox(DefaultFormSelectGroup, name.c_str());
|
||||
entry.ComboBox = cb;
|
||||
}
|
||||
_Forms.back().Entries.push_back (entry);
|
||||
}
|
||||
break;
|
||||
|
@ -1713,17 +1783,14 @@ namespace NLGUI
|
|||
_SelectOptionStr.clear();
|
||||
|
||||
std::string optionValue;
|
||||
bool selected = false;
|
||||
if (present[HTML_OPTION_VALUE] && value[HTML_OPTION_VALUE])
|
||||
optionValue = value[HTML_OPTION_VALUE];
|
||||
if (present[HTML_OPTION_SELECTED] && value[HTML_OPTION_SELECTED])
|
||||
selected = nlstricmp(value[HTML_OPTION_SELECTED], "selected") == 0;
|
||||
_Forms.back().Entries.back().SelectValues.push_back(optionValue);
|
||||
if (selected)
|
||||
{
|
||||
_Forms.back().Entries.back().InitialSelection = (sint)_Forms.back().Entries.back().SelectValues.size() - 1;
|
||||
}
|
||||
|
||||
if (present[HTML_OPTION_SELECTED])
|
||||
_Forms.back().Entries.back().InitialSelection = (sint)_Forms.back().Entries.back().SelectValues.size() - 1;
|
||||
if (present[HTML_OPTION_DISABLED])
|
||||
_Forms.back().Entries.back().sbOptionDisabled = (sint)_Forms.back().Entries.back().SelectValues.size() - 1;
|
||||
}
|
||||
}
|
||||
_SelectOption = true;
|
||||
|
@ -2242,7 +2309,65 @@ namespace NLGUI
|
|||
CDBGroupComboBox *cb = _Forms.back().Entries.back().ComboBox;
|
||||
if (cb)
|
||||
{
|
||||
uint lineIndex = cb->getNumTexts();
|
||||
cb->addText(_SelectOptionStr);
|
||||
if (_Forms.back().Entries.back().sbOptionDisabled == lineIndex)
|
||||
{
|
||||
cb->setGrayed(lineIndex, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CGroupMenu *sb = _Forms.back().Entries.back().SelectBox;
|
||||
if (sb)
|
||||
{
|
||||
uint lineIndex = sb->getNumLine();
|
||||
sb->addLine(_SelectOptionStr, "", "");
|
||||
|
||||
if (_Forms.back().Entries.back().sbOptionDisabled == lineIndex)
|
||||
{
|
||||
sb->setGrayedLine(lineIndex, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// create option line checkbox, CGroupMenu is taking ownership of the checbox
|
||||
CInterfaceGroup *ig = CWidgetManager::getInstance()->getParser()->createGroupInstance("menu_checkbox", "", NULL, 0);
|
||||
if (ig)
|
||||
{
|
||||
CCtrlButton *cb = dynamic_cast<CCtrlButton *>(ig->getCtrl("b"));
|
||||
if (cb)
|
||||
{
|
||||
if (_Forms.back().Entries.back().sbMultiple)
|
||||
{
|
||||
cb->setType(CCtrlButton::ToggleButton);
|
||||
cb->setTexture(DefaultCheckBoxBitmapNormal);
|
||||
cb->setTexturePushed(DefaultCheckBoxBitmapPushed);
|
||||
cb->setTextureOver(DefaultCheckBoxBitmapOver);
|
||||
}
|
||||
else
|
||||
{
|
||||
cb->setType(CCtrlButton::RadioButton);
|
||||
cb->setTexture(DefaultRadioButtonBitmapNormal);
|
||||
cb->setTexturePushed(DefaultRadioButtonBitmapPushed);
|
||||
cb->setTextureOver(DefaultRadioButtonBitmapOver);
|
||||
|
||||
if (_Forms.back().Entries.back().sbRBRef == NULL)
|
||||
_Forms.back().Entries.back().sbRBRef = cb;
|
||||
|
||||
cb->initRBRefFromRadioButton(_Forms.back().Entries.back().sbRBRef);
|
||||
}
|
||||
|
||||
cb->setPushed(_Forms.back().Entries.back().InitialSelection == lineIndex);
|
||||
sb->setUserGroupLeft(lineIndex, ig);
|
||||
}
|
||||
else
|
||||
{
|
||||
nlwarning("Failed to get 'b' element from 'menu_checkbox' template");
|
||||
delete ig;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -2422,6 +2547,9 @@ namespace NLGUI
|
|||
_GroupListAdaptor = NULL;
|
||||
_DocumentUrl = "";
|
||||
_UrlFragment.clear();
|
||||
_RefreshUrl.clear();
|
||||
_NextRefreshTime = 0.0;
|
||||
_LastRefreshTime = 0.0;
|
||||
|
||||
// Register
|
||||
CWidgetManager::getInstance()->registerClockMsgTarget(this);
|
||||
|
@ -2464,6 +2592,7 @@ namespace NLGUI
|
|||
DefaultFormTextGroup = "edit_box_widget";
|
||||
DefaultFormTextAreaGroup = "edit_box_widget_multiline";
|
||||
DefaultFormSelectGroup = "html_form_select_widget";
|
||||
DefaultFormSelectBoxMenuGroup = "html_form_select_box_menu_widget";
|
||||
DefaultCheckBoxBitmapNormal = "checkbox_normal.tga";
|
||||
DefaultCheckBoxBitmapPushed = "checkbox_pushed.tga";
|
||||
DefaultCheckBoxBitmapOver = "checkbox_over.tga";
|
||||
|
@ -3403,7 +3532,34 @@ namespace NLGUI
|
|||
|
||||
bool CGroupHTML::handleEvent (const NLGUI::CEventDescriptor& eventDesc)
|
||||
{
|
||||
bool traited = CGroupScrollText::handleEvent (eventDesc);
|
||||
bool traited = false;
|
||||
|
||||
if (eventDesc.getType() == NLGUI::CEventDescriptor::mouse)
|
||||
{
|
||||
const NLGUI::CEventDescriptorMouse &mouseEvent = (const NLGUI::CEventDescriptorMouse &)eventDesc;
|
||||
if (mouseEvent.getEventTypeExtended() == NLGUI::CEventDescriptorMouse::mousewheel)
|
||||
{
|
||||
// Check if mouse wheel event was on any of multiline select box widgets
|
||||
// Must do this before CGroupScrollText
|
||||
for (uint i=0; i<_Forms.size() && !traited; i++)
|
||||
{
|
||||
for (uint j=0; j<_Forms[i].Entries.size() && !traited; j++)
|
||||
{
|
||||
if (_Forms[i].Entries[j].SelectBox)
|
||||
{
|
||||
if (_Forms[i].Entries[j].SelectBox->handleEvent(eventDesc))
|
||||
{
|
||||
traited = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!traited)
|
||||
traited = CGroupScrollText::handleEvent (eventDesc);
|
||||
|
||||
if (eventDesc.getType() == NLGUI::CEventDescriptor::system)
|
||||
{
|
||||
|
@ -3413,8 +3569,15 @@ namespace NLGUI
|
|||
// Handle now
|
||||
handle ();
|
||||
}
|
||||
if (systemEvent.getEventTypeExtended() == NLGUI::CEventDescriptorSystem::activecalledonparent)
|
||||
{
|
||||
if (!((NLGUI::CEventDescriptorActiveCalledOnParent &) systemEvent).getActive())
|
||||
{
|
||||
// stop refresh when window gets hidden
|
||||
_NextRefreshTime = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return traited;
|
||||
}
|
||||
|
||||
|
@ -3550,6 +3713,7 @@ namespace NLGUI
|
|||
CViewText *viewText = new CViewText ("", (string("Error : ")+msg).c_str());
|
||||
viewText->setColor (ErrorColor);
|
||||
viewText->setModulateGlobalColor(ErrorColorGlobalColor);
|
||||
viewText->setMultiLine (true);
|
||||
getParagraph()->addChild (viewText);
|
||||
if(!_TitlePrefix.empty())
|
||||
setTitle (_TitlePrefix);
|
||||
|
@ -3985,6 +4149,45 @@ namespace NLGUI
|
|||
return NULL;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
CGroupMenu *CGroupHTML::addSelectBox(const std::string &templateName, const char *name)
|
||||
{
|
||||
// In a paragraph ?
|
||||
if (!_Paragraph)
|
||||
{
|
||||
newParagraph (0);
|
||||
paragraphChange ();
|
||||
}
|
||||
|
||||
// Not added ?
|
||||
std::vector<std::pair<std::string,std::string> > templateParams;
|
||||
templateParams.push_back(std::pair<std::string,std::string> ("id", name));
|
||||
CInterfaceGroup *group = CWidgetManager::getInstance()->getParser()->createGroupInstance(templateName.c_str(),
|
||||
getParagraph()->getId(), &(templateParams[0]), (uint)templateParams.size());
|
||||
|
||||
// Group created ?
|
||||
if (group)
|
||||
{
|
||||
// Set the content
|
||||
CGroupMenu *sb = dynamic_cast<CGroupMenu *>(group);
|
||||
if (!sb)
|
||||
{
|
||||
nlwarning("'%s' template has bad type, CGroupMenu expected", templateName.c_str());
|
||||
delete sb;
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
getParagraph()->addChild (sb);
|
||||
paragraphChange ();
|
||||
return sb;
|
||||
}
|
||||
}
|
||||
|
||||
// No group created
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
CCtrlButton *CGroupHTML::addButton(CCtrlButton::EType type, const std::string &/* name */, const std::string &normalBitmap, const std::string &pushedBitmap,
|
||||
|
@ -4409,6 +4612,21 @@ namespace NLGUI
|
|||
// handle curl downloads
|
||||
checkDownloads();
|
||||
|
||||
// handle refresh timer
|
||||
if (_NextRefreshTime > 0 && _NextRefreshTime <= (times.thisFrameMs / 1000.0f) )
|
||||
{
|
||||
// there might be valid uses for 0sec refresh, but two in a row is probably a mistake
|
||||
if (_NextRefreshTime - _LastRefreshTime >= 1.0)
|
||||
{
|
||||
_LastRefreshTime = _NextRefreshTime;
|
||||
doBrowse(_RefreshUrl.c_str());
|
||||
}
|
||||
else
|
||||
nlwarning("Ignore second 0sec http-equiv refresh in a row (url '%s')", _URL.c_str());
|
||||
|
||||
_NextRefreshTime = 0;
|
||||
}
|
||||
|
||||
if (_Connecting)
|
||||
{
|
||||
// Check timeout if needed
|
||||
|
@ -4523,6 +4741,24 @@ namespace NLGUI
|
|||
entryData.fromUtf8(form.Entries[i].SelectValues[cb->getSelection()]);
|
||||
addEntry = true;
|
||||
}
|
||||
else if (form.Entries[i].SelectBox)
|
||||
{
|
||||
CGroupMenu *sb = form.Entries[i].SelectBox;
|
||||
CGroupSubMenu *rootMenu = sb->getRootMenu();
|
||||
if (rootMenu)
|
||||
{
|
||||
for(uint j=0; j<rootMenu->getNumLine(); ++j)
|
||||
{
|
||||
CInterfaceGroup *ig = rootMenu->getUserGroupLeft(j);
|
||||
if (ig)
|
||||
{
|
||||
CCtrlBaseButton *cb = dynamic_cast<CCtrlBaseButton *>(ig->getCtrl("b"));
|
||||
if (cb && cb->getPushed())
|
||||
formfields.add(form.Entries[i].Name, form.Entries[i].SelectValues[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// This is a hidden value
|
||||
else
|
||||
{
|
||||
|
@ -4782,6 +5018,8 @@ namespace NLGUI
|
|||
//
|
||||
_Browsing = true;
|
||||
_DocumentUrl = _URL;
|
||||
_NextRefreshTime = 0;
|
||||
_RefreshUrl.clear();
|
||||
|
||||
// clear content
|
||||
beginBuild();
|
||||
|
@ -5679,5 +5917,6 @@ namespace NLGUI
|
|||
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2496,6 +2496,17 @@ namespace NLGUI
|
|||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void CGroupMenu::setMinH(sint32 minH)
|
||||
{
|
||||
if ( _RootMenu )
|
||||
{
|
||||
_RootMenu->_GroupList->setMinH(minH-_RootMenu->getResizeFromChildHMargin());
|
||||
_RootMenu->_GroupList->setH(minH-_RootMenu->getResizeFromChildHMargin());
|
||||
_RootMenu->setH(minH-_RootMenu->getResizeFromChildHMargin());
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void CGroupMenu::setGrayedLine(uint line, bool g)
|
||||
{
|
||||
|
|
|
@ -1314,6 +1314,188 @@
|
|||
params="value=add(@UI:PHRASE:SELECT_MEMORY,-1)" />
|
||||
</group>
|
||||
<tree node="gestionsets" />
|
||||
|
||||
<!-- second hands bar -->
|
||||
<define id="gestionsets_h" value="1" />
|
||||
<define id="gestionsets_v" value="2" />
|
||||
|
||||
<variable entry="UI:SAVE:GESTIONSETS2_MODE" type="sint32" value="0" />
|
||||
|
||||
<proc id="gestionsets2_proc_active">
|
||||
<action handler="set" params="dblink=UI:VARIABLES:ISACTIVE:SETS2|value=1"/>
|
||||
<action handler="proc" params="gestionsets2_proc_mode" />
|
||||
</proc>
|
||||
|
||||
<proc id="gestionsets2_proc_set">
|
||||
<action handler="set" params="dblink=UI:SAVE:GESTIONSETS2_MODE|value=@0"/>
|
||||
<action handler="proc" params="gestionsets2_proc_mode" />
|
||||
</proc>
|
||||
|
||||
<proc id="gestionsets2_proc_mode">
|
||||
<action handler="proc" cond="eq(@UI:SAVE:GESTIONSETS2_MODE,%gestionsets_h)" params="gestionsets2_proc_horiz"/>
|
||||
<action handler="proc" cond="ne(@UI:SAVE:GESTIONSETS2_MODE,%gestionsets_h)" params="gestionsets2_proc_vert"/>
|
||||
</proc>
|
||||
|
||||
<proc id="gestionsets2_proc_vert">
|
||||
<action handler="set" params="target='ui:interface:gestionsets2_menu:horiz:active'|value=1"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2_menu:vert:active'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:w'|value=68"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:h'|value=300"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:select_memory:active'|value=1"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:select_memory_h:active'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:w'|value=68"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:h'|value=300"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:w'|value=68"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:h'|value=300"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s0:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s0:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s1:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s1:y'|value=-28"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s2:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s2:y'|value=-56"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s3:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s3:y'|value=-84"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s4:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s4:y'|value=-112"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s5:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s5:y'|value=-140"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s6:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s6:y'|value=-168"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s7:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s7:y'|value=-196"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s8:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s8:y'|value=-224"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s9:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s9:y'|value=-252"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s10:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s10:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s11:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s11:y'|value=-28"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s12:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s12:y'|value=-56"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s13:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s13:y'|value=-84"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s14:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s14:y'|value=-112"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s15:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s15:y'|value=-140"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s16:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s16:y'|value=-168"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s17:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s17:y'|value=-196"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s18:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s18:y'|value=-224"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s19:x'|value=26"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s19:y'|value=-252"/>
|
||||
</proc>
|
||||
|
||||
<proc id="gestionsets2_proc_horiz">
|
||||
<action handler="set" params="target='ui:interface:gestionsets2_menu:horiz:active'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2_menu:vert:active'|value=1"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:w'|value=315"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:h'|value=52"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:select_memory:active'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:select_memory_h:active'|value=1"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:w'|value=315"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:h'|value=52"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:w'|value=315"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:h'|value=52"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s0:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s0:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s1:x'|value=28"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s1:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s2:x'|value=56"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s2:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s3:x'|value=84"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s3:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s4:x'|value=112"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s4:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s5:x'|value=140"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s5:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s6:x'|value=168"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s6:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s7:x'|value=196"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s7:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s8:x'|value=224"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s8:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s9:x'|value=252"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s9:y'|value=0"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s10:x'|value=0"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s10:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s11:x'|value=28"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s11:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s12:x'|value=56"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s12:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s13:x'|value=84"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s13:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s14:x'|value=112"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s14:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s15:x'|value=140"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s15:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s16:x'|value=168"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s16:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s17:x'|value=196"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s17:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s18:x'|value=224"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s18:y'|value=-26"/>
|
||||
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s19:x'|value=252"/>
|
||||
<action handler="set" params="target='ui:interface:gestionsets2:header_closed:shortcuts:s19:y'|value=-26"/>
|
||||
</proc>
|
||||
|
||||
<group type="menu" id="gestionsets2_menu" extends="base_menu_with_color">
|
||||
<action id="horiz" name="uiHorizontal" handler="proc" params="gestionsets2_proc_set|%gestionsets_h"/>
|
||||
<action id="vert" name="uiVertical" handler="proc" params="gestionsets2_proc_set|%gestionsets_v"/>
|
||||
<separator />
|
||||
</group>
|
||||
|
||||
<group type="container"
|
||||
id="gestionsets2"
|
||||
w="68"
|
||||
|
@ -1322,7 +1504,7 @@
|
|||
header_active="false"
|
||||
right_button="false"
|
||||
group_onclick_r="active_menu"
|
||||
group_params_r="menu=ui:interface:base_menu_with_color"
|
||||
group_params_r="menu=ui:interface:gestionsets2_menu"
|
||||
movable="true"
|
||||
active="true"
|
||||
opened="false"
|
||||
|
@ -1330,8 +1512,8 @@
|
|||
global_color="false"
|
||||
header_color="UI:SAVE:WIN:COLORS:INV"
|
||||
locked="true"
|
||||
on_active="set"
|
||||
on_active_params="dblink=UI:VARIABLES:ISACTIVE:SETS2|value=1"
|
||||
on_active="proc"
|
||||
on_active_params="gestionsets2_proc_active"
|
||||
on_deactive="set"
|
||||
on_deactive_params="dblink=UI:VARIABLES:ISACTIVE:SETS2|value=0"
|
||||
help_page="interf_action_bar.html">
|
||||
|
@ -1501,9 +1683,66 @@
|
|||
tooltip="uittHandSet"
|
||||
tooltip_parent="win" />
|
||||
</group>
|
||||
<group type="select_number"
|
||||
id="select_memory_h"
|
||||
value="UI:PHRASE:SELECT_MEMORY_2"
|
||||
loop="true"
|
||||
min="1"
|
||||
max="10"
|
||||
x="0"
|
||||
y="0"
|
||||
w="300"
|
||||
h="52"
|
||||
active="false"
|
||||
posparent="shortcuts"
|
||||
posref="MM MM"
|
||||
delta="1">
|
||||
<view type="bitmap"
|
||||
id="slot_number"
|
||||
posref="MR MR"
|
||||
texture="W_slot_number.tga" />
|
||||
<view type="text"
|
||||
id="number"
|
||||
posparent="slot_number"
|
||||
posref="MM MM"
|
||||
x="0"
|
||||
y="0"
|
||||
color="255 255 255 255"
|
||||
fontsize="12"
|
||||
shadow="true"
|
||||
hardtext="0"
|
||||
global_color="false" />
|
||||
<ctrl type="button"
|
||||
id="arrow_up"
|
||||
button_type="push_button"
|
||||
posref="TM BM"
|
||||
posparent="slot_number"
|
||||
x="0"
|
||||
y="0"
|
||||
tx_normal="W_arrow_up_1.tga"
|
||||
tx_pushed="W_arrow_up_1.tga"
|
||||
tx_over="W_button_12_over.tga"
|
||||
tooltip="uittHandSet"
|
||||
tooltip_parent="win" />
|
||||
<ctrl type="button"
|
||||
id="arrow_down"
|
||||
button_type="push_button"
|
||||
posref="BM TM"
|
||||
posparent="slot_number"
|
||||
x="0"
|
||||
y="0"
|
||||
tx_normal="W_arrow_down_1.tga"
|
||||
tx_pushed="W_arrow_down_1.tga"
|
||||
tx_over="W_button_12_over.tga"
|
||||
tooltip="uittHandSet"
|
||||
tooltip_parent="win" />
|
||||
</group>
|
||||
<link expr="@UI:PHRASE:SELECT_MEMORY_2"
|
||||
action="phrase_select_memory_2"
|
||||
params="value=add(@UI:PHRASE:SELECT_MEMORY_2,-1)" />
|
||||
<link expr="depends(@UI:SAVE:GESTIONSETS2_MODE)"
|
||||
action="proc"
|
||||
params="gestionsets_proc_mode" />
|
||||
</group>
|
||||
<tree node="gestionsets2" />
|
||||
<!-- hands -->
|
||||
|
|
|
@ -978,4 +978,23 @@
|
|||
</group>
|
||||
</template>
|
||||
|
||||
<template name="html_form_select_box_menu_widget"
|
||||
keep="true"
|
||||
id="sb">
|
||||
<group type="menu"
|
||||
id="#id"
|
||||
posref="BL TL"
|
||||
x="0"
|
||||
y="0"
|
||||
mouse_pos="false"
|
||||
space="2"
|
||||
shadow="false"
|
||||
color="255 255 255 128"
|
||||
color_over="255 255 255 255"
|
||||
color_grayed="0 0 0 255"
|
||||
fontsize="12"
|
||||
highlight_over="255 255 255 128"
|
||||
force_inside_screen="false"></group>
|
||||
</template>
|
||||
|
||||
</interface_config>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
fyrosGivenNames = {"Abyan", "Abybus", "Abycaan", "Abycabus", "Abycacaon", "Abycacus", "Abycadix", "Abycadon", "Abycados", "Abycaion"
|
||||
fyrosLastNames = {"Abyan", "Abybus", "Abycaan", "Abycabus", "Abycacaon", "Abycacus", "Abycadix", "Abycadon", "Abycados", "Abycaion"
|
||||
, "Abycakos", "Abycala", "Abycalaus", "Abycalion", "Abycallo", "Abycalus", "Abycamus", "Abycan", "Abycanix", "Abycaon", "Abycaps"
|
||||
, "Abycarius", "Abycaron", "Abycaros", "Abycarus", "Abycaseus", "Abycasse", "Abycatheus", "Abycathus", "Abycatis", "Abycaton", "Abycaxius"
|
||||
, "Abycus", "Abydix", "Abydon", "Abydos", "Abygrian", "Abygribus", "Abygricaon", "Abygricus", "Abygridix", "Abygridon", "Abygridos"
|
||||
|
@ -286,7 +286,7 @@ fyrosGivenNames = {"Abyan", "Abybus", "Abycaan", "Abycabus", "Abycacaon", "Abyca
|
|||
, "Zenathus", "Zenatis", "Zenaton", "Zenaxius", "Zenbus", "Zencaon", "Zencus", "Zendix", "Zendon", "Zendos", "Zenion", "Zenix", "Zenkos", "Zenla", "Zenlaus", "Zenlion", "Zenllo", "Zenlus", "Zenmus", "Zenn", "Zennix", "Zenps", "Zenrius", "Zenron", "Zenros", "Zenrus", "Zenseus", "Zensse", "Zentheus"
|
||||
, "Zenthus", "Zentis", "Zenton", "Zenxius", "Zeperian", "Zeperibus", "Zepericaon", "Zepericus", "Zeperidix", "Zeperidon", "Zeperidos", "Zeperiion", "Zeperikos", "Zeperila", "Zeperilaus", "Zeperilion", "Zeperillo", "Zeperilus", "Zeperimus", "Zeperin", "Zeperinix", "Zeperips", "Zeperirius", "Zeperiron", "Zeperiros", "Zeperirus", "Zeperiseus", "Zeperisse", "Zeperitheus", "Zeperithus", "Zeperitis", "Zeperiton", "Zeperixius", "Zephaan", "Zephabus", "Zephacaon", "Zephacus", "Zephadix", "Zephadon", "Zephados", "Zephaion", "Zephakos", "Zephala", "Zephalaus", "Zephalion", "Zephallo", "Zephalus", "Zephamus", "Zephan", "Zephanix", "Zephaps", "Zepharius", "Zepharon", "Zepharos", "Zepharus", "Zephaseus", "Zephasse", "Zephatheus", "Zephathus", "Zephatis", "Zephaton", "Zephaxius", "Zephoan", "Zephobus", "Zephocaon", "Zephocus", "Zephodix", "Zephodon", "Zephodos", "Zephoion", "Zephokos", "Zephola", "Zepholaus", "Zepholion", "Zephollo", "Zepholus", "Zephomus", "Zephon", "Zephonix", "Zephops", "Zephorius", "Zephoron", "Zephoros", "Zephorus", "Zephoseus", "Zephosse", "Zephotheus", "Zephothus", "Zephotis", "Zephoton", "Zephoxius", "Zephyan", "Zephybus", "Zephycaon", "Zephycus", "Zephydix", "Zephydon", "Zephydos", "Zephyion", "Zephykos", "Zephyla", "Zephylaus", "Zephylion", "Zephyllo", "Zephylus", "Zephymus", "Zephyn", "Zephynix", "Zephyps", "Zephyrius", "Zephyron", "Zephyros", "Zephyrus", "Zephyseus", "Zephysse", "Zephytheus", "Zephythus", "Zephytis", "Zephyton", "Zephyxius", "Zeps", "Zeraan", "Zerabus", "Zeracaon", "Zeracus", "Zeradix", "Zeradon", "Zerados", "Zeraion", "Zerakos", "Zerala", "Zeralaus", "Zeralion", "Zerallo", "Zeralus", "Zeramus", "Zeran", "Zeranix", "Zeraps", "Zerarius", "Zeraron", "Zeraros", "Zerarus", "Zeraseus", "Zerasse", "Zeratheus", "Zerathus", "Zeratis", "Zeraton", "Zeraxius", "Zerian", "Zeribus", "Zericaon", "Zericus", "Zeridix", "Zeridon", "Zeridos", "Zeriion", "Zerikos", "Zerila", "Zerilaus", "Zerilion", "Zerillo", "Zerilus", "Zerimus", "Zerin", "Zerinix", "Zerips", "Zeririus", "Zeriron", "Zeriros", "Zerirus", "Zeriseus", "Zerisse", "Zeritheus", "Zerithus", "Zeritis", "Zeriton", "Zerius", "Zerixius", "Zeron", "Zeros", "Zerus", "Zeryaan", "Zeryabus", "Zeryacaon", "Zeryacus", "Zeryadix", "Zeryadon", "Zeryados", "Zeryaion", "Zeryakos", "Zeryala", "Zeryalaus", "Zeryalion", "Zeryallo", "Zeryalus", "Zeryamus", "Zeryan", "Zeryanix", "Zeryaps", "Zeryarius", "Zeryaron", "Zeryaros", "Zeryarus", "Zeryaseus", "Zeryasse", "Zeryatheus", "Zeryathus", "Zeryatis", "Zeryaton", "Zeryaxius", "Zeseus", "Zesse", "Zessean", "Zessebus", "Zessecaon", "Zessecus", "Zessedix", "Zessedon", "Zessedos", "Zesseion", "Zessekos", "Zessela", "Zesselaus", "Zesselion", "Zessello", "Zesselus", "Zessemus", "Zessen", "Zessenix", "Zesseps", "Zesserius", "Zesseron", "Zesseros", "Zesserus", "Zesseseus", "Zessesse", "Zessetheus", "Zessethus", "Zessetis", "Zesseton", "Zessexius", "Zetheus", "Zethus", "Zetis", "Zeton", "Zexius"}
|
||||
|
||||
fyrosSurnames = {"Abyan", "Abybus", "Abycaon", "Abycus", "Abydix", "Abydon", "Abydos", "Abyion", "Abykos", "Abyla", "Abylaus", "Abylion"
|
||||
fyrosFirstNames = {"Abyan", "Abybus", "Abycaon", "Abycus", "Abydix", "Abydon", "Abydos", "Abyion", "Abykos", "Abyla", "Abylaus", "Abylion"
|
||||
, "Abyllo", "Abylus", "Abymus", "Abyn", "Abynix", "Abyps", "Abyrius", "Abyron", "Abyros", "Abyrus", "Abyseus", "Abysse", "Abytheus", "Abythus"
|
||||
, "Abytis", "Abyton", "Abyxius", "Aean", "Aebus", "Aecaon", "Aecus", "Aedix", "Aedon", "Aedos", "Aeion", "Aekos", "Aela", "Aelaus", "Aelion"
|
||||
, "Aello", "Aelus", "Aemus", "Aen", "Aenix", "Aeps", "Aerius", "Aeron", "Aeros", "Aerus", "Aeseus", "Aesse", "Aetheus", "Aethus", "Aetis"
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -13,94 +13,86 @@ end
|
|||
-- Name generator.
|
||||
|
||||
--nb noms:
|
||||
-- matis: male 621 - female 621 - surname 621
|
||||
-- fyros: given name 14269, surname 841
|
||||
-- zorai: given name one 318, given name two 644, surname 1287
|
||||
-- tryker: given name 4500, surname 4335
|
||||
-- matis: male 621 - female 621 - FirstName 621
|
||||
-- fyros: given name 14269, FirstName 841
|
||||
-- zorai: given name one 318, given name two 644, FirstName 1287
|
||||
-- tryker: given name 4500, FirstName 4335
|
||||
|
||||
function outgame:getFyrosName()
|
||||
local nameResult = "";
|
||||
local fullnameResult = "";
|
||||
-- Fyros
|
||||
function outgame:getFyrosLastName()
|
||||
local nbFyrosLastNames = 0;
|
||||
for _ in pairs(fyrosLastNames) do nbFyrosLastNames = nbFyrosLastNames + 1 end
|
||||
|
||||
local nbFyrosGivenNames = 0;
|
||||
for _ in pairs(fyrosGivenNames) do nbFyrosGivenNames = nbFyrosGivenNames + 1 end
|
||||
local givenName = fyrosGivenNames[math.random(nbFyrosGivenNames)];
|
||||
return fyrosLastNames[math.random(nbFyrosLastNames)]
|
||||
end
|
||||
function outgame:getFyrosFirstName()
|
||||
local nbFyrosFirstNames = 0;
|
||||
for _ in pairs(fyrosFirstNames) do nbFyrosFirstNames = nbFyrosFirstNames + 1 end
|
||||
|
||||
local nbFyrosSurnames = 0;
|
||||
for _ in pairs(fyrosSurnames) do nbFyrosSurnames = nbFyrosSurnames + 1 end
|
||||
local surname = fyrosSurnames[math.random(nbFyrosSurnames)];
|
||||
fullnameResult = givenName .. " " .. surname;
|
||||
nameResult = surname;
|
||||
return fullnameResult, nameResult
|
||||
return fyrosFirstNames[math.random(nbFyrosFirstNames)]
|
||||
end
|
||||
|
||||
function outgame:getMatisName(sex)
|
||||
local nameResult = "";
|
||||
local fullnameResult = "";
|
||||
-- Matis
|
||||
function outgame:getMatisLastName(sex)
|
||||
local dbNameSex = getDbProp("UI:TEMP:NAME_SEX");
|
||||
|
||||
if sex ~= nil then
|
||||
dbNameSex = sex
|
||||
dbNameSex = sex;
|
||||
end
|
||||
|
||||
local LastName = ""
|
||||
if tonumber( dbNameSex )== 1 then
|
||||
local nbMatisMaleNames = 0;
|
||||
for _ in pairs(matisMaleNames) do nbMatisMaleNames = nbMatisMaleNames + 1 end
|
||||
givenName = matisMaleNames[math.random(nbMatisMaleNames)];
|
||||
local nbMatisMaleLastNames = 0;
|
||||
for _ in pairs(matisMaleLastNames) do nbMatisMaleLastNames = nbMatisMaleLastNames + 1 end
|
||||
LastName = matisMaleLastNames[math.random(nbMatisMaleLastNames)];
|
||||
else
|
||||
local nbMatisFemaleNames = 0;
|
||||
for _ in pairs(matisFemaleNames) do nbMatisFemaleNames = nbMatisFemaleNames + 1 end
|
||||
givenName = matisFemaleNames[math.random(nbMatisFemaleNames)];
|
||||
local nbMatisFemaleLastNames = 0;
|
||||
for _ in pairs(matisFemaleLastNames) do nbMatisFemaleLastNames = nbMatisFemaleLastNames + 1 end
|
||||
LastName = matisFemaleLastNames[math.random(nbMatisFemaleLastNames)];
|
||||
end
|
||||
|
||||
local nbMatisSurnames = 0;
|
||||
for _ in pairs(matisSurnames) do nbMatisSurnames = nbMatisSurnames + 1 end
|
||||
local surname = matisSurnames[math.random(nbMatisSurnames)];
|
||||
fullnameResult = givenName .. " " .. surname;
|
||||
nameResult = givenName;
|
||||
|
||||
return fullnameResult, nameResult
|
||||
return LastName;
|
||||
end
|
||||
|
||||
function outgame:getTrykerName()
|
||||
local nameResult = "";
|
||||
local fullnameResult = "";
|
||||
function outgame:getMatisFirstName()
|
||||
|
||||
local nbTrykerGivenNames = 0;
|
||||
for _ in pairs(trykerGivenNames) do nbTrykerGivenNames = nbTrykerGivenNames + 1 end
|
||||
local givenName = trykerGivenNames[math.random(nbTrykerGivenNames)];
|
||||
local nbMatisFirstNames = 0;
|
||||
for _ in pairs(matisFirstNames) do nbMatisFirstNames = nbMatisFirstNames + 1 end
|
||||
|
||||
local nbTrykerSurnames = 0;
|
||||
for _ in pairs(trykerSurnames) do nbTrykerSurnames = nbTrykerSurnames + 1 end
|
||||
local surname = trykerSurnames[math.random(nbTrykerSurnames)];
|
||||
|
||||
fullnameResult = surname .. " " .. givenName;
|
||||
nameResult = givenName;
|
||||
|
||||
return fullnameResult, nameResult
|
||||
return matisFirstNames[math.random(nbMatisFirstNames)]
|
||||
end
|
||||
|
||||
-- Tryker
|
||||
function outgame:getTrykerLastName()
|
||||
local nbTrykerLastNames = 0;
|
||||
for _ in pairs(trykerLastNames) do nbTrykerLastNames = nbTrykerLastNames + 1 end
|
||||
|
||||
function outgame:getZoraiName()
|
||||
local nameResult = "";
|
||||
local fullnameResult = "";
|
||||
return trykerLastNames[math.random(nbTrykerLastNames)]
|
||||
end
|
||||
function outgame:getTrykerFirstName()
|
||||
local nbTrykerFirstNames = 0;
|
||||
for _ in pairs(trykerFirstNames) do nbTrykerFirstNames = nbTrykerFirstNames + 1 end
|
||||
|
||||
local nbGivenNameOne = 0;
|
||||
for _ in pairs(zoraiGivenNameOne) do nbGivenNameOne = nbGivenNameOne + 1 end
|
||||
local givenNameOne = zoraiGivenNameOne[math.random(nbGivenNameOne)];
|
||||
return trykerFirstNames[math.random(nbTrykerFirstNames)]
|
||||
end
|
||||
|
||||
local nbGivenNameTwo = 0;
|
||||
for _ in pairs(zoraiGivenNameTwo) do nbGivenNameTwo = nbGivenNameTwo + 1 end
|
||||
local givenNameTwo = zoraiGivenNameTwo[math.random(nbGivenNameTwo)];
|
||||
-- Zoraï
|
||||
function outgame:getZoraiLastName()
|
||||
local nbLastNamesOne = 0;
|
||||
for _ in pairs(zoraiLastNamesOne) do nbLastNamesOne = nbLastNamesOne + 1 end
|
||||
local lastNameOne = zoraiLastNamesOne[math.random(nbLastNamesOne)];
|
||||
|
||||
local nbSurnames = 0;
|
||||
for _ in pairs(zoraiSurnames) do nbSurnames = nbSurnames + 1 end
|
||||
local surname = zoraiSurnames[math.random(nbSurnames)];
|
||||
local nbLastNamesTwo = 0;
|
||||
for _ in pairs(zoraiLastNamesTwo) do nbLastNamesTwo = nbLastNamesTwo + 1 end
|
||||
local lastNameTwo = zoraiLastNamesTwo[math.random(nbLastNamesTwo)];
|
||||
|
||||
fullnameResult = surname .. " " .. givenNameOne .. "-" .. givenNameTwo;
|
||||
nameResult = givenNameOne .. givenNameTwo;
|
||||
return lastNameOne .. "-" .. lastNameTwo
|
||||
end
|
||||
function outgame:getZoraiFirstName()
|
||||
local nbFirstNames = 0;
|
||||
for _ in pairs(zoraiFirstNames) do nbFirstNames = nbFirstNames + 1 end
|
||||
|
||||
return fullnameResult, nameResult
|
||||
return zoraiFirstNames[math.random(nbFirstNames)]
|
||||
end
|
||||
|
||||
function outgame:procGenerateName()
|
||||
|
@ -115,59 +107,70 @@ function outgame:procGenerateName()
|
|||
|
||||
-- Look at outgame:procUpdateNameRaceLabel() for the "race" list.
|
||||
-- fy ma try zo -->
|
||||
local givenName = "";
|
||||
local lastName = "test"
|
||||
local firstName = "test2"
|
||||
if tonumber( dbNameRace ) == 1 then
|
||||
-- Fyros
|
||||
fullnameResult, nameResult = self:getFyrosName()
|
||||
lastName = self:getFyrosLastName()
|
||||
firstName = self:getFyrosFirstName()
|
||||
fullnameResult = lastName .. " " .. firstName
|
||||
nameResult = lastName
|
||||
elseif tonumber( dbNameRace ) == 2 then
|
||||
-- Matis
|
||||
fullnameResult, nameResult = self:getMatisName()
|
||||
lastName = self:getMatisLastName()
|
||||
firstName = self:getMatisFirstName()
|
||||
fullnameResult = lastName .. " " .. firstName
|
||||
nameResult = lastName
|
||||
elseif tonumber( dbNameRace ) == 3 then
|
||||
-- Tryker
|
||||
fullnameResult, nameResult = self:getTrykerName()
|
||||
lastName = self:getTrykerLastName()
|
||||
firstName = self:getTrykerFirstName()
|
||||
fullnameResult = firstName .. " " .. lastName
|
||||
nameResult = lastName
|
||||
elseif tonumber( dbNameRace ) == 4 then
|
||||
-- Zorai
|
||||
fullnameResult, nameResult = self:getZoraiName()
|
||||
lastName = self:getZoraiLastName()
|
||||
firstName = self:getZoraiFirstName()
|
||||
fullnameResult = firstName .. " " .. lastName
|
||||
nameResult = lastName
|
||||
elseif tonumber( dbNameRace ) == 5 then
|
||||
-- Maraudeurs
|
||||
tempResult_1 = "";
|
||||
tempResult_2 = "";
|
||||
-- lastName
|
||||
if tonumber(dbNameSubRace) == 1 then
|
||||
-- Fyros
|
||||
fullnameResult, tempResult_1 = self:getFyrosName()
|
||||
lastName = self:getFyrosLastName()
|
||||
elseif tonumber( dbNameSubRace ) == 2 then
|
||||
-- Matis F
|
||||
fullnameResult, tempResult_1 = self:getMatisName(2)
|
||||
lastName = self:getMatisLastName(2)
|
||||
elseif tonumber( dbNameSubRace ) == 3 then
|
||||
-- Matis M
|
||||
fullnameResult, tempResult_1 = self:getMatisName(1)
|
||||
lastName = self:getMatisLastName(1)
|
||||
elseif tonumber( dbNameSubRace ) == 4 then
|
||||
-- Tryker
|
||||
fullnameResult, tempResult_1 = self:getTrykerName()
|
||||
lastName = self:getTrykerLastName()
|
||||
elseif tonumber( dbNameSubRace ) == 5 then
|
||||
-- Zorai
|
||||
fullnameResult, tempResult_1 = self:getZoraiName()
|
||||
lastName = self:getZoraiLastName()
|
||||
end
|
||||
|
||||
-- firstName
|
||||
if tonumber(dbNameSubRace2) == 1 then
|
||||
-- Fyros
|
||||
fullnameResult, tempResult_2 = self:getFyrosName()
|
||||
firstName = self:getFyrosFirstName()
|
||||
elseif tonumber( dbNameSubRace2 ) == 2 then
|
||||
-- Matis F
|
||||
fullnameResult, tempResult_2 = self:getMatisName(2)
|
||||
-- Matis
|
||||
firstName = self:getMatisFirstName()
|
||||
firstName = self:getMatisFirstName()
|
||||
elseif tonumber( dbNameSubRace2 ) == 3 then
|
||||
-- Matis M
|
||||
fullnameResult, tempResult_2 = self:getMatisName(1)
|
||||
elseif tonumber( dbNameSubRace2 ) == 4 then
|
||||
-- Tryker
|
||||
fullnameResult, tempResult_2 = self:getTrykerName()
|
||||
elseif tonumber( dbNameSubRace2 ) == 5 then
|
||||
firstName = self:getTrykerFirstName()
|
||||
elseif tonumber( dbNameSubRace2 ) == 4 then
|
||||
-- Zorai
|
||||
fullnameResult, tempResult_2 = self:getZoraiName()
|
||||
firstName = self:getZoraiFirstName()
|
||||
end
|
||||
|
||||
fullnameResult = tempResult_1 .. " " .. tempResult_2
|
||||
nameResult = tempResult_2
|
||||
fullnameResult = lastName .. " " .. firstName
|
||||
nameResult = lastName
|
||||
end
|
||||
|
||||
uiNameFull.hardtext = fullnameResult;
|
||||
|
@ -241,7 +244,7 @@ function outgame:procUpdateNameSubRaceLabel()
|
|||
uiNameSubRaceText.hardtext= tostring(nameSubRaceType[tonumber(dbNameSubRace)]);
|
||||
end
|
||||
function outgame:procUpdateNameSubRace2Label()
|
||||
local nameSubRace2Type = { "Fyros", matisF, matisM, "Tryker", "Zoraï" }
|
||||
local nameSubRace2Type = { "Fyros", "Matis", "Tryker", "Zoraï" }
|
||||
local uiNameSubRace2Text = getUI("ui:outgame:appear_name:name_sub_race2_slider:name_race");
|
||||
local dbNameSubRace2 = getDbProp("UI:TEMP:NAME_SUB_RACE2");
|
||||
|
||||
|
|
|
@ -1361,7 +1361,7 @@
|
|||
id="but_next" posref="TR TR" x="0" y="-6"
|
||||
onclick_l="proc" params_l="proc_appear_name_sub_race_add_one" />
|
||||
|
||||
<view type="text" id="surname" case="%case_first_string_letter_up" posparent="name_sub_race_slider" posref="TL TL" x="0" y="0" hardtext="uiCP_FirstName" color="255 255 255 255" fontsize="11"/>
|
||||
<view type="text" id="lastName" case="%case_first_string_letter_up" posparent="name_sub_race_slider" posref="TL TL" x="0" y="0" hardtext="uiCP_LastName" color="255 255 255 255" fontsize="11"/>
|
||||
<view type="text" id="name_race" case="%case_first_string_letter_up" posparent="name_sub_race_slider" posref="TR TL" x="-100" y="0" hardtext="Fyros" color="255 255 255 255" fontsize="11"/>
|
||||
<ctrl type="scroll" id="name_race_scroll" posparent="name_sub_race_slider" posref="MM MM" x="0" y="0" w="160" h="32"
|
||||
vertical="false" align="L" min="1" max="5" value="UI:TEMP:NAME_SUB_RACE" tracksize="40"
|
||||
|
@ -1385,10 +1385,10 @@
|
|||
id="but_next" posref="TR TR" x="0" y="-6"
|
||||
onclick_l="proc" params_l="proc_appear_name_sub_race2_add_one" />
|
||||
|
||||
<view type="text" id="name" case="%case_first_string_letter_up" posparent="name_sub_race2_slider" posref="TL TL" x="0" y="0" hardtext="uiCP_LastName" color="255 255 255 255" fontsize="11"/>
|
||||
<view type="text" id="firstName" case="%case_first_string_letter_up" posparent="name_sub_race2_slider" posref="TL TL" x="0" y="0" hardtext="uiCP_FirstName" color="255 255 255 255" fontsize="11"/>
|
||||
<view type="text" id="name_race" case="%case_first_string_letter_up" posparent="name_sub_race2_slider" posref="TR TL" x="-100" y="0" hardtext="Fyros" color="255 255 255 255" fontsize="11"/>
|
||||
<ctrl type="scroll" id="name_race_scroll" posparent="name_sub_race2_slider" posref="MM MM" x="0" y="0" w="160" h="32"
|
||||
vertical="false" align="L" min="1" max="5" value="UI:TEMP:NAME_SUB_RACE2" tracksize="40"
|
||||
vertical="false" align="L" min="1" max="4" value="UI:TEMP:NAME_SUB_RACE2" tracksize="40"
|
||||
tx_topright="" tx_middle="slider_m.tga" tx_bottomleft=""
|
||||
onscroll="proc" params="proc_appear_name_sub_race2_label_change" />
|
||||
</group>
|
||||
|
@ -1412,7 +1412,8 @@
|
|||
<view type="text" id="name_sex" posparent="name_race_slider" posref="TL TL" x="0" y="0" hardtext="uiCP_Sex_Male" case="%case_first_string_letter_up" color="255 255 255 255" fontsize="11"/>
|
||||
<ctrl type="scroll" id="name_sex_scroll" posparent="name_sex_slider" posref="MM MM" x="0" y="0" w="160" h="32"
|
||||
vertical="false" align="L" min="1" max="2" value="UI:TEMP:NAME_SEX" tracksize="40"
|
||||
tx_topright="" tx_middle="slider_m.tga" tx_bottomleft="" />
|
||||
tx_topright="" tx_middle="slider_m.tga" tx_bottomleft=""
|
||||
onscroll="proc" params="proc_appear_name_sex_label_change" />
|
||||
|
||||
</group>
|
||||
|
||||
|
@ -1666,7 +1667,7 @@
|
|||
<action handler="lua:outgame:procUpdateNameSubRace2Label()" />
|
||||
</proc>
|
||||
<proc id="proc_appear_name_sub_race2_add_one">
|
||||
<action handler="set" params="dblink=UI:TEMP:NAME_SUB_RACE2|value=min(add(@UI:TEMP:NAME_SUB_RACE2,1),5)" />
|
||||
<action handler="set" params="dblink=UI:TEMP:NAME_SUB_RACE2|value=min(add(@UI:TEMP:NAME_SUB_RACE2,1),4)" />
|
||||
<action handler="lua:outgame:procUpdateNameSubRace2Label()" />
|
||||
</proc>
|
||||
<proc id="proc_appear_name_sub_race2_sub_one">
|
||||
|
|
|
@ -6950,4 +6950,24 @@
|
|||
global_color="false" />
|
||||
</group>
|
||||
</template>
|
||||
|
||||
<template name="html_form_select_box_menu_widget"
|
||||
keep="true"
|
||||
id="sb">
|
||||
<group type="menu"
|
||||
id="#id"
|
||||
posref="BL TL"
|
||||
x="0"
|
||||
y="0"
|
||||
mouse_pos="false"
|
||||
space="2"
|
||||
shadow="false"
|
||||
color="255 255 255 128"
|
||||
color_over="255 255 255 255"
|
||||
color_grayed="0 0 0 255"
|
||||
fontsize="12"
|
||||
highlight_over="255 255 255 128"
|
||||
force_inside_screen="false"></group>
|
||||
</template>
|
||||
|
||||
</interface_config>
|
||||
|
|
|
@ -124,7 +124,7 @@ static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm)
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning("PEM_read_bio_X509 failed...");
|
||||
nlwarning("Unable to read PEM info");
|
||||
res = CURLE_SSL_CACERT;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue