2017-04-06 10:40:49 -07:00
# CLUI 
2017-04-04 11:21:29 -07:00
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.
2015-09-28 15:43:40 -07:00
2017-08-13 20:06:59 +03:00
## Installation
go get -u github.com/VladimirMarkelov/clui
2016-10-13 14:16:05 -07:00
## Current version
2018-11-09 22:52:36 -08:00
The current version is 1.0.0 RC6. Please see details in [changelog ](./changelog ).
2017-07-15 18:17:30 -07:00
## Applications that uses the library
2017-07-15 18:18:09 -07:00
* Terminal FB2 reader(termfb2): https://github.com/VladimirMarkelov/termfb2
2016-10-13 14:16:05 -07:00
2017-04-05 10:32:49 -07:00
## Documentation
2018-08-04 21:20:45 -07:00
* [Introduction ](/docs/intro.md )
* [Getting started ](/docs/hello.md )
* [Layout manager ](/docs/layout.md )
* [Basic standrd control methods and properties ](/docs/widget.md )
* [About Windows ](/docs/window.md )
* [Predefined hotkeys ](/docs/hotkeys.md )
2017-04-05 10:32:49 -07:00
2017-04-04 11:21:29 -07:00
## The list of available controls
2017-04-04 15:35:17 -07:00
* Window (Main control container - with maximize, window order and other window features)
2015-11-24 17:47:33 -08:00
* Label (Horizontal and Vertical with basic color control tags)
* Button (Simple push button control)
2017-04-04 11:00:02 -07:00
* EditField (One line text edit control with basic clipboard control)
2015-11-24 17:47:33 -08:00
* 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)
2015-11-24 17:51:06 -08:00
* 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)
2018-04-07 14:29:13 -07:00
* SelectEditDialog (modal View to ask a user to enter a value)
2015-12-10 14:02:11 -08:00
* BarChart (Horizontal bar chart without scroll)
2015-12-14 16:16:13 -08:00
* SparkChart (Show tabular data as a bar graph)
2015-12-28 14:26:31 -08:00
* GridView (Table to show structured data - only virtual and readonly mode with scroll support)
2018-08-04 21:19:40 -07:00
* [FilePicker ](/docs/fselect.md )
2018-08-13 21:44:19 -07:00
* LoginDialog - a simple authorization dialog with two fields: Username and Password
2018-09-06 22:19:36 -07:00
* Scrollable frame
2015-11-24 17:47:33 -08:00
2015-09-18 19:41:30 -07:00
## Screenshots
2016-06-23 10:35:46 -07:00
The main demo (theme changing and radio group control)
< img src = "./demos/clui_demo_main.gif" alt = "Main Demo" >
2016-11-15 21:12:27 -08:00
The screencast of demo:
2015-09-18 19:41:30 -07:00
< img src = "./demos/demo.gif" alt = "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:
< img src = "./demos/dilbert_demo.gif" alt = "Dilbert Downloader" >