draw cursor in editabletextarea

This commit is contained in:
David 2021-08-01 15:49:35 -04:00
parent e9b6c95019
commit d6acfe235b

View File

@ -523,12 +523,14 @@ type EditableTextLine struct {
style tcell.Style
visible bool
cursorPos int
showCursor bool
}
func NewEditableTextLine(initialText string) *EditableTextLine {
return &EditableTextLine{
text: initialText,
visible: true,
showCursor: true,
}
}
@ -547,6 +549,15 @@ func (p *EditableTextLine) Draw(s tcell.Screen) {
for j, r := range p.text {
s.SetContent(p.x+j, p.y, r, nil, p.style)
}
s.ShowCursor(p.x+p.cursorPos, p.y)
}
func (p *EditableTextLine) SetVisible(b bool) {
p.visible = b
}
func (p *EditableTextLine) SetCursorVisible(b bool) {
p.showCursor = b
}
func (p *EditableTextLine) SetText(t string) {
@ -558,6 +569,10 @@ func (p *EditableTextLine) SetText(t string) {
p.ResetCursor(false)
}
func (p *EditableTextLine) Text() string {
return p.text
}
func (p *EditableTextLine) ResetCursor(beginning bool) {
if beginning {
p.cursorPos = 0