Documentation ¶
Overview ¶
Package ui defines a thin framework for building terminal UIs using tcell and accompanying widgets.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnnotatedText ¶
type AnnotatedText struct { // Text block to render. This may be multi-line. Text string Style tcell.Style // contains filtered or unexported fields }
AnnotatedText is a block of text rendered with annotations.
func (*AnnotatedText) Draw ¶
func (at *AnnotatedText) Draw(view views.View)
Draw draws the annotated text onto the provided view.
func (*AnnotatedText) HandleEvent ¶
func (at *AnnotatedText) HandleEvent(tcell.Event) bool
HandleEvent returns false.
func (*AnnotatedText) SetAnnotations ¶
func (at *AnnotatedText) SetAnnotations(anns ...TextAnnotation)
SetAnnotations changes the annotations for an AnnotatedText. Offsets MUST not overlap.
type App ¶
type App struct { // Root is the main application widget. Root Widget // Screen upon which to draw. Screen tcell.Screen // Logger to post messages to. Optional. Log *log.Logger // contains filtered or unexported fields }
App drives the main UI for the application.
func (*App) Start ¶
func (app *App) Start()
Start starts the app, rendering the root widget on the screen indefinitely until Stop is called.
type OverlayTextAnnotation ¶
type OverlayTextAnnotation struct { Overlay string Style tcell.Style // style for the overlay // Offset in the text over which to draw this overlay. Offset int }
OverlayTextAnnotation overlays a different text over a section of text in AnnotatedText.
type Pos ¶
type Pos struct{ X, Y int }
Pos is a position in the terminal UI.
func DrawText ¶
DrawText draws a string on the provided view at the specified position. Returns the new position, after having drawn the text, making it possible to continue drawing at the last written position.
pos = DrawText("foo\nb", style, view, pos) pos = DrawText("ar", style, view, pos)
Text that bleeds outside the bounds of the view is ignored.
type StyleTextAnnotation ¶
type StyleTextAnnotation struct { Style tcell.Style // style for this section // Offset in the text, and the length of it for which this alternative // style applies. Offset, Length int }
StyleTextAnnotation changes the style of a section of text in AnnotatedText.
type TextAnnotation ¶
type TextAnnotation interface {
// contains filtered or unexported methods
}
TextAnnotation changes what gets rendered for AnnotatedText.
type Widget ¶
type Widget interface { // Draw draws the widget on the supplied view. Widgets do not need to // clear the view; the caller will do that for them. Draw(views.View) // HandleEvent handles the given event, or returns false if the event // wasn't meant for it. HandleEvent(tcell.Event) (handled bool) }
Widget is a drawable object that may handle events.