mirror of
https://github.com/fjvallarino/monomer.git
synced 2024-09-21 00:38:01 +03:00
Make Flexible extra space proportional to requested size
This commit is contained in:
parent
8dc575c919
commit
a42ba1ba14
@ -135,7 +135,7 @@ buildUI model = widgetTree where
|
||||
--spacer,
|
||||
textField textField1,
|
||||
textField textField1 `style` color red,
|
||||
listView textField2 items id
|
||||
listView textField3 items id
|
||||
]
|
||||
items = fmap showt [1..30::Int]
|
||||
itemsDropdown = fmap dropdownText [1..100::Int]
|
||||
|
@ -56,8 +56,8 @@ makeStack isHorizontal = createContainer {
|
||||
rCount = fromIntegral $ length rChildren
|
||||
fAvg = if fExists then fSize / fCount else 0
|
||||
fBigFilter c = sizeSelector (_sizeRequested c) >= fAvg
|
||||
fBigCount = fromIntegral $ Seq.length (Seq.filter fBigFilter fChildren)
|
||||
fExtra = if fExists then (rSize - fSize) / fBigCount else 0
|
||||
fBigSize = sizeSelector $ calcPreferredSize (Seq.filter fBigFilter fChildren)
|
||||
fExtra = if fExists then (rSize - fSize) / fBigSize else 0
|
||||
rUnit = if rExists && not fExists then rSize / rCount else 0
|
||||
assignedArea = Seq.zip newViewports newViewports
|
||||
(newViewports, _) = foldl' foldHelper (Seq.empty, mainStart) childrenPairs
|
||||
@ -80,7 +80,7 @@ makeStack isHorizontal = createContainer {
|
||||
calcNewSize = case policySelector req of
|
||||
StrictSize -> sizeSelector srSize
|
||||
FlexibleSize
|
||||
| sizeSelector srSize >= fAvg -> sizeSelector srSize + fExtra
|
||||
| sizeSelector srSize >= fAvg -> (1 + fExtra) * sizeSelector srSize
|
||||
| otherwise -> sizeSelector srSize
|
||||
RemainderSize -> rUnit
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user