Documentation
¶
Overview ¶
func main() {
a := tui.NewApp()
a.AddWidgets(tui.NewStaticLabel("Привет, Go!"))
btn := tui.NewButton("Нажми ↑", keyboard.KeyArrowUp)
btn.OnClick = a.Quit
a.AddWidgets(btn)
a.Run()
}
Index ¶
- func EnableANSI()
- type App
- type Button
- type Canvas
- type Color
- type ColorProgress
- type DisplayMode
- type Label
- func (lbl *Label) Blink() *Label
- func (lbl *Label) Bold() *Label
- func (lbl *Label) ColorizeBackground(clr Color) *Label
- func (lbl *Label) ColorizeBackgroundRGB(r, g, b uint8) *Label
- func (lbl *Label) ColorizeForeground(clr Color) *Label
- func (lbl *Label) ColorizeForegroundRGB(r, g, b uint8) *Label
- func (lbl *Label) DisplayMode() DisplayMode
- func (l *Label) InnerText() string
- func (lbl *Label) Italic() *Label
- func (lbl *Label) MaxLength() int
- func (lbl *Label) Reset() *Label
- func (lbl *Label) Reverse() *Label
- func (l *Label) SetIndex(int)
- func (lbl *Label) Underline() *Label
- type Widget
- type Window
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnableANSI ¶
func EnableANSI()
EnableANSI() включает поддержку ANSI в терминале в случае если нет(Windows)
Types ¶
type App ¶
type App interface {
Widgets() []Widget // Widgets() возвращает список компонентов, добавленных в приложение.
AddWidgets(...Widget) // AddWidgets() добавляет компонент в приложение.
Clear() // Clear() очищает список компонентов приложения без перерисовки.
Redraw() // Redraw() перерисовывает все компоненты. Важно: такая перерисовка вызывает мерцание.
RedrawWidget(int) // RedrawWidget() перерисовывает конкретный компонент. index — это номер компонента, который нужно перерисовать.
Run() // Run() — это блокирующий запуск TUI-приложения. Если пользователь закроет окно, то будет произведён graceful shutdown и выход из метода.
IsRunned() bool // IsRunned() возращает true, если приложение запущено. Иначе возвращает false.
Quit() // Quit() — это принудительный выход из приложения.
OnQuit() <-chan struct{} // Run() возвращает канал сигнализации о выходе.
Window() Window // Window() возвращает интерфейс окна приложения. Из него можно получить длину и ширину окна в символах.
AddKeyHandler(key keyboard.Key, h func()) // AddKeyHandler() регистрирует обработчик нажатия указанной клавиши
LogInfo(message string, args ...any) // LogInfo() логирует указанное сообщение подобно fmt.Printf() в файл, если приложение создано как Debug.
LogFatal(message string, args ...any) // LogFatal() логирует указанное сообщение подобно fmt.Printf() в файл, если приложение создано как Debug. Потом в любом случае выходит
}
App — это объект приложения.
type Button ¶
type Button struct {
OnClick func()
Widget
// contains filtered or unexported fields
}
Button это объект кнопки, нажимающейся от нажатия её клавиши. Обработчик в OnClick.
type Canvas ¶ added in v1.4.0
type Canvas struct {
// contains filtered or unexported fields
}
Canvas — это многострочный виджет, на котором можно "рисовать". В символах Canvas в 2 раза шире чем указано при создании, чтобы пиксели были квадратные а не прямоугольные.
func (*Canvas) DisplayMode ¶ added in v1.4.0
func (*Canvas) DisplayMode() DisplayMode
DisplayMode() реализует интерфейс Widget
func (*Canvas) DrawAndRender ¶ added in v1.4.0
Draw() устанавливает указанный цвет в указанном месте Canvas, и перерисовывает.
type ColorProgress ¶ added in v1.2.1
type ColorProgress struct {
// contains filtered or unexported fields
}
ColorProgress — это виджет шкалы прогресса. Добавлено в TUI v1.2.0
func NewColorProgress ¶ added in v1.2.1
func NewColorProgress(len int, on, off Color) *ColorProgress
NewColorProgress() cоздаёт виджет шкалы прогресса. len — максимальная длина в пикселях on — цвет "включенных" пикселей off — цвет "выключенных" пикселей Добавлено в TUI v1.2.0
func (*ColorProgress) DisplayMode ¶ added in v1.2.1
func (p *ColorProgress) DisplayMode() DisplayMode
func (*ColorProgress) InnerText ¶ added in v1.5.0
func (p *ColorProgress) InnerText() string
func (*ColorProgress) MaxLength ¶ added in v1.4.0
func (p *ColorProgress) MaxLength() int
func (*ColorProgress) SetIndex ¶ added in v1.5.0
func (p *ColorProgress) SetIndex(idx int)
func (*ColorProgress) SetValue ¶ added in v1.2.1
func (p *ColorProgress) SetValue(f float64)
SetValue() устанавливает значение прогресса. Диапазон 0-1 Добавлено в TUI v1.2.0
type DisplayMode ¶
type DisplayMode int
DisplayMode — это режим отображения виджета.
const ( DisplayInline DisplayMode = iota // В одну строку. DisplayBlock // На отдельной строке. DisplayNewLine // Перенос строки. )
type Label ¶
type Label struct {
ANSI string // Приставка ANSI escape последовательности
Text string // Текст виджета.
Block bool // Отображение в блочном режиме.
// contains filtered or unexported fields
}
Label — это виджет текстовой метки.
func NewDynamicLabel ¶
NewDynamicLabel() создаёт виджет текста с возможностью изменения содержимого в будущем. maxLength это место, зарезервированное под метку в символах.
func NewStaticLabel ¶
NewStaticLabel() создаёт виджет текста.
func (*Label) Blink ¶ added in v1.1.0
Blink() делает текст мигающим(работает не во всем терминалах). Добавлено в TUI v1.1.0
func (*Label) ColorizeBackground ¶ added in v1.1.0
ColorizeBackground() окрашивает фон текста в один из стандартных цветов. Добавлено в TUI v1.1.0
func (*Label) ColorizeBackgroundRGB ¶ added in v1.1.0
ColorizeBackgroundRGB() окрашивает фон текста в RGB. Добавлено в TUI v1.1.0
func (*Label) ColorizeForeground ¶ added in v1.1.0
ColorizeForeground() окрашивает текст в один из стандартных цветов. Добавлено в TUI v1.1.0
func (*Label) ColorizeForegroundRGB ¶ added in v1.1.0
ColorizeForegroundRGB() окрашивает текст в RGB. Добавлено в TUI v1.1.0
func (*Label) DisplayMode ¶
func (lbl *Label) DisplayMode() DisplayMode
DisplayMode() реализует интерфейс Widget
type Widget ¶ added in v1.5.0
type Widget interface {
InnerText() string // InnerText() возращает текст виджета
SetIndex(int) // SetIndex() устанавливает индекс компонента для перерисовки только его.
MaxLength() int // MaxLength() возращает длину текста виджета без учёта ANSI Escape последовательностей
DisplayMode() DisplayMode
}
Widget — это интерфейс для любого TUI-виджета.