Add SetStyle Function

This commit is contained in:
2026-01-23 09:36:43 -06:00
parent d442b7d6a8
commit c1296b1dc1
31 changed files with 425 additions and 392 deletions

View File

@@ -139,25 +139,26 @@ func (w *AbsoluteLayout) Draw(screen tcell.Screen) {
} }
} }
func (w *AbsoluteLayout) Active() bool { return w.active } func (w *AbsoluteLayout) SetStyle(s tcell.Style) { w.style = s }
func (w *AbsoluteLayout) SetActive(a bool) { w.active = a } func (w *AbsoluteLayout) Active() bool { return w.active }
func (w *AbsoluteLayout) Visible() bool { return w.visible } func (w *AbsoluteLayout) SetActive(a bool) { w.active = a }
func (w *AbsoluteLayout) SetVisible(a bool) { w.visible = a } func (w *AbsoluteLayout) Visible() bool { return w.visible }
func (w *AbsoluteLayout) Focusable() bool { return w.focusable } func (w *AbsoluteLayout) SetVisible(a bool) { w.visible = a }
func (w *AbsoluteLayout) SetFocusable(b bool) { w.focusable = b } func (w *AbsoluteLayout) Focusable() bool { return w.focusable }
func (w *AbsoluteLayout) SetX(x int) { w.x = x } func (w *AbsoluteLayout) SetFocusable(b bool) { w.focusable = b }
func (w *AbsoluteLayout) SetY(y int) { w.y = y } func (w *AbsoluteLayout) SetX(x int) { w.x = x }
func (w *AbsoluteLayout) GetX() int { return w.x } func (w *AbsoluteLayout) SetY(y int) { w.y = y }
func (w *AbsoluteLayout) GetY() int { return w.y } func (w *AbsoluteLayout) GetX() int { return w.x }
func (w *AbsoluteLayout) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *AbsoluteLayout) GetY() int { return w.y }
func (w *AbsoluteLayout) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *AbsoluteLayout) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *AbsoluteLayout) GetW() int { return w.w } func (w *AbsoluteLayout) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *AbsoluteLayout) GetH() int { return w.h } func (w *AbsoluteLayout) GetW() int { return w.w }
func (w *AbsoluteLayout) SetW(wd int) { w.w = wd } func (w *AbsoluteLayout) GetH() int { return w.h }
func (w *AbsoluteLayout) SetH(h int) { w.h = h } func (w *AbsoluteLayout) SetW(wd int) { w.w = wd }
func (w *AbsoluteLayout) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *AbsoluteLayout) SetH(h int) { w.h = h }
func (w *AbsoluteLayout) WantW() int { return w.w } func (w *AbsoluteLayout) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *AbsoluteLayout) WantH() int { return w.h } func (w *AbsoluteLayout) WantW() int { return w.w }
func (w *AbsoluteLayout) WantH() int { return w.h }
func (w *AbsoluteLayout) MinW() int { func (w *AbsoluteLayout) MinW() int {
// Find the highest value for x in all widgets GetX() + MinW() // Find the highest value for x in all widgets GetX() + MinW()
var minW int var minW int

View File

@@ -125,23 +125,24 @@ func (w *Alert) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.layout, screen) w.GetPos().DrawOffset(w.layout, screen)
} }
func (w *Alert) Active() bool { return w.active } func (w *Alert) SetStyle(s tcell.Style) { w.style = s }
func (w *Alert) SetActive(a bool) { w.active = a } func (w *Alert) Active() bool { return w.active }
func (w *Alert) Visible() bool { return w.visible } func (w *Alert) SetActive(a bool) { w.active = a }
func (w *Alert) SetVisible(a bool) { w.visible = a } func (w *Alert) Visible() bool { return w.visible }
func (w *Alert) SetX(x int) { w.x = x } func (w *Alert) SetVisible(a bool) { w.visible = a }
func (w *Alert) SetY(y int) { w.y = y } func (w *Alert) SetX(x int) { w.x = x }
func (w *Alert) GetX() int { return w.x } func (w *Alert) SetY(y int) { w.y = y }
func (w *Alert) GetY() int { return w.y } func (w *Alert) GetX() int { return w.x }
func (w *Alert) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Alert) GetY() int { return w.y }
func (w *Alert) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Alert) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Alert) SetW(x int) { w.w = x } func (w *Alert) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Alert) SetH(y int) { w.h = y } func (w *Alert) SetW(x int) { w.w = x }
func (w *Alert) GetW() int { return w.w } func (w *Alert) SetH(y int) { w.h = y }
func (w *Alert) GetH() int { return w.y } func (w *Alert) GetW() int { return w.w }
func (w *Alert) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Alert) GetH() int { return w.y }
func (w *Alert) Focusable() bool { return w.focusable } func (w *Alert) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Alert) SetFocusable(b bool) { w.focusable = b } func (w *Alert) Focusable() bool { return w.focusable }
func (w *Alert) SetFocusable(b bool) { w.focusable = b }
func (w *Alert) WantW() int { func (w *Alert) WantW() int {
return 4 + wh.Max(w.message.WantW(), (w.btnOk.WantW()+w.btnCancel.WantW())) return 4 + wh.Max(w.message.WantW(), (w.btnOk.WantW()+w.btnCancel.WantW()))
} }

View File

@@ -80,23 +80,24 @@ func (w *ArtWidget) Draw(screen tcell.Screen) {
w.buffer.Draw(w.x, w.y, screen) w.buffer.Draw(w.x, w.y, screen)
} }
func (w *ArtWidget) Active() bool { return w.active } func (w *ArtWidget) SetStyle(s tcell.Style) { w.style = s }
func (w *ArtWidget) SetActive(a bool) { w.active = a } func (w *ArtWidget) Active() bool { return w.active }
func (w *ArtWidget) Visible() bool { return w.visible } func (w *ArtWidget) SetActive(a bool) { w.active = a }
func (w *ArtWidget) SetVisible(v bool) { w.visible = v } func (w *ArtWidget) Visible() bool { return w.visible }
func (w *ArtWidget) Focusable() bool { return w.focusable } func (w *ArtWidget) SetVisible(v bool) { w.visible = v }
func (w *ArtWidget) SetFocusable(t bool) { w.focusable = t } func (w *ArtWidget) Focusable() bool { return w.focusable }
func (w *ArtWidget) SetX(x int) { w.x = x } func (w *ArtWidget) SetFocusable(t bool) { w.focusable = t }
func (w *ArtWidget) SetY(y int) { w.y = y } func (w *ArtWidget) SetX(x int) { w.x = x }
func (w *ArtWidget) GetX() int { return w.x } func (w *ArtWidget) SetY(y int) { w.y = y }
func (w *ArtWidget) GetY() int { return w.y } func (w *ArtWidget) GetX() int { return w.x }
func (w *ArtWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *ArtWidget) GetY() int { return w.y }
func (w *ArtWidget) SetPos(pos Coord) { w.x, w.y = pos.X, pos.Y } func (w *ArtWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *ArtWidget) SetSize(size Coord) { w.w, w.h = size.X, size.Y } func (w *ArtWidget) SetPos(pos Coord) { w.x, w.y = pos.X, pos.Y }
func (w *ArtWidget) SetW(wd int) { w.w = wd } func (w *ArtWidget) SetSize(size Coord) { w.w, w.h = size.X, size.Y }
func (w *ArtWidget) SetH(h int) { w.h = h } func (w *ArtWidget) SetW(wd int) { w.w = wd }
func (w *ArtWidget) GetW() int { return w.w } func (w *ArtWidget) SetH(h int) { w.h = h }
func (w *ArtWidget) GetH() int { return w.h } func (w *ArtWidget) GetW() int { return w.w }
func (w *ArtWidget) GetH() int { return w.h }
func (w *ArtWidget) WantW() int { return w.buffer.Width() } func (w *ArtWidget) WantW() int { return w.buffer.Width() }
func (w *ArtWidget) WantH() int { return w.buffer.Height() } func (w *ArtWidget) WantH() int { return w.buffer.Height() }

