From 331597b9f8a7942cbcb233a328301e4d5bf94fb0 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 11 Jan 2019 23:28:47 +0200 Subject: Switch to Go modules and make other changes --- vendor/maunium.net/go/tview/checkbox.go | 203 -------------------------------- 1 file changed, 203 deletions(-) delete mode 100644 vendor/maunium.net/go/tview/checkbox.go (limited to 'vendor/maunium.net/go/tview/checkbox.go') diff --git a/vendor/maunium.net/go/tview/checkbox.go b/vendor/maunium.net/go/tview/checkbox.go deleted file mode 100644 index 48d4592..0000000 --- a/vendor/maunium.net/go/tview/checkbox.go +++ /dev/null @@ -1,203 +0,0 @@ -package tview - -import ( - "maunium.net/go/tcell" -) - -// Checkbox implements a simple box for boolean values which can be checked and -// unchecked. -// -// See https://github.com/rivo/tview/wiki/Checkbox for an example. -type Checkbox struct { - *Box - - // Whether or not this box is checked. - checked bool - - // The text to be displayed before the input area. - label string - - // The screen width of the label area. A value of 0 means use the width of - // the label text. - labelWidth int - - // The label color. - labelColor tcell.Color - - // The background color of the input area. - fieldBackgroundColor tcell.Color - - // The text color of the input area. - fieldTextColor tcell.Color - - // An optional function which is called when the user changes the checked - // state of this checkbox. - changed func(checked bool) - - // An optional function which is called when the user indicated that they - // are done entering text. The key which was pressed is provided (tab, - // shift-tab, or escape). - done func(tcell.Key) - - // A callback function set by the Form class and called when the user leaves - // this form item. - finished func(tcell.Key) -} - -// NewCheckbox returns a new input field. -func NewCheckbox() *Checkbox { - return &Checkbox{ - Box: NewBox(), - labelColor: Styles.SecondaryTextColor, - fieldBackgroundColor: Styles.ContrastBackgroundColor, - fieldTextColor: Styles.PrimaryTextColor, - } -} - -// SetChecked sets the state of the checkbox. -func (c *Checkbox) SetChecked(checked bool) *Checkbox { - c.checked = checked - return c -} - -// IsChecked returns whether or not the box is checked. -func (c *Checkbox) IsChecked() bool { - return c.checked -} - -// SetLabel sets the text to be displayed before the input area. -func (c *Checkbox) SetLabel(label string) *Checkbox { - c.label = label - return c -} - -// GetLabel returns the text to be displayed before the input area. -func (c *Checkbox) GetLabel() string { - return c.label -} - -// SetLabelWidth sets the screen width of the label. A value of 0 will cause the -// primitive to use the width of the label string. -func (c *Checkbox) SetLabelWidth(width int) *Checkbox { - c.labelWidth = width - return c -} - -// SetLabelColor sets the color of the label. -func (c *Checkbox) SetLabelColor(color tcell.Color) *Checkbox { - c.labelColor = color - return c -} - -// SetFieldBackgroundColor sets the background color of the input area. -func (c *Checkbox) SetFieldBackgroundColor(color tcell.Color) *Checkbox { - c.fieldBackgroundColor = color - return c -} - -// SetFieldTextColor sets the text color of the input area. -func (c *Checkbox) SetFieldTextColor(color tcell.Color) *Checkbox { - c.fieldTextColor = color - return c -} - -// SetFormAttributes sets attributes shared by all form items. -func (c *Checkbox) SetFormAttributes(labelWidth int, labelColor, bgColor, fieldTextColor, fieldBgColor tcell.Color) FormItem { - c.labelWidth = labelWidth - c.labelColor = labelColor - c.backgroundColor = bgColor - c.fieldTextColor = fieldTextColor - c.fieldBackgroundColor = fieldBgColor - return c -} - -// GetFieldWidth returns this primitive's field width. -func (c *Checkbox) GetFieldWidth() int { - return 1 -} - -// SetChangedFunc sets a handler which is called when the checked state of this -// checkbox was changed by the user. The handler function receives the new -// state. -func (c *Checkbox) SetChangedFunc(handler func(checked bool)) *Checkbox { - c.changed = handler - return c -} - -// SetDoneFunc sets a handler which is called when the user is done using the -// checkbox. The callback function is provided with the key that was pressed, -// which is one of the following: -// -// - KeyEscape: Abort text input. -// - KeyTab: Move to the next field. -// - KeyBacktab: Move to the previous field. -func (c *Checkbox) SetDoneFunc(handler func(key tcell.Key)) *Checkbox { - c.done = handler - return c -} - -// SetFinishedFunc sets a callback invoked when the user leaves this form item. -func (c *Checkbox) SetFinishedFunc(handler func(key tcell.Key)) FormItem { - c.finished = handler - return c -} - -// Draw draws this primitive onto the screen. -func (c *Checkbox) Draw(screen tcell.Screen) { - c.Box.Draw(screen) - - // Prepare - x, y, width, height := c.GetInnerRect() - rightLimit := x + width - if height < 1 || rightLimit <= x { - return - } - - // Draw label. - if c.labelWidth > 0 { - labelWidth := c.labelWidth - if labelWidth > rightLimit-x { - labelWidth = rightLimit - x - } - Print(screen, c.label, x, y, labelWidth, AlignLeft, c.labelColor) - x += labelWidth - } else { - _, drawnWidth := Print(screen, c.label, x, y, rightLimit-x, AlignLeft, c.labelColor) - x += drawnWidth - } - - // Draw checkbox. - fieldStyle := tcell.StyleDefault.Background(c.fieldBackgroundColor).Foreground(c.fieldTextColor) - if c.focus.HasFocus() { - fieldStyle = fieldStyle.Background(c.fieldTextColor).Foreground(c.fieldBackgroundColor) - } - checkedRune := 'X' - if !c.checked { - checkedRune = ' ' - } - screen.SetContent(x, y, checkedRune, nil, fieldStyle) -} - -// InputHandler returns the handler for this primitive. -func (c *Checkbox) InputHandler() func(event *tcell.EventKey, setFocus func(p Primitive)) { - return c.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p Primitive)) { - // Process key event. - switch key := event.Key(); key { - case tcell.KeyRune, tcell.KeyEnter: // Check. - if key == tcell.KeyRune && event.Rune() != ' ' { - break - } - c.checked = !c.checked - if c.changed != nil { - c.changed(c.checked) - } - case tcell.KeyTab, tcell.KeyBacktab, tcell.KeyEscape: // We're done. - if c.done != nil { - c.done(key) - } - if c.finished != nil { - c.finished(key) - } - } - }) -} -- cgit v1.2.3