Go to file
Jairo Chaves B efb9cea5dd
New tool using clui. (#150)
Update README.md - add an application using the library
2022-05-28 20:33:28 -07:00
demos shadow type for Button 2019-06-10 20:43:29 -07:00
docs Update intro.md 2021-02-26 21:49:56 +01:00
themes change default window close button character to ■, closes #122 2019-05-07 19:51:28 -07:00
.gitignore update tableview demo to show how to edit a value 2019-06-06 20:53:41 -07:00
.travis.yml rearrage demo files 2017-04-06 11:12:15 -07:00
LICENSE rename TextReader to TextDisplay to avoid confusion with io.Reader (TextReader is still avaialble but deprecated) 2019-03-16 15:44:03 -07:00
LICENSE.BSD-2-Clause dual licencse: BSD-2 license added 2019-05-10 19:34:00 -07:00
README.md New tool using clui. (#150) 2022-05-28 20:33:28 -07:00
VERSION shadow type for Button 2019-06-10 20:43:29 -07:00
barchart.go style and typo fixes 2019-05-07 21:47:56 -07:00
base_control.go style and typo fixes 2019-05-07 21:47:56 -07:00
button.go fix custom button background 2020-01-21 11:23:08 -08:00
canvas.go Allow for No Border on Window 2018-09-19 18:26:19 -07:00
changelog shadow type for Button 2019-06-10 20:43:29 -07:00
checkbox.go add custom theme support 2018-09-06 14:44:15 -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 Allow for No Border on Window 2018-09-19 18:26:19 -07:00
consts.go shadow type for Button 2019-06-10 20:43:29 -07:00
control_intf.go frame: scrollable frame 2018-09-06 14:44:21 -07:00
ctrlutil.go Merge pull request #105 from dorileo/fix-child-at 2018-09-12 12:56:59 -07:00
dialog.go fix new dialog 2018-04-07 14:23:36 -07:00
edit.go add custom theme support 2018-09-06 14:44:15 -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 fix title display for Frame 2018-10-09 08:43:09 -07:00
intro.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
label.go add custom theme support 2018-09-06 14:44:15 -07:00
listbox.go style and typo fixes 2019-05-07 21:47:56 -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
logindlg.go closes #68 2018-08-13 21:44:19 -07:00
mainloop.go Support termbox mouse move events and huge refactoring 2016-10-13 14:16:05 -07:00
progressbar.go style and typo fixes 2019-05-07 21:47:56 -07:00
radio.go style and typo fixes 2019-05-07 21:47:56 -07:00
radiogroup.go style and typo fixes 2019-05-07 21:47:56 -07:00
sparkchart.go style and typo fixes 2019-05-07 21:47:56 -07:00
tableview.go SetSelectedRow and SetSelectedCol work on the trivial case 2020-12-26 01:57:54 +01:00
textdisplay.go style and typo fixes 2019-05-07 21:47:56 -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 style: propagate style to view contents 2020-01-14 18:02:12 -08:00
theme.go shadow type for Button 2019-06-10 20:43:29 -07:00
window.go UX improvement - separate close window icon from other icons 2019-05-10 21:01:21 -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 1.2.1. 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
  • TextDisplay - a "virtual" text view control: it does not store any data, every time it needs to draw its line it requests the line from external source by line ID

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

License

CLUI is dual-licensed under MIT OR BSD-2-Clause