View File

@@ -51,27 +51,28 @@ func (w *BlankWidget) HandleKey(ev *tcell.EventKey) bool { return false }
func (w *BlankWidget) HandleTime(ev *tcell.EventTime) {} func (w *BlankWidget) HandleTime(ev *tcell.EventTime) {}
func (w *BlankWidget) Draw(screen tcell.Screen) {} func (w *BlankWidget) Draw(screen tcell.Screen) {}
func (w *BlankWidget) Active() bool { return false } func (w *BlankWidget) SetStyle(s tcell.Style) { w.style = s }
func (w *BlankWidget) SetActive(a bool) {} func (w *BlankWidget) Active() bool { return false }
func (w *BlankWidget) Visible() bool { return true } func (w *BlankWidget) SetActive(a bool) {}
func (w *BlankWidget) SetVisible(v bool) {} func (w *BlankWidget) Visible() bool { return true }
func (w *BlankWidget) Focusable() bool { return false } func (w *BlankWidget) SetVisible(v bool) {}
func (w *BlankWidget) SetFocusable(t bool) {} func (w *BlankWidget) Focusable() bool { return false }
func (w *BlankWidget) SetX(x int) {} func (w *BlankWidget) SetFocusable(t bool) {}
func (w *BlankWidget) SetY(y int) {} func (w *BlankWidget) SetX(x int) {}
func (w *BlankWidget) GetX() int { return w.x } func (w *BlankWidget) SetY(y int) {}
func (w *BlankWidget) GetY() int { return w.y } func (w *BlankWidget) GetX() int { return w.x }
func (w *BlankWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *BlankWidget) GetY() int { return w.y }
func (w *BlankWidget) SetPos(pos Coord) {} func (w *BlankWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *BlankWidget) SetSize(size Coord) {} func (w *BlankWidget) SetPos(pos Coord) {}
func (w *BlankWidget) SetW(wd int) {} func (w *BlankWidget) SetSize(size Coord) {}
func (w *BlankWidget) SetH(h int) {} func (w *BlankWidget) SetW(wd int) {}
func (w *BlankWidget) GetW() int { return 0 } func (w *BlankWidget) SetH(h int) {}
func (w *BlankWidget) GetH() int { return 0 } func (w *BlankWidget) GetW() int { return 0 }
func (w *BlankWidget) WantW() int { return w.wantW } func (w *BlankWidget) GetH() int { return 0 }
func (w *BlankWidget) WantH() int { return w.wantH } func (w *BlankWidget) WantW() int { return w.wantW }
func (w *BlankWidget) MinW() int { return 0 } func (w *BlankWidget) WantH() int { return w.wantH }
func (w *BlankWidget) MinH() int { return 0 } func (w *BlankWidget) MinW() int { return 0 }
func (w *BlankWidget) MinH() int { return 0 }
func (w *BlankWidget) SetWantH(v int) { w.wantH = v } func (w *BlankWidget) SetWantH(v int) { w.wantH = v }
func (w *BlankWidget) SetWantW(v int) { w.wantW = v } func (w *BlankWidget) SetWantW(v int) { w.wantW = v }

View File

@@ -91,27 +91,28 @@ func (w *BorderedWidget) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.widget, screen) w.GetPos().DrawOffset(w.widget, screen)
} }
func (w *BorderedWidget) Active() bool { return w.widget.Active() } func (w *BorderedWidget) SetStyle(s tcell.Style) { w.style = s }
func (w *BorderedWidget) SetActive(a bool) { w.widget.SetActive(a) } func (w *BorderedWidget) Active() bool { return w.widget.Active() }
func (w *BorderedWidget) Visible() bool { return w.widget.Visible() } func (w *BorderedWidget) SetActive(a bool) { w.widget.SetActive(a) }
func (w *BorderedWidget) SetVisible(a bool) { w.SetVisible(a) } func (w *BorderedWidget) Visible() bool { return w.widget.Visible() }
func (w *BorderedWidget) Focusable() bool { return w.widget.Focusable() } func (w *BorderedWidget) SetVisible(a bool) { w.SetVisible(a) }
func (w *BorderedWidget) SetFocusable(b bool) { w.widget.SetFocusable(b) } func (w *BorderedWidget) Focusable() bool { return w.widget.Focusable() }
func (w *BorderedWidget) SetX(x int) { w.x = x } func (w *BorderedWidget) SetFocusable(b bool) { w.widget.SetFocusable(b) }
func (w *BorderedWidget) SetY(y int) { w.y = y } func (w *BorderedWidget) SetX(x int) { w.x = x }
func (w *BorderedWidget) GetX() int { return w.x } func (w *BorderedWidget) SetY(y int) { w.y = y }
func (w *BorderedWidget) GetY() int { return w.y } func (w *BorderedWidget) GetX() int { return w.x }
func (w *BorderedWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *BorderedWidget) GetY() int { return w.y }
func (w *BorderedWidget) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *BorderedWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *BorderedWidget) GetW() int { return w.w } func (w *BorderedWidget) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *BorderedWidget) GetH() int { return w.h } func (w *BorderedWidget) GetW() int { return w.w }
func (w *BorderedWidget) SetW(wd int) { w.w = wd } func (w *BorderedWidget) GetH() int { return w.h }
func (w *BorderedWidget) SetH(h int) { w.h = h } func (w *BorderedWidget) SetW(wd int) { w.w = wd }
func (w *BorderedWidget) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *BorderedWidget) SetH(h int) { w.h = h }
func (w *BorderedWidget) WantW() int { return w.w } func (w *BorderedWidget) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *BorderedWidget) WantH() int { return w.h } func (w *BorderedWidget) WantW() int { return w.w }
func (w *BorderedWidget) MinW() int { return 2 + w.widget.MinW() } func (w *BorderedWidget) WantH() int { return w.h }
func (w *BorderedWidget) MinH() int { return 2 + w.widget.MinH() } func (w *BorderedWidget) MinW() int { return 2 + w.widget.MinW() }
func (w *BorderedWidget) MinH() int { return 2 + w.widget.MinH() }
func (w *BorderedWidget) SetBorder(r []rune) { w.border = r } func (w *BorderedWidget) SetBorder(r []rune) { w.border = r }
func (w *BorderedWidget) SetTitle(ttl string) { w.title = ttl } func (w *BorderedWidget) SetTitle(ttl string) { w.title = ttl }

View File

