[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]
![]() |
eCurses : an Eiffel binding to *Curses |
Written by Paul G. Crismer and Eric Fafchamps.
ecurses.tgz (112 kbytes) - source code
ecurses.txt (15 kbytes) - Documentation
This version of eCurses has been developed and tested with:
ECurses is an Eiffel binding to Curses. It is intended to be sufficiently complete to enable people write terminal/console applications in Eiffel.
The following table gives an overview of what ECurses provides, compared to the Curses library.
+------------------------------------+---------+------------------------+ |Curses | ECurses | Eiffel Class | +------------------------------------+---------+------------------------+ +------------------------------------+---------+------------------------+ |Curses core | Partial | CURSES_WINDOW | |* color | Yes | | |* character attributes | Yes | | |* subwindows | Yes | | |* scrolling | Yes | | |* mouse interfacing | No | | |* multiple terminal screens | No | | |* testing for terminal capabilities | No | | +------------------------------------+---------+------------------------+ |Pads | Partial | CURSES_PAD | +------------------------------------+---------+------------------------+ |Soft label keys | Yes | CURSES_SOFT_LABEL_KEYS | +------------------------------------+---------+------------------------+ |Panels | Yes | CURSES_PANEL | +------------------------------------+---------+------------------------+ |Menu | No | | +------------------------------------+---------+------------------------+ |Forms | No | | +------------------------------------+---------+------------------------+
ECurses introduces some level of abstraction. Feature names try to be more explicit than their Curses counterpart. When possible pre- and post-conditions reflect the features specifications.
ECurses has not been ``extensively'' tested. Though, it works sufficiently well to develop applications with color, scrolling, multiple panels, and basic forms.
This document is not a Curses manual. Please refer to appropriate man pages or to the excellent article ``Writing programs with NCURSES'' by Eric S. Raymond and Zeyd M. Ben-Halim.
Simply extract the tarball. Directory structure is described below :
+ base -- base Curses abstractions. | + doc -- Documentation in various formats | + spec -- API and constants wrapping classes. | | | + Clib -- c source files. | | | + linux -- linux specific files. | | | + windows -- windows specific file.s | + utility -- some classes found useful to develop eCurses applications | like an event manager and a frame panel. | + test -- small test projects. | + hello -- hello world ! | + pad -- exercise basic pad capabilities. | + slk -- exercise soft label keys. | + curses -- mimics the 'ncurses' standard test application.
Get and install the appropriate Curses library.
C files are in the spec/Clib directory. The spec/<platform> directory contains ad hoc makefiles.
windows A makefile (Makefile.vc.mak) is provided for MSVC compiler. Library name is ecurses_c.lib.
linux A makefile (Makefile) is provided for Linux . Type "make all" in order to build the library libecurses_c.a.
This support library is necessary to compile and link eCurses programs.
Documentation is available
Copyright (C) 1999 by Paul G. Crismer <pgcrism@attglobal.net> and Eric Fafchamps <eric.fafchamps@win.be>.
This document and the eCurses library are licensed under the terms of the Eiffel Forum Freeware License, version 1. Please refer to http://www.eiffel-forum.org.
[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]