mirror of https://gitee.com/openkylin/cwidget.git
75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
|
cwidget is a C++ user interface library for terminal-based
|
||
|
applications.
|
||
|
|
||
|
[[toc ]]
|
||
|
|
||
|
## Introduction
|
||
|
<a name="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.
|
||
|
|
||
|
[GTK+]: <http://www.gtk.org>
|
||
|
[Qt]: <https://qt-project.org/>
|
||
|
[SigC++]: <http://libsigc.sourceforge.net>
|
||
|
[ncurses]: <http://www.gnu.org/software/ncurses/>
|
||
|
|
||
|
This screenshot of [aptitude][] in action shows some of cwidget's
|
||
|
features:
|
||
|
|
||
|
!["Screenshot"](aptitude-cwidget.png)
|
||
|
|
||
|
[aptitude]: <http://people.debian.org/~dburrows/aptitude>
|
||
|
|
||
|
For more details and information about
|
||
|
[[getting_cwidget|documentation/downloading]], see the cwidget
|
||
|
[[documentation]].
|
||
|
|
||
|
## Features
|
||
|
<a name="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.
|
||
|
|
||
|
<!-- TODO: cwidget has more features, need to add them here. :-) -->
|
||
|
|
||
|
## Status
|
||
|
<a name="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
|
||
|
<a name="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][cwidget-users].
|
||
|
* Bug reports, feature requests, patches, and general discussion
|
||
|
about the [[development|documentation/contributing]] of cwidget
|
||
|
should be directed to <cwidget-devel@lists.alioth.debian.org>.
|
||
|
To subscribe to this list, visit its [web page][cwidget-devel].
|
||
|
|
||
|
[cwidget-users]: <http://lists.alioth.debian.org/mailman/listinfo/cwidget-users>
|
||
|
[cwidget-devel]: <http://lists.alioth.debian.org/mailman/listinfo/cwidget-devel>
|
||
|
|
||
|
----
|
||
|
|
||
|
This Web site is generated by [ikiwiki](http://ikiwiki.info).
|