@@ -75,23 +75,25 @@ func (w *BufferWidget) HandleKey(ev *tcell.EventKey) bool {
} }
func (w *BufferWidget) HandleTime(ev *tcell.EventTime) { w.timeMap.Handle(ev) } func (w *BufferWidget) HandleTime(ev *tcell.EventTime) { w.timeMap.Handle(ev) }
func (w *BufferWidget) Draw(screen tcell.Screen) { w.buffer.Draw(w.x, w.y, screen) } func (w *BufferWidget) Draw(screen tcell.Screen) { w.buffer.Draw(w.x, w.y, screen) }
func (w *BufferWidget) Active() bool { return w.active }
func (w *BufferWidget) SetActive(a bool) { w.active = a } func (w *BufferWidget) SetStyle(s tcell.Style) { w.style = s }
func (w *BufferWidget) Visible() bool { return w.visible } func (w *BufferWidget) Active() bool { return w.active }
func (w *BufferWidget) SetVisible(a bool) { w.visible = a } func (w *BufferWidget) SetActive(a bool) { w.active = a }
func (w *BufferWidget) Focusable() bool { return w.focusable } func (w *BufferWidget) Visible() bool { return w.visible }
func (w *BufferWidget) SetFocusable(b bool) { w.focusable = b } func (w *BufferWidget) SetVisible(a bool) { w.visible = a }
func (w *BufferWidget) SetX(x int) { w.x = x } func (w *BufferWidget) Focusable() bool { return w.focusable }
func (w *BufferWidget) SetY(y int) { w.y = y } func (w *BufferWidget) SetFocusable(b bool) { w.focusable = b }
func (w *BufferWidget) GetX() int { return w.x } func (w *BufferWidget) SetX(x int) { w.x = x }
func (w *BufferWidget) GetY() int { return w.y } func (w *BufferWidget) SetY(y int) { w.y = y }
func (w *BufferWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *BufferWidget) GetX() int { return w.x }
func (w *BufferWidget) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *BufferWidget) GetY() int { return w.y }
func (w *BufferWidget) GetW() int { return w.buffer.Width() } func (w *BufferWidget) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *BufferWidget) GetH() int { return w.buffer.Height() } func (w *BufferWidget) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *BufferWidget) SetW(wd int) { w.w = wd } func (w *BufferWidget) GetW() int { return w.buffer.Width() }
func (w *BufferWidget) SetH(h int) { w.h = h } func (w *BufferWidget) GetH() int { return w.buffer.Height() }
func (w *BufferWidget) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *BufferWidget) SetW(wd int) { w.w = wd }
func (w *BufferWidget) SetH(h int) { w.h = h }
func (w *BufferWidget) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *BufferWidget) WantW() int { return w.buffer.Width() } func (w *BufferWidget) WantW() int { return w.buffer.Width() }
func (w *BufferWidget) WantH() int { return w.buffer.Height() } func (w *BufferWidget) WantH() int { return w.buffer.Height() }

View File

@@ -119,27 +119,28 @@ func (w *Button) Draw(screen tcell.Screen) {
wh.DrawText(w.x, w.y+2, fmt.Sprintf("╰%s╯", strings.Repeat("─", w.w-2)), dStyle, screen) wh.DrawText(w.x, w.y+2, fmt.Sprintf("╰%s╯", strings.Repeat("─", w.w-2)), dStyle, screen)
} }
func (w *Button) Active() bool { return w.active } func (w *Button) SetStyle(s tcell.Style) { w.style = s }
func (w *Button) SetActive(a bool) { w.active = a } func (w *Button) Active() bool { return w.active }
func (w *Button) Visible() bool { return w.visible } func (w *Button) SetActive(a bool) { w.active = a }
func (w *Button) SetVisible(a bool) { w.visible = a } func (w *Button) Visible() bool { return w.visible }
func (w *Button) SetX(x int) { w.x = x } func (w *Button) SetVisible(a bool) { w.visible = a }
func (w *Button) SetY(y int) { w.y = y } func (w *Button) SetX(x int) { w.x = x }
func (w *Button) GetX() int { return w.x } func (w *Button) SetY(y int) { w.y = y }
func (w *Button) GetY() int { return w.y } func (w *Button) GetX() int { return w.x }
func (w *Button) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Button) GetY() int { return w.y }
func (w *Button) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Button) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Button) SetW(x int) { w.w = x } func (w *Button) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Button) SetH(y int) { w.h = y } func (w *Button) SetW(x int) { w.w = x }
func (w *Button) GetW() int { return w.w } func (w *Button) SetH(y int) { w.h = y }
func (w *Button) GetH() int { return w.h } func (w *Button) GetW() int { return w.w }
func (w *Button) WantW() int { return 4 + len(w.label) } func (w *Button) GetH() int { return w.h }
func (w *Button) WantH() int { return 3 } func (w *Button) WantW() int { return 4 + len(w.label) }
func (w *Button) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Button) WantH() int { return 3 }
func (w *Button) Focusable() bool { return w.focusable } func (w *Button) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Button) SetFocusable(b bool) { w.focusable = b } func (w *Button) Focusable() bool { return w.focusable }
func (w *Button) MinW() int { return len(w.label) + 2 } func (w *Button) SetFocusable(b bool) { w.focusable = b }
func (w *Button) MinH() int { return 1 } func (w *Button) MinW() int { return len(w.label) + 2 }
func (w *Button) MinH() int { return 1 }
func (w *Button) SetLabel(l string) { w.label = l } func (w *Button) SetLabel(l string) { w.label = l }
func (w *Button) SetOnPressed(p func() bool) { w.onPressed = p } func (w *Button) SetOnPressed(p func() bool) { w.onPressed = p }

View File

