combobox with wheel event
This commit is contained in:
parent
380a13ef83
commit
168f03125c
|
@ -2,6 +2,7 @@ Module
|
||||||
name: client
|
name: client
|
||||||
description: Load all other otclient dependecies
|
description: Load all other otclient dependecies
|
||||||
author: OTClient team
|
author: OTClient team
|
||||||
|
website: https://github.com/edubart/otclient
|
||||||
|
|
||||||
// NOTE: order does matter
|
// NOTE: order does matter
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
@ -28,6 +28,10 @@ MouseLeftButton = 1
|
||||||
MouseRightButton = 2
|
MouseRightButton = 2
|
||||||
MouseMidButton = 3
|
MouseMidButton = 3
|
||||||
|
|
||||||
|
MouseNoWheel = 0
|
||||||
|
MouseWheelUp = 1
|
||||||
|
MouseWheelDown = 2
|
||||||
|
|
||||||
AlignNone = 0
|
AlignNone = 0
|
||||||
AlignLeft = 1
|
AlignLeft = 1
|
||||||
AlignRight = 2
|
AlignRight = 2
|
||||||
|
|
|
@ -19,6 +19,15 @@ function UIComboBox:setCurrentOption(text)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function UIComboBox:setCurrentIndex(index)
|
||||||
|
if index >= 1 and index <= #self.m_options then
|
||||||
|
local v = self.m_options[index]
|
||||||
|
self.m_currentIndex = index
|
||||||
|
self:setText(v.text)
|
||||||
|
self:onOptionChange(v.text, v.data)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function UIComboBox:addOption(text, data)
|
function UIComboBox:addOption(text, data)
|
||||||
table.insert(self.m_options, { text = text, data = data })
|
table.insert(self.m_options, { text = text, data = data })
|
||||||
local index = #self.m_options
|
local index = #self.m_options
|
||||||
|
@ -38,6 +47,17 @@ function UIComboBox:onMousePress(mousePos, mouseButton)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function UIComboBox:onMouseWheel(mousePos, direction)
|
||||||
|
if direction == MouseWheelUp and self.m_currentIndex > 1 then
|
||||||
|
self:setCurrentIndex(self.m_currentIndex - 1)
|
||||||
|
return true
|
||||||
|
elseif direction == MouseWheelDown and self.m_currentIndex < #self.m_options then
|
||||||
|
self:setCurrentIndex(self.m_currentIndex + 1)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
function UIComboBox:onStyleApply(styleName, styleNode)
|
function UIComboBox:onStyleApply(styleName, styleNode)
|
||||||
if styleNode.options then
|
if styleNode.options then
|
||||||
for k,option in pairs(styleNode.options) do
|
for k,option in pairs(styleNode.options) do
|
||||||
|
|
Loading…
Reference in New Issue