cwidget is a C++ user interface library for terminal-based applications.
toc
Introduction
cwidget is a modern, high-level C++ user interface library using ncurses as its display and input layer. It uses the signal/slot programming model popularized by toolkits such as GTK+ and Qt, using SigC++ to provide signals and slots.
This screenshot of aptitude in action shows some of cwidget's features:
For more details and information about getting cwidget, see the cwidget documentation.
Features
cwidget's features include:
- Support for overlapping widgets.
- Event-driven programming using signals and slots.
- A well-defined threading model with support for injecting events from background threads into the foreground thread.
- Support for formatting text with styles, paragraph flowing, and indented blocks.
- Support for cascading, user-configurable styles.
Status
cwidget was originally an internal user interface library for the aptitude package manager. This means, on the one hand, that cwidget is known to work in the real world for a real application; on the other hand, it means that the feature set of cwidget is coextensive with the requirements of aptitude. Features not needed by aptitude may be missing or incomplete, and cwidget's documentation is spotty. For this reason, the current focus of cwidget development is on filling in gaps in the library and documenting existing code.
Contact
- Questions about downloading, compiling, installing, or writing software that uses cwidget should be directed to cwidget-users@lists.alioth.debian.org. To subscribe to this list, visit its web page.
- Bug reports, feature requests, patches, and general discussion about the development of cwidget should be directed to cwidget-devel@lists.alioth.debian.org. To subscribe to this list, visit its web page.
This Web site is generated by ikiwiki.