@@ -158,27 +158,28 @@ func (w *Chat) Draw(screen tcell.Screen) {
// x += len(post) - 1 // x += len(post) - 1
} }
func (w *Chat) Active() bool { return w.active } func (w *Chat) SetStyle(s tcell.Style) { w.style = s }
func (w *Chat) SetActive(a bool) { w.active = a } func (w *Chat) Active() bool { return w.active }
func (w *Chat) Visible() bool { return w.visible } func (w *Chat) SetActive(a bool) { w.active = a }
func (w *Chat) SetVisible(a bool) { w.visible = a } func (w *Chat) Visible() bool { return w.visible }
func (w *Chat) Focusable() bool { return w.focusable } func (w *Chat) SetVisible(a bool) { w.visible = a }
func (w *Chat) SetFocusable(b bool) { w.focusable = b } func (w *Chat) Focusable() bool { return w.focusable }
func (w *Chat) SetX(x int) { w.x = x } func (w *Chat) SetFocusable(b bool) { w.focusable = b }
func (w *Chat) SetY(y int) { w.y = y } func (w *Chat) SetX(x int) { w.x = x }
func (w *Chat) GetX() int { return w.x } func (w *Chat) SetY(y int) { w.y = y }
func (w *Chat) GetY() int { return w.y } func (w *Chat) GetX() int { return w.x }
func (w *Chat) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Chat) GetY() int { return w.y }
func (w *Chat) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Chat) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Chat) GetW() int { return w.w } func (w *Chat) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Chat) GetH() int { return w.h } func (w *Chat) GetW() int { return w.w }
func (w *Chat) SetW(wd int) { w.w = wd } func (w *Chat) GetH() int { return w.h }
func (w *Chat) SetH(h int) { w.h = h } func (w *Chat) SetW(wd int) { w.w = wd }
func (w *Chat) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Chat) SetH(h int) { w.h = h }
func (w *Chat) WantW() int { return wh.MaxInt } func (w *Chat) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Chat) WantH() int { return wh.MaxInt } func (w *Chat) WantW() int { return wh.MaxInt }
func (w *Chat) MinW() int { return 2 + 20 } func (w *Chat) WantH() int { return wh.MaxInt }
func (w *Chat) MinH() int { return 6 } func (w *Chat) MinW() int { return 2 + 20 }
func (w *Chat) MinH() int { return 6 }
func (w *Chat) initKeyMap() { func (w *Chat) initKeyMap() {
w.keyMap = NewKeyMap( w.keyMap = NewKeyMap(

View File

@@ -92,20 +92,21 @@ func (w *Checkbox) Draw(screen tcell.Screen) {
wh.DrawText(w.x, w.y, fmt.Sprintf("[%s] %s", string(w.stateRunes[w.state]), w.label), dStyle, screen) wh.DrawText(w.x, w.y, fmt.Sprintf("[%s] %s", string(w.stateRunes[w.state]), w.label), dStyle, screen)
} }
func (w *Checkbox) Active() bool { return w.active } func (w *Checkbox) SetStyle(s tcell.Style) { w.style = s }
func (w *Checkbox) SetActive(a bool) { w.active = a } func (w *Checkbox) Active() bool { return w.active }
func (w *Checkbox) Visible() bool { return w.visible } func (w *Checkbox) SetActive(a bool) { w.active = a }
func (w *Checkbox) SetVisible(a bool) { w.visible = a } func (w *Checkbox) Visible() bool { return w.visible }
func (w *Checkbox) SetX(x int) { w.x = x } func (w *Checkbox) SetVisible(a bool) { w.visible = a }
func (w *Checkbox) SetY(y int) { w.y = y } func (w *Checkbox) SetX(x int) { w.x = x }
func (w *Checkbox) GetX() int { return w.x } func (w *Checkbox) SetY(y int) { w.y = y }
func (w *Checkbox) GetY() int { return w.y } func (w *Checkbox) GetX() int { return w.x }
func (w *Checkbox) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Checkbox) GetY() int { return w.y }
func (w *Checkbox) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Checkbox) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Checkbox) SetW(x int) { w.w = x } func (w *Checkbox) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Checkbox) SetH(y int) { w.h = y } func (w *Checkbox) SetW(x int) { w.w = x }
func (w *Checkbox) GetW() int { return w.w } func (w *Checkbox) SetH(y int) { w.h = y }
func (w *Checkbox) GetH() int { return w.y } func (w *Checkbox) GetW() int { return w.w }
func (w *Checkbox) GetH() int { return w.y }
func (w *Checkbox) WantW() int { func (w *Checkbox) WantW() int {
return len(fmt.Sprintf("[%s] %s", string(w.state), w.label)) return len(fmt.Sprintf("[%s] %s", string(w.state), w.label))
} }

View File

