Sort of fixed a flexible height bug
This commit is contained in:
parent
1c28613981
commit
8658ecd879
@ -71,7 +71,7 @@ func (element *Container) Adopt (child elements.Element, expand bool) {
|
|||||||
element.core.DamageAll()
|
element.core.DamageAll()
|
||||||
})
|
})
|
||||||
if child0, ok := child.(elements.Flexible); ok {
|
if child0, ok := child.(elements.Flexible); ok {
|
||||||
child0.OnFlexibleHeightChange(element.updateMinimumSize)
|
child0.OnFlexibleHeightChange(element.notifyFlexibleChange)
|
||||||
}
|
}
|
||||||
if child0, ok := child.(elements.Focusable); ok {
|
if child0, ok := child.(elements.Focusable); ok {
|
||||||
child0.OnFocusRequest (func () (granted bool) {
|
child0.OnFocusRequest (func () (granted bool) {
|
||||||
@ -323,14 +323,15 @@ func (element *Container) updateMinimumSize () {
|
|||||||
padding := element.theme.Padding(theme.PatternBackground)
|
padding := element.theme.Padding(theme.PatternBackground)
|
||||||
width, height := element.layout.MinimumSize (
|
width, height := element.layout.MinimumSize (
|
||||||
element.children, margin, padding)
|
element.children, margin, padding)
|
||||||
if element.flexible {
|
|
||||||
height = element.layout.FlexibleHeightFor (
|
|
||||||
element.children, margin,
|
|
||||||
padding, width)
|
|
||||||
}
|
|
||||||
element.core.SetMinimumSize(width, height)
|
element.core.SetMinimumSize(width, height)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (element *Container) notifyFlexibleChange () {
|
||||||
|
if element.onFlexibleHeightChange != nil {
|
||||||
|
element.onFlexibleHeightChange()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (element *Container) doLayout () {
|
func (element *Container) doLayout () {
|
||||||
margin := element.theme.Margin(theme.PatternBackground)
|
margin := element.theme.Margin(theme.PatternBackground)
|
||||||
padding := element.theme.Padding(theme.PatternBackground)
|
padding := element.theme.Padding(theme.PatternBackground)
|
||||||
|
@ -16,7 +16,6 @@ func run () {
|
|||||||
container := basicElements.NewContainer(basicLayouts.Vertical { true, true })
|
container := basicElements.NewContainer(basicLayouts.Vertical { true, true })
|
||||||
window.Adopt(container)
|
window.Adopt(container)
|
||||||
|
|
||||||
|
|
||||||
textBox := basicElements.NewTextBox("", copypasta)
|
textBox := basicElements.NewTextBox("", copypasta)
|
||||||
scrollContainer := basicElements.NewScrollContainer(true, false)
|
scrollContainer := basicElements.NewScrollContainer(true, false)
|
||||||
|
|
||||||
@ -56,8 +55,8 @@ func run () {
|
|||||||
list.ScrollTo(viewport)
|
list.ScrollTo(viewport)
|
||||||
})
|
})
|
||||||
|
|
||||||
container.Adopt(basicElements.NewLabel("A ScrollContainer:", false), false)
|
|
||||||
scrollContainer.Adopt(textBox)
|
scrollContainer.Adopt(textBox)
|
||||||
|
container.Adopt(basicElements.NewLabel("A ScrollContainer:", false), false)
|
||||||
container.Adopt(scrollContainer, false)
|
container.Adopt(scrollContainer, false)
|
||||||
disconnectedContainer.Adopt(list, false)
|
disconnectedContainer.Adopt(list, false)
|
||||||
disconnectedContainer.Adopt (basicElements.NewLabel (
|
disconnectedContainer.Adopt (basicElements.NewLabel (
|
||||||
|
Reference in New Issue
Block a user