145 lines
4.5 KiB
Lua
145 lines
4.5 KiB
Lua
LUI.UIHorizontalList = {}
|
|
LUI.UIHorizontalNavigator = {}
|
|
local f0_local0 = function ( f1_arg0, f1_arg1, f1_arg2 )
|
|
local self = LUI.UIElement.new( {
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 0,
|
|
right = f1_arg1,
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
top = 0,
|
|
bottom = 0
|
|
} )
|
|
self:setPriority( f1_arg2 )
|
|
f1_arg0:addElement( self )
|
|
return self
|
|
end
|
|
|
|
LUI.UIHorizontalList.build = function ( menu, controller )
|
|
local self = LUI.UIHorizontalList.new( {} )
|
|
LUI.UIHorizontalList.SetNoWrap( self, controller.noWrap )
|
|
return self
|
|
end
|
|
|
|
LUI.UIHorizontalList.new = function ( f3_arg0 )
|
|
local self = LUI.UIElement.new( f3_arg0 )
|
|
self.id = "LUIHorizontalList"
|
|
self:setupUIHorizontalList()
|
|
self.addSpacer = f0_local0
|
|
self.addElement = LUI.UIHorizontalList.AddElement
|
|
self.removeElement = LUI.UIHorizontalList.RemoveElement
|
|
self.updateNavigation = LUI.UIHorizontalList.UpdateNavigation
|
|
self:registerEventHandler( "gain_focus", LUI.UIHorizontalList.gainFocus )
|
|
self:registerEventHandler( "update_navigation", function ( element, event )
|
|
element:updateNavigation()
|
|
end )
|
|
return self
|
|
end
|
|
|
|
LUI.UIHorizontalNavigator.build = function ( menu, controller )
|
|
local self = LUI.UIHorizontalNavigator.new( {}, controller.noWrap )
|
|
LUI.UIHorizontalList.SetNoWrap( self, controller.noWrap )
|
|
return self
|
|
end
|
|
|
|
LUI.UIHorizontalNavigator.new = function ( f6_arg0 )
|
|
local self = LUI.UIElement.new( f6_arg0 )
|
|
self.id = "LUIHorizontalList"
|
|
self.addSpacer = f0_local0
|
|
self.addElement = LUI.UIHorizontalList.AddElement
|
|
self.removeElement = LUI.UIHorizontalList.RemoveElement
|
|
self.updateNavigation = LUI.UIHorizontalList.UpdateNavigation
|
|
self:registerEventHandler( "gain_focus", LUI.UIHorizontalList.gainFocus )
|
|
self:registerEventHandler( "update_navigation", function ( element, event )
|
|
element:updateNavigation()
|
|
end )
|
|
return self
|
|
end
|
|
|
|
LUI.UIHorizontalList.SetNoWrap = function ( f8_arg0, f8_arg1 )
|
|
f8_arg0.noWrap = f8_arg1
|
|
end
|
|
|
|
LUI.UIHorizontalList.AddElement = function ( f9_arg0, f9_arg1 )
|
|
LUI.UIElement.addElement( f9_arg0, f9_arg1 )
|
|
f9_arg1.navigation = {}
|
|
f9_arg0:setLayoutCached( false )
|
|
f9_arg0:updateNavigation()
|
|
end
|
|
|
|
LUI.UIHorizontalList.RemoveElement = function ( f10_arg0, f10_arg1 )
|
|
LUI.UIElement.removeElement( f10_arg0, f10_arg1 )
|
|
f10_arg0:setLayoutCached( false )
|
|
f10_arg0:updateNavigation()
|
|
end
|
|
|
|
LUI.UIHorizontalList.UpdateNavigation = function ( f11_arg0 )
|
|
local f11_local0, f11_local1 = nil
|
|
local f11_local2 = f11_arg0:getFirstChild()
|
|
while f11_local2 ~= nil do
|
|
if f11_local2:canFocus( FocusType.ListSelection ) then
|
|
if f11_local0 == nil then
|
|
f11_local0 = f11_local2
|
|
end
|
|
if f11_local1 ~= nil then
|
|
f11_local1.navigation.right = f11_local2
|
|
f11_local2.navigation.left = f11_local1
|
|
else
|
|
f11_local2.navigation.left = nil
|
|
end
|
|
if f11_local2.navigation ~= nil and f11_arg0.navigation ~= nil then
|
|
f11_local2.navigation.down = f11_arg0.navigation.down
|
|
f11_local2.navigation.up = f11_arg0.navigation.up
|
|
end
|
|
f11_local1 = f11_local2
|
|
end
|
|
f11_local2 = f11_local2:getNextSibling()
|
|
end
|
|
if f11_local1 ~= nil then
|
|
if f11_arg0.navigation ~= nil and f11_arg0.navigation.right ~= nil and f11_arg0.navigation.right:canFocus( FocusType.ListSelection ) == true then
|
|
f11_local1.navigation.right = f11_arg0.navigation.right
|
|
f11_arg0.navigation.right.navigation.left = f11_local1
|
|
elseif f11_local1 ~= f11_local0 and not f11_arg0.noWrap then
|
|
f11_local1.navigation.right = f11_local0
|
|
else
|
|
f11_local1.navigation.right = nil
|
|
end
|
|
if f11_arg0.navigation ~= nil and f11_arg0.navigation.left ~= nil and f11_arg0.navigation.left:canFocus( FocusType.ListSelection ) == true then
|
|
f11_local0.navigation.left = f11_arg0.navigation.left
|
|
f11_arg0.navigation.left.navigation.right = f11_local0
|
|
elseif f11_local1 ~= f11_local0 and not f11_arg0.noWrap then
|
|
f11_local0.navigation.left = f11_local1
|
|
else
|
|
f11_local0.navigation.left = nil
|
|
end
|
|
end
|
|
end
|
|
|
|
LUI.UIHorizontalList.gainFocus = function ( f12_arg0, f12_arg1 )
|
|
local f12_local0, f12_local1 = f12_arg0:restoreState()
|
|
if f12_local1 == 0 then
|
|
local f12_local2, f12_local3 = nil
|
|
local f12_local4 = f12_arg0:getFirstChild()
|
|
while f12_local4 ~= nil do
|
|
if f12_local4:canFocus( FocusType.ListSelection ) then
|
|
if f12_local2 == nil then
|
|
f12_local2 = f12_local4
|
|
end
|
|
if f12_local3 == nil and f12_local4.listDefaultFocus then
|
|
f12_local3 = f12_local4
|
|
end
|
|
end
|
|
end
|
|
if f12_local3 ~= nil then
|
|
f12_local3:processEvent( f12_arg1 )
|
|
elseif f12_local2 ~= nil then
|
|
f12_local2:processEvent( f12_arg1 )
|
|
else
|
|
|
|
end
|
|
f12_local4 = f12_local4:getNextSibling()
|
|
end
|
|
end
|
|
|