auto resize menu width
This commit is contained in:
parent
b8150d160e
commit
1c4bbfb7f3
7
TODO
7
TODO
|
@ -36,4 +36,9 @@ cache into framebuffers
|
|||
implement glbuffer for CoordsBuffer
|
||||
use indices in CoordsBuffer
|
||||
|
||||
create a Timer class
|
||||
move UICheckBox to lua
|
||||
move UIWindow to lua
|
||||
rework UI image style
|
||||
class UIImage and UIText
|
||||
add UI border
|
||||
fix style inheretance using a style translator
|
|
@ -47,7 +47,17 @@ end
|
|||
|
||||
function createWidget(style, parent)
|
||||
local className = g_ui.getStyleClass(style)
|
||||
if className == "" then
|
||||
error('could not find style ' .. style)
|
||||
return
|
||||
end
|
||||
|
||||
local class = _G[className]
|
||||
if not class then
|
||||
error('could not find widget class ' .. class)
|
||||
return
|
||||
end
|
||||
|
||||
local widget = class.create()
|
||||
if parent then
|
||||
parent:addChild(widget)
|
||||
|
|
|
@ -15,6 +15,6 @@ Module
|
|||
importStyle 'styles/listboxes.otui'
|
||||
importStyle 'styles/items.otui'
|
||||
importStyle 'styles/creatures.otui'
|
||||
importStyle 'styles/comboboxes.otui'
|
||||
importStyle 'styles/popupmenus.otui'
|
||||
importStyle 'styles/comboboxes.otui'
|
||||
return true
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
ComboBoxPopupMenuSeparator < PopupMenuSeparator
|
||||
ComboBoxPopupMenuButton < PopupMenuButton
|
||||
ComboBoxPopupMenu < PopupMenu
|
||||
|
||||
ComboBox < UIComboBox
|
||||
font: verdana-11px-antialised
|
||||
color: #aaaaaa
|
||||
|
|
|
@ -34,7 +34,7 @@ PopupMenuSeparator < UIWidget
|
|||
phantom: true
|
||||
|
||||
PopupMenu < UIPopupMenu
|
||||
width: 100
|
||||
width: 50
|
||||
border-image:
|
||||
source: /core_styles/images/menubox.png
|
||||
border: 3
|
|
@ -27,7 +27,7 @@ function UIComboBox:addOption(text, data)
|
|||
end
|
||||
|
||||
function UIComboBox:onMousePress(mousePos, mouseButton)
|
||||
local menu = createWidget('PopupMenu', self)
|
||||
local menu = createWidget(self:getStyleName() .. 'PopupMenu', self)
|
||||
for i,v in ipairs(self.options) do
|
||||
menu:addOption(v.text, function() self:setCurrentOption(v.text) end)
|
||||
end
|
||||
|
|
|
@ -23,6 +23,8 @@ function UIPopupMenu:addOption(optionName, optionCallback)
|
|||
self:destroy()
|
||||
end
|
||||
optionWidget:setText(optionName)
|
||||
local width = optionWidget:getTextSize().width + optionWidget:getMarginLeft() + optionWidget:getMarginRight() + 6
|
||||
self:setWidth(math.max(self:getWidth(), width))
|
||||
end
|
||||
|
||||
function UIPopupMenu:addSeparator()
|
||||
|
|
Loading…
Reference in New Issue