func (b *Barnard) OnVoiceToggle(ui *uiterm.Ui, key uiterm.Key) { if b.UiStatus.Text == " Tx " { b.UiStatus.Text = " Idle " b.UiStatus.Fg = uiterm.ColorBlack b.UiStatus.Bg = uiterm.ColorWhite b.Stream.StopSource() } else { b.UiStatus.Fg = uiterm.ColorWhite | uiterm.AttrBold b.UiStatus.Bg = uiterm.ColorRed b.UiStatus.Text = " Tx " b.Stream.StartSource() } ui.Refresh() }
func (b *Barnard) OnUiResize(ui *uiterm.Ui, width, height int) { ui.SetBounds(uiViewLogo, 0, 0, 9, 1) ui.SetBounds(uiViewTop, 9, 0, width-6, 1) ui.SetBounds(uiViewStatus, width-6, 0, width, 1) ui.SetBounds(uiViewInput, 0, height-1, width, height) ui.SetBounds(uiViewInputStatus, 0, height-2, width, height-1) ui.SetBounds(uiViewOutput, 0, 1, width-20, height-2) ui.SetBounds(uiViewTree, width-20, 1, width, height-2) }
func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) { ui.Add(uiViewLogo, &uiterm.Label{ Text: " barnard ", Fg: uiterm.ColorWhite | uiterm.AttrBold, Bg: uiterm.ColorMagenta, }) ui.Add(uiViewTop, &uiterm.Label{ Fg: uiterm.ColorWhite, Bg: uiterm.ColorBlue, }) b.UiStatus = uiterm.Label{ Text: " Idle ", Fg: uiterm.ColorBlack, Bg: uiterm.ColorWhite, } ui.Add(uiViewStatus, &b.UiStatus) b.UiInput = uiterm.Textbox{ Fg: uiterm.ColorWhite, Bg: uiterm.ColorBlack, Input: b.OnTextInput, } ui.Add(uiViewInput, &b.UiInput) b.UiInputStatus = uiterm.Label{ Fg: uiterm.ColorBlack, Bg: uiterm.ColorWhite, } ui.Add(uiViewInputStatus, &b.UiInputStatus) b.UiOutput = uiterm.Textview{ Fg: uiterm.ColorWhite, Bg: uiterm.ColorBlack, } ui.Add(uiViewOutput, &b.UiOutput) b.UiTree = uiterm.Tree{ Generator: b.TreeItem, Listener: b.TreeItemSelect, Fg: uiterm.ColorWhite, Bg: uiterm.ColorBlack, } ui.Add(uiViewTree, &b.UiTree) b.Ui.AddKeyListener(b.OnFocusPress, uiterm.KeyTab) b.Ui.AddKeyListener(b.OnVoiceToggle, uiterm.KeyF1) b.Ui.AddKeyListener(b.OnQuitPress, uiterm.KeyF10) b.Ui.AddKeyListener(b.OnClearPress, uiterm.KeyCtrlL) b.Ui.AddKeyListener(b.OnScrollOutputUp, uiterm.KeyPgup) b.Ui.AddKeyListener(b.OnScrollOutputDown, uiterm.KeyPgdn) b.Ui.AddKeyListener(b.OnScrollOutputTop, uiterm.KeyHome) b.Ui.AddKeyListener(b.OnScrollOutputBottom, uiterm.KeyEnd) }