add options style for UIComboBox, fix push values of otml nodes
This commit is contained in:
parent
186e3dc86b
commit
e6cb3de637
1
TODO
1
TODO
|
@ -64,6 +64,7 @@ change win32 mouse cursor icon
|
|||
[bart] make set of background/icon/image width alone work
|
||||
[bart] check for recursive anchors and print a error instead of crashing
|
||||
[bart] make api to enable/disable capture of events to avoid massive event processing
|
||||
[bart] review style apply system
|
||||
|
||||
== Client modules
|
||||
[bart] make possible to reload modules
|
||||
|
|
|
@ -55,8 +55,8 @@ local function onWidgetStyleApply(widget, styleName, styleNode)
|
|||
end
|
||||
end
|
||||
|
||||
connect(UIWidget, { onStyleApply = onWidgetStyleApply,
|
||||
onHoverChange = onWidgetHoverChange})
|
||||
--connect(UIWidget, { onStyleApply = onWidgetStyleApply,
|
||||
-- onHoverChange = onWidgetHoverChange})
|
||||
|
||||
-- UIWidget extensions
|
||||
function UIWidget:setTooltip(text)
|
||||
|
|
|
@ -13,7 +13,7 @@ function UIComboBox:setCurrentOption(text)
|
|||
if v.text == text and self.m_currentIndex ~= i then
|
||||
self.m_currentIndex = i
|
||||
self:setText(text)
|
||||
self:onOptionChange(text, data)
|
||||
self:onOptionChange(text, v.data)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
@ -38,6 +38,14 @@ function UIComboBox:onMousePress(mousePos, mouseButton)
|
|||
return true
|
||||
end
|
||||
|
||||
function UIComboBox:onStyleApply(styleName, styleNode)
|
||||
if styleNode.options then
|
||||
for k,option in pairs(styleNode.options) do
|
||||
self:addOption(option)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UIComboBox:onOptionChange(optionText, optionData)
|
||||
-- nothing todo
|
||||
end
|
||||
|
|
|
@ -219,16 +219,19 @@ void push_otml_subnode_luavalue(const OTMLNodePtr& node)
|
|||
} else if(node->hasChildren()) {
|
||||
g_lua.newTable();
|
||||
bool pushedChild = false;
|
||||
int currentIndex = 1;
|
||||
for(const OTMLNodePtr& cnode : node->children()) {
|
||||
if(cnode->isUnique()) {
|
||||
push_luavalue(cnode);
|
||||
push_otml_subnode_luavalue(cnode);
|
||||
if(!g_lua.isNil()) {
|
||||
g_lua.setField(cnode->tag());
|
||||
if(cnode->isUnique()) {
|
||||
g_lua.pushString(cnode->tag());
|
||||
g_lua.rawSet();
|
||||
} else
|
||||
g_lua.rawSeti(currentIndex++);
|
||||
pushedChild = true;
|
||||
} else
|
||||
g_lua.pop();
|
||||
}
|
||||
}
|
||||
if(!pushedChild) {
|
||||
g_lua.pop();
|
||||
g_lua.pushNil();
|
||||
|
|
|
@ -364,6 +364,9 @@ void UIWidget::unlockChild(const UIWidgetPtr& child)
|
|||
|
||||
void UIWidget::applyStyle(const OTMLNodePtr& styleNode)
|
||||
{
|
||||
if(styleNode->size() == 0)
|
||||
return;
|
||||
|
||||
m_loadingStyle = true;
|
||||
try {
|
||||
onStyleApply(styleNode->tag(), styleNode);
|
||||
|
|
Loading…
Reference in New Issue