Command Line User Interface (Console UI inspired by TurboVision)
Switch branches/tags
Clone or download
Latest commit 1f6ccfb Dec 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
demos TableView's OnBeforeDraw feature closes #113 Nov 10, 2018
docs Update fselect.md Aug 5, 2018
themes #63 - added password mode for the edit field Jan 2, 2018
.travis.yml rearrage demo files Apr 6, 2017
LICENSE #79 - allow Windows to handle terminal resize event Jan 27, 2018
README.md docs update Dec 2, 2018
VERSION docs update Dec 2, 2018
barchart.go add custom theme support Sep 6, 2018
base_control.go clui: fix Clipper() function Sep 26, 2018
button.go add custom theme support Sep 6, 2018
canvas.go Allow for No Border on Window Sep 20, 2018
changelog docs update Dec 2, 2018
checkbox.go add custom theme support Sep 6, 2018
clui2_api.go Support termbox mouse move events and huge refactoring Oct 13, 2016
colorparse.go Support termbox mouse move events and huge refactoring Oct 13, 2016
colorparse_test.go Support termbox mouse move events and huge refactoring Oct 13, 2016
composer.go Allow for No Border on Window Sep 20, 2018
consts.go Allow for No Border on Window Sep 20, 2018
control_intf.go frame: scrollable frame Sep 6, 2018
ctrlutil.go Merge pull request #105 from dorileo/fix-child-at Sep 12, 2018
dialog.go fix new dialog Apr 7, 2018
edit.go add custom theme support Sep 6, 2018
edit_osx.go edit: pass event.Ch to OnKeyPress callback Apr 3, 2018
edit_other.go edit: pass event.Ch to OnKeyPress callback Apr 3, 2018
fileselectdlg.go closes #98 Aug 5, 2018
frame.go fix title display for Frame Oct 9, 2018
intro.go Support termbox mouse move events and huge refactoring Oct 13, 2016
label.go add custom theme support Sep 6, 2018
listbox.go add custom theme support Sep 6, 2018
listbox_test.go test fixed Apr 4, 2017
logger.go Support termbox mouse move events and huge refactoring Oct 13, 2016
logindlg.go closes #68 Aug 14, 2018
mainloop.go Support termbox mouse move events and huge refactoring Oct 13, 2016
progressbar.go add custom theme support Sep 6, 2018
radio.go Change line feed sequence from CRLF to LF Oct 26, 2018
radiogroup.go Support termbox mouse move events and huge refactoring Oct 13, 2016
sparkchart.go add custom theme support Sep 6, 2018
tableview.go TableView's OnBeforeDraw feature closes #113 Nov 10, 2018
textreader.go add custom theme support Sep 6, 2018
textutil.go textutil: add color map facilities Jul 17, 2018
textutil_test.go add test suit for text utils Dec 22, 2015
textview.go add custom theme support Sep 6, 2018
theme.go add custom theme support Sep 6, 2018
window.go window: fix event processing Nov 14, 2018

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 1.0.0. 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)
  • Scrollable frame
  • 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
  • LoginDialog - a simple authorization dialog with two fields: Username and Password

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