@@ -172,24 +172,25 @@ func (w *Cli) Draw(screen tcell.Screen) {
wh.DrawText(x, y, wh.PadR(post, w.w-x-2), dStyle, screen) wh.DrawText(x, y, wh.PadR(post, w.w-x-2), dStyle, screen)
} }
func (w *Cli) Active() bool { return w.active } func (w *Cli) SetStyle(s tcell.Style) { w.style = s }
func (w *Cli) SetActive(a bool) { w.active = a } func (w *Cli) Active() bool { return w.active }
func (w *Cli) Visible() bool { return w.visible } func (w *Cli) SetActive(a bool) { w.active = a }
func (w *Cli) SetVisible(a bool) { w.visible = a } func (w *Cli) Visible() bool { return w.visible }
func (w *Cli) Focusable() bool { return true } func (w *Cli) SetVisible(a bool) { w.visible = a }
func (w *Cli) SetFocusable(b bool) { w.focusable = b } func (w *Cli) Focusable() bool { return true }
func (w *Cli) SetX(x int) { w.x = x } func (w *Cli) SetFocusable(b bool) { w.focusable = b }
func (w *Cli) SetY(y int) { w.y = y } func (w *Cli) SetX(x int) { w.x = x }
func (w *Cli) GetX() int { return w.x } func (w *Cli) SetY(y int) { w.y = y }
func (w *Cli) GetY() int { return w.y } func (w *Cli) GetX() int { return w.x }
func (w *Cli) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Cli) GetY() int { return w.y }
func (w *Cli) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Cli) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Cli) GetW() int { return w.w } func (w *Cli) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Cli) GetH() int { return w.h } func (w *Cli) GetW() int { return w.w }
func (w *Cli) SetW(wd int) { w.w = wd } func (w *Cli) GetH() int { return w.h }
func (w *Cli) SetH(h int) { w.h = h } func (w *Cli) SetW(wd int) { w.w = wd }
func (w *Cli) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Cli) SetH(h int) { w.h = h }
func (w *Cli) WantW() int { return wh.MaxInt } func (w *Cli) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Cli) WantW() int { return wh.MaxInt }
func (w *Cli) WantH() int { func (w *Cli) WantH() int {
if w.minimized { if w.minimized {
return 3 return 3

View File

@@ -129,7 +129,8 @@ func (w *DatePicker) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.dateNow, screen) w.GetPos().DrawOffset(w.dateNow, screen)
} }
func (w *DatePicker) Active() bool { return w.active } func (w *DatePicker) SetStyle(s tcell.Style) { w.style = s }
func (w *DatePicker) Active() bool { return w.active }
func (w *DatePicker) SetActive(a bool) { func (w *DatePicker) SetActive(a bool) {
if !w.active && a { if !w.active && a {
// Wasn't active, but turning on // Wasn't active, but turning on

View File

@@ -165,7 +165,8 @@ func (w *DebugWidget) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.widget, screen) w.GetPos().DrawOffset(w.widget, screen)
} }
func (w *DebugWidget) Active() bool { return w.active } func (w *DebugWidget) SetStyle(s tcell.Style) { w.style = s }
func (w *DebugWidget) Active() bool { return w.active }
func (w *DebugWidget) SetActive(a bool) { func (w *DebugWidget) SetActive(a bool) {
w.active = a w.active = a
w.widget.SetActive(a) w.widget.SetActive(a)

View File

@@ -155,20 +155,21 @@ func (w *Field) Draw(screen tcell.Screen) {
wh.DrawText(x, w.y, post, valueStyle, screen) wh.DrawText(x, w.y, post, valueStyle, screen)
} }
func (w *Field) Active() bool { return w.active } func (w *Field) SetStyle(s tcell.Style) { w.style = s }
func (w *Field) SetActive(a bool) { w.active = a } func (w *Field) Active() bool { return w.active }
func (w *Field) Visible() bool { return w.visible } func (w *Field) SetActive(a bool) { w.active = a }
func (w *Field) SetVisible(a bool) { w.visible = a } func (w *Field) Visible() bool { return w.visible }
func (w *Field) SetX(x int) { w.x = x } func (w *Field) SetVisible(a bool) { w.visible = a }
func (w *Field) SetY(y int) { w.y = y } func (w *Field) SetX(x int) { w.x = x }
func (w *Field) GetX() int { return w.x } func (w *Field) SetY(y int) { w.y = y }
func (w *Field) GetY() int { return w.y } func (w *Field) GetX() int { return w.x }
func (w *Field) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Field) GetY() int { return w.y }
func (w *Field) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Field) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Field) SetW(wd int) { w.w = wd } func (w *Field) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Field) SetH(h int) { w.h = h } func (w *Field) SetW(wd int) { w.w = wd }
func (w *Field) GetW() int { return w.w } func (w *Field) SetH(h int) { w.h = h }
func (w *Field) GetH() int { return w.h } func (w *Field) GetW() int { return w.w }
func (w *Field) GetH() int { return w.h }
func (w *Field) WantW() int { func (w *Field) WantW() int {
vM := wh.Max(40, len(w.value)) vM := wh.Max(40, len(w.value))
if len(w.label) > 0 { if len(w.label) > 0 {

View File

@@ -121,23 +121,24 @@ func (w *FilePicker) Draw(screen tcell.Screen) {
p.DrawOffset(w.btnSelect, screen) p.DrawOffset(w.btnSelect, screen)
} }
func (w *FilePicker) Active() bool { return w.active } func (w *FilePicker) SetStyle(s tcell.Style) { w.style = s }
func (w *FilePicker) SetActive(a bool) { w.active = a } func (w *FilePicker) Active() bool { return w.active }
func (w *FilePicker) Visible() bool { return w.visible } func (w *FilePicker) SetActive(a bool) { w.active = a }
func (w *FilePicker) SetVisible(a bool) { w.visible = a } func (w *FilePicker) Visible() bool { return w.visible }
func (w *FilePicker) SetX(x int) { w.x = x } func (w *FilePicker) SetVisible(a bool) { w.visible = a }
func (w *FilePicker) SetY(y int) { w.y = y } func (w *FilePicker) SetX(x int) { w.x = x }
func (w *FilePicker) GetX() int { return w.x } func (w *FilePicker) SetY(y int) { w.y = y }
func (w *FilePicker) GetY() int { return w.y } func (w *FilePicker) GetX() int { return w.x }
func (w *FilePicker) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *FilePicker) GetY() int { return w.y }
func (w *FilePicker) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *FilePicker) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *FilePicker) SetW(x int) { w.w = x } func (w *FilePicker) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *FilePicker) SetH(y int) { w.h = y } func (w *FilePicker) SetW(x int) { w.w = x }
func (w *FilePicker) GetW() int { return w.w } func (w *FilePicker) SetH(y int) { w.h = y }
func (w *FilePicker) GetH() int { return w.y } func (w *FilePicker) GetW() int { return w.w }
func (w *FilePicker) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *FilePicker) GetH() int { return w.y }
func (w *FilePicker) Focusable() bool { return w.focusable } func (w *FilePicker) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *FilePicker) SetFocusable(b bool) { w.focusable = b } func (w *FilePicker) Focusable() bool { return w.focusable }
func (w *FilePicker) SetFocusable(b bool) { w.focusable = b }
func (w *FilePicker) WantW() int { func (w *FilePicker) WantW() int {
// borders + the greater of the buttons next to each other or the list width // borders + the greater of the buttons next to each other or the list width
return wh.Max((w.btnSelect.WantW()+w.btnCancel.WantW()), w.fileList.WantW()) + 2 return wh.Max((w.btnSelect.WantW()+w.btnCancel.WantW()), w.fileList.WantW()) + 2

View File

@@ -146,7 +146,8 @@ func (w *Form) Draw(screen tcell.Screen) {
} }
} }
func (w *Form) Active() bool { return w.active } func (w *Form) SetStyle(s tcell.Style) { w.style = s }
func (w *Form) Active() bool { return w.active }
func (w *Form) SetActive(a bool) { func (w *Form) SetActive(a bool) {
w.active = a w.active = a
w.updateWidgets() w.updateWidgets()

View File

@@ -160,7 +160,8 @@ func (w *LinearLayout) Draw(screen tcell.Screen) {
} }
} }
func (w *LinearLayout) Active() bool { return w.active } func (w *LinearLayout) SetStyle(s tcell.Style) { w.style = s }
func (w *LinearLayout) Active() bool { return w.active }
func (w *LinearLayout) SetActive(a bool) { func (w *LinearLayout) SetActive(a bool) {
w.active = a w.active = a
if w.active { if w.active {

View File

@@ -224,23 +224,25 @@ func (w *Menu) drawVMenu(screen tcell.Screen) {
y++ y++
} }
} }
func (w *Menu) Active() bool { return w.active }
func (w *Menu) SetActive(a bool) { w.active = a } func (w *Menu) SetStyle(s tcell.Style) { w.style = s }
func (w *Menu) Visible() bool { return w.visible } func (w *Menu) Active() bool { return w.active }
func (w *Menu) SetVisible(a bool) { w.visible = a } func (w *Menu) SetActive(a bool) { w.active = a }
func (w *Menu) SetX(x int) { w.x = x } func (w *Menu) Visible() bool { return w.visible }
func (w *Menu) SetY(y int) { w.y = y } func (w *Menu) SetVisible(a bool) { w.visible = a }
func (w *Menu) GetX() int { return w.x } func (w *Menu) SetX(x int) { w.x = x }
func (w *Menu) GetY() int { return w.y } func (w *Menu) SetY(y int) { w.y = y }
func (w *Menu) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Menu) GetX() int { return w.x }
func (w *Menu) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Menu) GetY() int { return w.y }
func (w *Menu) SetW(x int) { w.w = x } func (w *Menu) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Menu) SetH(y int) { w.h = y } func (w *Menu) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Menu) GetW() int { return w.w } func (w *Menu) SetW(x int) { w.w = x }
func (w *Menu) GetH() int { return w.y } func (w *Menu) SetH(y int) { w.h = y }
func (w *Menu) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Menu) GetW() int { return w.w }
func (w *Menu) Focusable() bool { return true } func (w *Menu) GetH() int { return w.y }
func (w *Menu) SetFocusable(b bool) { w.focusable = b } func (w *Menu) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Menu) Focusable() bool { return true }
func (w *Menu) SetFocusable(b bool) { w.focusable = b }
func (w *Menu) WantW() int { func (w *Menu) WantW() int {
var maxW int var maxW int

View File

@@ -197,7 +197,8 @@ func (w *MenuItem) Draw(screen tcell.Screen) {
} }
} }
func (w *MenuItem) Active() bool { return w.active } func (w *MenuItem) SetStyle(s tcell.Style) { w.style = s }
func (w *MenuItem) Active() bool { return w.active }
func (w *MenuItem) SetActive(a bool) { func (w *MenuItem) SetActive(a bool) {
w.active = a w.active = a
if !w.manualExpand { if !w.manualExpand {

View File

@@ -114,23 +114,24 @@ func (w *Prompt) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.btnCancel, screen) w.GetPos().DrawOffset(w.btnCancel, screen)
} }
func (w *Prompt) Active() bool { return w.active } func (w *Prompt) SetStyle(s tcell.Style) { w.style = s }
func (w *Prompt) SetActive(a bool) { w.active = a } func (w *Prompt) Active() bool { return w.active }
func (w *Prompt) Visible() bool { return w.visible } func (w *Prompt) SetActive(a bool) { w.active = a }
func (w *Prompt) SetVisible(a bool) { w.visible = a } func (w *Prompt) Visible() bool { return w.visible }
func (w *Prompt) SetX(x int) { w.x = x } func (w *Prompt) SetVisible(a bool) { w.visible = a }
func (w *Prompt) SetY(y int) { w.y = y } func (w *Prompt) SetX(x int) { w.x = x }
func (w *Prompt) GetX() int { return w.x } func (w *Prompt) SetY(y int) { w.y = y }
func (w *Prompt) GetY() int { return w.y } func (w *Prompt) GetX() int { return w.x }
func (w *Prompt) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Prompt) GetY() int { return w.y }
func (w *Prompt) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Prompt) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Prompt) SetW(x int) { w.w = x } func (w *Prompt) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Prompt) SetH(y int) { w.h = y } func (w *Prompt) SetW(x int) { w.w = x }
func (w *Prompt) GetW() int { return w.w } func (w *Prompt) SetH(y int) { w.h = y }
func (w *Prompt) GetH() int { return w.y } func (w *Prompt) GetW() int { return w.w }
func (w *Prompt) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Prompt) GetH() int { return w.y }
func (w *Prompt) Focusable() bool { return w.focusable } func (w *Prompt) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Prompt) SetFocusable(b bool) { w.focusable = b } func (w *Prompt) Focusable() bool { return w.focusable }
func (w *Prompt) SetFocusable(b bool) { w.focusable = b }
func (w *Prompt) WantW() int { func (w *Prompt) WantW() int {
return w.btnOk.WantW() + w.btnCancel.WantW() + 4 return w.btnOk.WantW() + w.btnCancel.WantW() + 4
} }

