Renamed Expanding to Flexible

This commit is contained in:
Sasha Koshka 2023-01-16 22:27:17 -05:00
parent d9281b139f
commit 76d50bb01a
3 changed files with 8 additions and 4 deletions

View File

@ -203,7 +203,7 @@ func (window *Window) redrawChildEntirely () {
func (window *Window) resizeChildToFit () {
window.skipChildDrawCallback = true
if child, ok := window.child.(tomo.Expanding); ok {
if child, ok := window.child.(tomo.Flexible); ok {
minimumHeight := child.MinimumHeightFor(window.metrics.width)
_, minimumWidth := child.MinimumSize()

View File

@ -183,9 +183,9 @@ type MouseTarget interface {
HandleScroll (x, y int, deltaX, deltaY float64)
}
// Expanding represents an element who's preferred minimum height can change in
// Flexible represents an element who's preferred minimum height can change in
// response to its width.
type Expanding interface {
type Flexible interface {
Element
// HeightForWidth returns what the element's minimum height would be if
@ -200,6 +200,6 @@ type Expanding interface {
// minimum size that the element may be resized to.
//
// It is important to note that if a parent container checks for
// expanding chilren, it itself will likely need to be expanding.
// flexible chilren, it itself will likely need to be flexible.
MinimumHeightFor (width int) (height int)
}

View File

@ -25,6 +25,10 @@ func (layout Vertical) Arrange (entries []tomo.LayoutEntry, width, height int) {
freeSpace := height
expandingElements := 0
// TODO: find the width first, then store the minumum height of
// everything in a list, then arrange everything.
// minimumHeights := make([]int, len(entries))
// count the number of expanding elements and the amount of free space
// for them to collectively occupy
for index, entry := range entries {