Vladimir Markelov ee96e7722c typo fix
2017-04-04 11:00:02 -07:00
2017-03-01 23:24:46 -08:00
2017-04-04 10:19:54 -07:00
2017-04-04 10:15:09 -07:00
2015-10-19 13:17:13 -07:00
2017-04-04 10:40:41 -07:00
2017-04-04 11:00:02 -07:00
2015-12-22 10:48:12 -08:00
2017-04-04 10:19:54 -07:00

clui

Command Line User Interface (Console UI inspired by TurboVision) with built-in theme support.

Current version

The current version is 0.5 and it has a lot of breaking changes comparing to previous one. The library was refactored and added support for new termbox features like mouse move event. Some constants and function changes their names. Please see details in changelog.

Introduction

The list of available controls:

  • View (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)
  • 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)

TODO

  • More to come

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
Description
Languages
Go 100%