Go to file
Vladimir Markelov 8709a0b782
Update fselect.md
2018-08-04 21:21:34 -07:00
demos closes #98 2018-08-04 21:18:33 -07:00
docs Update fselect.md 2018-08-04 21:21:34 -07:00
themes #63 - added password mode for the edit field 2018-01-02 11:15:05 -08:00
.travis.yml rearrage demo files 2017-04-06 11:12:15 -07:00
LICENSE #79 - allow Windows to handle terminal resize event 2018-01-26 21:36:46 -08:00
README.md Update README.md 2018-08-04 21:20:45 -07:00
VERSION changelog updated 2018-07-17 20:17:32 -07:00
barchart.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
base_control.go base_control: fix set visible event dispatching 2018-06-21 17:22:26 -07:00
button.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
canvas.go Added support for Chinese 2018-01-24 12:26:17 +08:00
changelog closes #98 2018-08-04 21:18:33 -07:00
checkbox.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
clui2_api.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
colorparse.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
colorparse_test.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
composer.go closes #86 - fix crash when the last Window is closed by an internal call 2018-03-14 20:38:52 -07:00
consts.go edit dialog working 2018-03-16 17:48:53 +05:30
control_intf.go BaseControl: add a Destroy() interface 2018-03-23 14:35:30 -07:00
ctrlutil.go ctrlutil: fix NextControl() 2018-06-27 15:54:31 -07:00
dialog.go fix new dialog 2018-04-07 14:23:36 -07:00
edit.go closes #98 2018-08-04 21:18:33 -07:00
edit_osx.go edit: pass event.Ch to OnKeyPress callback 2018-04-03 13:07:49 -07:00
edit_other.go edit: pass event.Ch to OnKeyPress callback 2018-04-03 13:07:49 -07:00
fileselectdlg.go closes #98 2018-08-04 21:18:33 -07:00
frame.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
intro.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
label.go closes #98 2018-08-04 21:18:33 -07:00
listbox.go closes #98 2018-08-04 21:18:33 -07:00
listbox_test.go test fixed 2017-04-04 10:40:41 -07:00
logger.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
mainloop.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
progressbar.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
radio.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
radiogroup.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
sparkchart.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
tableview.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
textreader.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
textutil.go textutil: add color map facilities 2018-07-17 15:14:59 -07:00
textutil_test.go add test suit for text utils 2015-12-22 10:48:12 -08:00
textview.go BaseControl: add refID 2018-03-23 14:34:01 -07:00
theme.go #63 - added password mode for the edit field 2018-01-02 11:15:05 -08:00
window.go clui: control selection 2018-04-19 10:33:10 -07:00

README.md

CLUI

Command Line User Interface (Console UI inspired by TurboVision) with built-in theme support. Please see screenshots of working examples at the end of the README.

Installation

go get -u github.com/VladimirMarkelov/clui

Current version

The current version is 0.9.0 RC1. Please see details in changelog.

Applications that uses the library

Documentation

The list of available controls

  • Window (Main control container - with maximize, window order and other window features)
  • Label (Horizontal and Vertical with basic color control tags)
  • Button (Simple push button control)
  • EditField (One line text edit control with basic clipboard control)
  • ListBox (string list control with vertical scroll)
  • TextView (ListBox-alike control with vertical and horizontal scroll, and wordwrap mode)
  • ProgressBar (Vertical and horizontal. The latter one supports custom text over control)
  • Frame (A decorative control that can be a container for other controls as well)
  • CheckBox (Simple check box)
  • Radio (Simple radio button. Useless alone - should be used along with RadioGroup)
  • RadioGroup (Non-visual control to manage a group of a few RadioButtons)
  • ConfirmationDialog (modal View to ask a user confirmation, button titles are custom)
  • SelectDialog (modal View to ask a user to select an item from the list - list can be ListBox or RadioGroup)
  • SelectEditDialog (modal View to ask a user to enter a value)
  • BarChart (Horizontal bar chart without scroll)
  • SparkChart (Show tabular data as a bar graph)
  • GridView (Table to show structured data - only virtual and readonly mode with scroll support)
  • FilePicker

Screenshots

The main demo (theme changing and radio group control)

Main Demo

The screencast of demo:

Library Demo

The library is in the very beginning but it can be used to create working utilities: below is the example of my Dilbert comix downloader:

Dilbert Downloader