View File

@@ -112,25 +112,26 @@ func (w *RelativeLayout) Draw(screen tcell.Screen) {
*/ */
} }
func (w *RelativeLayout) Active() bool { return w.active } func (w *RelativeLayout) SetStyle(s tcell.Style) { w.style = s }
func (w *RelativeLayout) SetActive(a bool) { w.active = a } func (w *RelativeLayout) Active() bool { return w.active }
func (w *RelativeLayout) Visible() bool { return w.visible } func (w *RelativeLayout) SetActive(a bool) { w.active = a }
func (w *RelativeLayout) SetVisible(a bool) { w.visible = a } func (w *RelativeLayout) Visible() bool { return w.visible }
func (w *RelativeLayout) Focusable() bool { return w.focusable } func (w *RelativeLayout) SetVisible(a bool) { w.visible = a }
func (w *RelativeLayout) SetFocusable(b bool) { w.focusable = b } func (w *RelativeLayout) Focusable() bool { return w.focusable }
func (w *RelativeLayout) SetX(x int) { w.x = x } func (w *RelativeLayout) SetFocusable(b bool) { w.focusable = b }
func (w *RelativeLayout) SetY(y int) { w.y = y } func (w *RelativeLayout) SetX(x int) { w.x = x }
func (w *RelativeLayout) GetX() int { return w.x } func (w *RelativeLayout) SetY(y int) { w.y = y }
func (w *RelativeLayout) GetY() int { return w.y } func (w *RelativeLayout) GetX() int { return w.x }
func (w *RelativeLayout) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *RelativeLayout) GetY() int { return w.y }
func (w *RelativeLayout) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *RelativeLayout) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *RelativeLayout) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *RelativeLayout) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *RelativeLayout) SetW(wd int) { w.w = wd } func (w *RelativeLayout) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *RelativeLayout) SetH(h int) { w.h = h } func (w *RelativeLayout) SetW(wd int) { w.w = wd }
func (w *RelativeLayout) GetW() int { return w.w } func (w *RelativeLayout) SetH(h int) { w.h = h }
func (w *RelativeLayout) GetH() int { return w.h } func (w *RelativeLayout) GetW() int { return w.w }
func (w *RelativeLayout) WantW() int { return 1 } func (w *RelativeLayout) GetH() int { return w.h }
func (w *RelativeLayout) WantH() int { return 1 } func (w *RelativeLayout) WantW() int { return 1 }
func (w *RelativeLayout) WantH() int { return 1 }
func (w *RelativeLayout) MinW() int { func (w *RelativeLayout) MinW() int {
// Find the highest value for x in all widgets GetX() + MinW() // Find the highest value for x in all widgets GetX() + MinW()
var minW int var minW int

View File

@@ -257,7 +257,8 @@ func (w *Searcher) buildBuffer() {
w.buffer = b w.buffer = b
} }
func (w *Searcher) Active() bool { return w.active } func (w *Searcher) SetStyle(s tcell.Style) { w.style = s }
func (w *Searcher) Active() bool { return w.active }
func (w *Searcher) SetActive(a bool) { func (w *Searcher) SetActive(a bool) {
w.active = a w.active = a
w.search.SetActive(a) w.search.SetActive(a)

View File

@@ -46,24 +46,25 @@ func (w *ShrinkWrap) HandleKey(ev *tcell.EventKey) bool { return w.widget.Handle
func (w *ShrinkWrap) HandleTime(ev *tcell.EventTime) { w.widget.HandleTime(ev) } func (w *ShrinkWrap) HandleTime(ev *tcell.EventTime) { w.widget.HandleTime(ev) }
func (w *ShrinkWrap) Draw(screen tcell.Screen) { w.widget.Draw(screen) } func (w *ShrinkWrap) Draw(screen tcell.Screen) { w.widget.Draw(screen) }
func (w *ShrinkWrap) Active() bool { return w.widget.Active() } func (w *ShrinkWrap) SetStyle(s tcell.Style) { w.style = s }
func (w *ShrinkWrap) SetActive(a bool) { w.widget.SetActive(a) } func (w *ShrinkWrap) Active() bool { return w.widget.Active() }
func (w *ShrinkWrap) Visible() bool { return w.widget.Visible() } func (w *ShrinkWrap) SetActive(a bool) { w.widget.SetActive(a) }
func (w *ShrinkWrap) SetVisible(v bool) { w.widget.SetVisible(v) } func (w *ShrinkWrap) Visible() bool { return w.widget.Visible() }
func (w *ShrinkWrap) Focusable() bool { return w.widget.Focusable() } func (w *ShrinkWrap) SetVisible(v bool) { w.widget.SetVisible(v) }
func (w *ShrinkWrap) SetFocusable(t bool) { w.widget.SetFocusable(t) } func (w *ShrinkWrap) Focusable() bool { return w.widget.Focusable() }
func (w *ShrinkWrap) SetX(x int) { w.widget.SetX(x) } func (w *ShrinkWrap) SetFocusable(t bool) { w.widget.SetFocusable(t) }
func (w *ShrinkWrap) SetY(y int) { w.widget.SetY(y) } func (w *ShrinkWrap) SetX(x int) { w.widget.SetX(x) }
func (w *ShrinkWrap) GetX() int { return w.widget.GetX() } func (w *ShrinkWrap) SetY(y int) { w.widget.SetY(y) }
func (w *ShrinkWrap) GetY() int { return w.widget.GetY() } func (w *ShrinkWrap) GetX() int { return w.widget.GetX() }
func (w *ShrinkWrap) GetPos() Coord { return w.widget.GetPos() } func (w *ShrinkWrap) GetY() int { return w.widget.GetY() }
func (w *ShrinkWrap) SetPos(pos Coord) { w.widget.SetPos(pos) } func (w *ShrinkWrap) GetPos() Coord { return w.widget.GetPos() }
func (w *ShrinkWrap) SetSize(size Coord) { w.widget.SetSize(size) } func (w *ShrinkWrap) SetPos(pos Coord) { w.widget.SetPos(pos) }
func (w *ShrinkWrap) SetW(wd int) { w.widget.SetW(wd) } func (w *ShrinkWrap) SetSize(size Coord) { w.widget.SetSize(size) }
func (w *ShrinkWrap) SetH(h int) { w.widget.SetH(h) } func (w *ShrinkWrap) SetW(wd int) { w.widget.SetW(wd) }
func (w *ShrinkWrap) GetW() int { return w.widget.GetW() } func (w *ShrinkWrap) SetH(h int) { w.widget.SetH(h) }
func (w *ShrinkWrap) GetH() int { return w.widget.GetH() } func (w *ShrinkWrap) GetW() int { return w.widget.GetW() }
func (w *ShrinkWrap) WantW() int { return w.widget.MinW() } func (w *ShrinkWrap) GetH() int { return w.widget.GetH() }
func (w *ShrinkWrap) WantH() int { return w.widget.MinH() } func (w *ShrinkWrap) WantW() int { return w.widget.MinW() }
func (w *ShrinkWrap) MinW() int { return w.widget.MinW() } func (w *ShrinkWrap) WantH() int { return w.widget.MinH() }
func (w *ShrinkWrap) MinH() int { return w.widget.MinH() } func (w *ShrinkWrap) MinW() int { return w.widget.MinW() }
func (w *ShrinkWrap) MinH() int { return w.widget.MinH() }

View File

@@ -185,23 +185,24 @@ func (w *SimpleList) Draw(screen tcell.Screen) {
} }
} }
func (w *SimpleList) Active() bool { return w.active } func (w *SimpleList) SetStyle(s tcell.Style) { w.style = s }
func (w *SimpleList) SetActive(a bool) { w.active = a } func (w *SimpleList) Active() bool { return w.active }
func (w *SimpleList) Visible() bool { return w.visible } func (w *SimpleList) SetActive(a bool) { w.active = a }
func (w *SimpleList) SetVisible(a bool) { w.visible = a } func (w *SimpleList) Visible() bool { return w.visible }
func (w *SimpleList) SetX(x int) { w.x = x } func (w *SimpleList) SetVisible(a bool) { w.visible = a }
func (w *SimpleList) SetY(y int) { w.y = y } func (w *SimpleList) SetX(x int) { w.x = x }
func (w *SimpleList) GetX() int { return w.x } func (w *SimpleList) SetY(y int) { w.y = y }
func (w *SimpleList) GetY() int { return w.y } func (w *SimpleList) GetX() int { return w.x }
func (w *SimpleList) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *SimpleList) GetY() int { return w.y }
func (w *SimpleList) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *SimpleList) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *SimpleList) SetW(x int) { w.w = x } func (w *SimpleList) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *SimpleList) SetH(y int) { w.h = y } func (w *SimpleList) SetW(x int) { w.w = x }
func (w *SimpleList) GetW() int { return w.w } func (w *SimpleList) SetH(y int) { w.h = y }
func (w *SimpleList) GetH() int { return w.y } func (w *SimpleList) GetW() int { return w.w }
func (w *SimpleList) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *SimpleList) GetH() int { return w.y }
func (w *SimpleList) Focusable() bool { return w.focusable } func (w *SimpleList) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *SimpleList) SetFocusable(b bool) { w.focusable = b } func (w *SimpleList) Focusable() bool { return w.focusable }
func (w *SimpleList) SetFocusable(b bool) { w.focusable = b }
func (w *SimpleList) WantW() int { func (w *SimpleList) WantW() int {
lng := wh.Longest(w.list) lng := wh.Longest(w.list)
if len(w.border) > 0 { if len(w.border) > 0 {

View File

@@ -84,7 +84,8 @@ func (w *SimpleListWithHelp) Draw(screen tcell.Screen) {
w.GetPos().DrawOffset(w.help, screen) w.GetPos().DrawOffset(w.help, screen)
} }
func (w *SimpleListWithHelp) Active() bool { return w.list.Active() } func (w *SimpleListWithHelp) SetStyle(s tcell.Style) { w.style = s }
func (w *SimpleListWithHelp) Active() bool { return w.list.Active() }
func (w *SimpleListWithHelp) SetActive(a bool) { func (w *SimpleListWithHelp) SetActive(a bool) {
w.list.SetActive(a) w.list.SetActive(a)
w.help.SetVisible(a) w.help.SetVisible(a)

View File

@@ -78,27 +78,28 @@ func (w *Spinner) Draw(screen tcell.Screen) {
screen.SetContent(w.x, w.y, w.frames[w.currentFrame], nil, w.style) screen.SetContent(w.x, w.y, w.frames[w.currentFrame], nil, w.style)
} }
func (w *Spinner) Active() bool { return false } func (w *Spinner) SetStyle(s tcell.Style) { w.style = s }
func (w *Spinner) SetActive(a bool) {} func (w *Spinner) Active() bool { return false }
func (w *Spinner) Visible() bool { return w.visible } func (w *Spinner) SetActive(a bool) {}
func (w *Spinner) SetVisible(v bool) { w.visible = v } func (w *Spinner) Visible() bool { return w.visible }
func (w *Spinner) Focusable() bool { return false } func (w *Spinner) SetVisible(v bool) { w.visible = v }
func (w *Spinner) SetFocusable(t bool) {} func (w *Spinner) Focusable() bool { return false }
func (w *Spinner) SetX(x int) { w.x = x } func (w *Spinner) SetFocusable(t bool) {}
func (w *Spinner) SetY(y int) { w.y = y } func (w *Spinner) SetX(x int) { w.x = x }
func (w *Spinner) GetX() int { return w.x } func (w *Spinner) SetY(y int) { w.y = y }
func (w *Spinner) GetY() int { return w.y } func (w *Spinner) GetX() int { return w.x }
func (w *Spinner) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Spinner) GetY() int { return w.y }
func (w *Spinner) SetPos(pos Coord) { w.x, w.y = pos.X, pos.Y } func (w *Spinner) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Spinner) SetSize(size Coord) {} func (w *Spinner) SetPos(pos Coord) { w.x, w.y = pos.X, pos.Y }
func (w *Spinner) SetW(wd int) {} func (w *Spinner) SetSize(size Coord) {}
func (w *Spinner) SetH(h int) {} func (w *Spinner) SetW(wd int) {}
func (w *Spinner) GetW() int { return 1 } func (w *Spinner) SetH(h int) {}
func (w *Spinner) GetH() int { return 1 } func (w *Spinner) GetW() int { return 1 }
func (w *Spinner) WantW() int { return 1 } func (w *Spinner) GetH() int { return 1 }
func (w *Spinner) WantH() int { return 1 } func (w *Spinner) WantW() int { return 1 }
func (w *Spinner) MinW() int { return 1 } func (w *Spinner) WantH() int { return 1 }
func (w *Spinner) MinH() int { return 1 } func (w *Spinner) MinW() int { return 1 }
func (w *Spinner) MinH() int { return 1 }
func (w *Spinner) SetFrames(frames []rune) { func (w *Spinner) SetFrames(frames []rune) {
w.frames = frames w.frames = frames

View File

@@ -153,7 +153,8 @@ func (w *ScrollingWidgetList) Draw(screen tcell.Screen) {
} }
} }
func (w *ScrollingWidgetList) Active() bool { return w.active } func (w *ScrollingWidgetList) SetStyle(s tcell.Style) { w.style = s }
func (w *ScrollingWidgetList) Active() bool { return w.active }
func (w *ScrollingWidgetList) SetActive(a bool) { func (w *ScrollingWidgetList) SetActive(a bool) {
w.active = a w.active = a
if w.active { if w.active {

View File

@@ -149,20 +149,21 @@ func (w *Table) Draw(screen tcell.Screen) {
} }
} }
func (w *Table) Active() bool { return w.active } func (w *Table) SetStyle(s tcell.Style) { w.style = s }
func (w *Table) SetActive(a bool) { w.active = a } func (w *Table) Active() bool { return w.active }
func (w *Table) Visible() bool { return w.visible } func (w *Table) SetActive(a bool) { w.active = a }
func (w *Table) SetVisible(a bool) { w.visible = a } func (w *Table) Visible() bool { return w.visible }
func (w *Table) SetX(x int) { w.x = x } func (w *Table) SetVisible(a bool) { w.visible = a }
func (w *Table) SetY(y int) { w.y = y } func (w *Table) SetX(x int) { w.x = x }
func (w *Table) GetX() int { return w.x } func (w *Table) SetY(y int) { w.y = y }
func (w *Table) GetY() int { return w.y } func (w *Table) GetX() int { return w.x }
func (w *Table) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Table) GetY() int { return w.y }
func (w *Table) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Table) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Table) SetW(x int) { w.w = x } func (w *Table) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Table) SetH(y int) { w.h = y } func (w *Table) SetW(x int) { w.w = x }
func (w *Table) GetW() int { return w.w } func (w *Table) SetH(y int) { w.h = y }
func (w *Table) GetH() int { return w.y } func (w *Table) GetW() int { return w.w }
func (w *Table) GetH() int { return w.y }
func (w *Table) WantW() int { func (w *Table) WantW() int {
if w.minimized { if w.minimized {

View File

@@ -82,27 +82,28 @@ func (w *Text) Draw(screen tcell.Screen) {
} }
} }
func (w *Text) Active() bool { return w.active } func (w *Text) SetStyle(s tcell.Style) { w.style = s }
func (w *Text) SetActive(a bool) { w.active = a } func (w *Text) Active() bool { return w.active }
func (w *Text) Visible() bool { return w.visible } func (w *Text) SetActive(a bool) { w.active = a }
func (w *Text) SetVisible(a bool) { w.visible = a } func (w *Text) Visible() bool { return w.visible }
func (w *Text) SetX(x int) { w.x = x } func (w *Text) SetVisible(a bool) { w.visible = a }
func (w *Text) SetY(y int) { w.y = y } func (w *Text) SetX(x int) { w.x = x }
func (w *Text) GetX() int { return w.x } func (w *Text) SetY(y int) { w.y = y }
func (w *Text) GetY() int { return w.y } func (w *Text) GetX() int { return w.x }
func (w *Text) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *Text) GetY() int { return w.y }
func (w *Text) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *Text) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *Text) SetW(x int) { w.w = x } func (w *Text) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *Text) SetH(y int) { w.h = y } func (w *Text) SetW(x int) { w.w = x }
func (w *Text) GetW() int { return w.w } func (w *Text) SetH(y int) { w.h = y }
func (w *Text) GetH() int { return w.h } func (w *Text) GetW() int { return w.w }
func (w *Text) WantW() int { return wh.Longest(w.message) } func (w *Text) GetH() int { return w.h }
func (w *Text) WantH() int { return len(w.message) } func (w *Text) WantW() int { return wh.Longest(w.message) }
func (w *Text) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *Text) WantH() int { return len(w.message) }
func (w *Text) Focusable() bool { return w.focusable } func (w *Text) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *Text) SetFocusable(b bool) { w.focusable = b } func (w *Text) Focusable() bool { return w.focusable }
func (w *Text) MinW() int { return wh.Longest(w.message) } func (w *Text) SetFocusable(b bool) { w.focusable = b }
func (w *Text) MinH() int { return len(w.message) } func (w *Text) MinW() int { return wh.Longest(w.message) }
func (w *Text) MinH() int { return len(w.message) }
func (w *Text) SetText(txt string) { func (w *Text) SetText(txt string) {
w.text = txt w.text = txt

View File

@@ -181,25 +181,26 @@ func (w *TimeField) Draw(screen tcell.Screen) {
} }
} }
func (w *TimeField) Active() bool { return w.active } func (w *TimeField) SetStyle(s tcell.Style) { w.style = s }
func (w *TimeField) SetActive(a bool) { w.active = a } func (w *TimeField) Active() bool { return w.active }
func (w *TimeField) Visible() bool { return w.visible } func (w *TimeField) SetActive(a bool) { w.active = a }
func (w *TimeField) SetVisible(a bool) { w.visible = a } func (w *TimeField) Visible() bool { return w.visible }
func (w *TimeField) SetX(x int) { w.x = x } func (w *TimeField) SetVisible(a bool) { w.visible = a }
func (w *TimeField) SetY(y int) { w.y = y } func (w *TimeField) SetX(x int) { w.x = x }
func (w *TimeField) GetX() int { return w.x } func (w *TimeField) SetY(y int) { w.y = y }
func (w *TimeField) GetY() int { return w.y } func (w *TimeField) GetX() int { return w.x }
func (w *TimeField) GetPos() Coord { return Coord{X: w.x, Y: w.y} } func (w *TimeField) GetY() int { return w.y }
func (w *TimeField) SetPos(c Coord) { w.x, w.y = c.X, c.Y } func (w *TimeField) GetPos() Coord { return Coord{X: w.x, Y: w.y} }
func (w *TimeField) SetW(x int) { w.w = x } func (w *TimeField) SetPos(c Coord) { w.x, w.y = c.X, c.Y }
func (w *TimeField) SetH(y int) { w.h = y } func (w *TimeField) SetW(x int) { w.w = x }
func (w *TimeField) GetW() int { return w.w } func (w *TimeField) SetH(y int) { w.h = y }
func (w *TimeField) GetH() int { return w.y } func (w *TimeField) GetW() int { return w.w }
func (w *TimeField) SetSize(c Coord) { w.w, w.h = c.X, c.Y } func (w *TimeField) GetH() int { return w.y }
func (w *TimeField) Focusable() bool { return w.focusable } func (w *TimeField) SetSize(c Coord) { w.w, w.h = c.X, c.Y }
func (w *TimeField) SetFocusable(b bool) { w.focusable = b } func (w *TimeField) Focusable() bool { return w.focusable }
func (w *TimeField) WantW() int { return w.MinW() } func (w *TimeField) SetFocusable(b bool) { w.focusable = b }
func (w *TimeField) WantH() int { return w.MinH() } func (w *TimeField) WantW() int { return w.MinW() }
func (w *TimeField) WantH() int { return w.MinH() }
func (w *TimeField) MinW() int { func (w *TimeField) MinW() int {
wdt := 0 wdt := 0
if w.fldYear.Visible() { if w.fldYear.Visible() {

View File

@@ -158,7 +158,8 @@ func (w *TopMenuLayout) Draw(screen tcell.Screen) {
} }
} }
func (w *TopMenuLayout) Active() bool { return w.active } func (w *TopMenuLayout) SetStyle(s tcell.Style) { w.style = s }
func (w *TopMenuLayout) Active() bool { return w.active }
func (w *TopMenuLayout) SetActive(a bool) { func (w *TopMenuLayout) SetActive(a bool) {
w.active = a w.active = a
if w.widget != nil { if w.widget != nil {

View File

@@ -38,6 +38,7 @@ type Widget interface {
SetKeyMap(km *KeyMap) SetKeyMap(km *KeyMap)
Draw(tcell.Screen) Draw(tcell.Screen)
SetStyle(tcell.Style)
Active() bool Active() bool
SetActive(bool) SetActive(bool)
Visible() bool Visible() bool