17,273
edits
(forgot delimiter arg for split) |
(fix default tabs if left and top share the same selector) |
||
Line 204: | Line 204: | ||
local args = Args.fromFrame( frame ) | local args = Args.fromFrame( frame ) | ||
local tabs = TabContainer.new( args ) | local tabs = TabContainer.new( args ) | ||
-- fix default tabs if left and top share the same selector | |||
if args.left and args.top and (args.left.selector or '0') == (args.top.selector or '0') then | |||
if args.left.selector and args.left.selector ~= '0' then args.top.selector = 0 end | |||
if not args.left.selector then | |||
if args.top.selector and args.top.selector ~= '0' then | |||
args.left.selector = 0 | |||
else | |||
args.top.selector = 0 | |||
end | |||
end | |||
end | |||
if args.left then | if args.left then | ||
local left = tabs:leftTabs( args.left ) | local left = tabs:leftTabs( args.left ) | ||
for _, | for _, tabArgs in ipairs( args.left ) do | ||
tabArgs = Args.getTable( tabArgs ) | |||
tabArgs.selection = Args.getValue( tabArgs ) | |||
tab:addTab( tabArgs ) | |||
end | end | ||
end | end | ||
Line 217: | Line 229: | ||
local topArgs = args.top | local topArgs = args.top | ||
if args.left and not topArgs.selector then topArgs.selector = 1 end -- default to 2D behavior if both sets are present | if args.left and not topArgs.selector then topArgs.selector = 1 end -- default to 2D behavior if both sets are present | ||
if args.left and args.left.selector == topArgs.selector and args.left.default ~= 0 then topArgs.default = 0 end | |||
local top = tabs:topTabs( topArgs ) | local top = tabs:topTabs( topArgs ) | ||
for _, | for _, tabArgs in ipairs( args.top ) do | ||
tabArgs = Args.getTable( tabArgs ) | |||
tabArgs.selection = Args.getValue( tabArgs ) | |||
tab:addTab( tabArgs ) | |||
end | end | ||
end | end |