Sort of fixed a flexible height bug

This commit is contained in:
Sasha Koshka 2023-03-10 00:10:26 -05:00
parent 1c28613981
commit 8658ecd879
2 changed files with 8 additions and 8 deletions

View File

@ -71,7 +71,7 @@ func (element *Container) Adopt (child elements.Element, expand bool) {
element.core.DamageAll()
})
if child0, ok := child.(elements.Flexible); ok {
child0.OnFlexibleHeightChange(element.updateMinimumSize)
child0.OnFlexibleHeightChange(element.notifyFlexibleChange)
}
if child0, ok := child.(elements.Focusable); ok {
child0.OnFocusRequest (func () (granted bool) {
@ -323,14 +323,15 @@ func (element *Container) updateMinimumSize () {
padding := element.theme.Padding(theme.PatternBackground)
width, height := element.layout.MinimumSize (
element.children, margin, padding)
if element.flexible {
height = element.layout.FlexibleHeightFor (
element.children, margin,
padding, width)
}
element.core.SetMinimumSize(width, height)
}
func (element *Container) notifyFlexibleChange () {
if element.onFlexibleHeightChange != nil {
element.onFlexibleHeightChange()
}
}
func (element *Container) doLayout () {
margin := element.theme.Margin(theme.PatternBackground)
padding := element.theme.Padding(theme.PatternBackground)

View File

@ -16,7 +16,6 @@ func run () {
container := basicElements.NewContainer(basicLayouts.Vertical { true, true })
window.Adopt(container)
textBox := basicElements.NewTextBox("", copypasta)
scrollContainer := basicElements.NewScrollContainer(true, false)
@ -56,8 +55,8 @@ func run () {
list.ScrollTo(viewport)
})
container.Adopt(basicElements.NewLabel("A ScrollContainer:", false), false)
scrollContainer.Adopt(textBox)
container.Adopt(basicElements.NewLabel("A ScrollContainer:", false), false)
container.Adopt(scrollContainer, false)
disconnectedContainer.Adopt(list, false)
disconnectedContainer.Adopt (basicElements.NewLabel (