Cdk - Curses Development Kit
cc [ flag ... ] file ... -lcdk [ library ... ]
Cdk provides functions to use a large number of predefined
curses widgets. To use the Cdk widgets the header
file cdk.h must be included in the source.
The widgets available from Cdk are listed below.
Alphalist cdk_alphalist (3)
Calendar cdk_calendar (3)
Dialog cdk_dialog (3)
Entry Field cdk_entry (3)
File Viewer cdk_viewer (3)
Graph cdk_graph (3)
Histogram cdk_histogram (3)
Item List cdk_itemlist (3)
Label cdk_label (3)
Marquee cdk_marquee (3)
Matrix cdk_matrix (3)
Multiple Line Entry Field cdk_mentry (3)
Numeric Scale cdk_scale (3)
Numeric Slider cdk_slider (3)
Pulldown Menu cdk_menu (3)
Radio List cdk_radio (3)
Scrolling List cdk_scroll (3)
Scrolling Selection List cdk_selection (3)
Scrolling Window cdk_swindow (3)
Numeric Slider cdk_slider (3)
Template cdk_template (3)
The rest of the manual pages are
cdk_binding (3) Outlines how to create user
definable key bindings.
cdk_display (3) Shows how to add special display
attributes, colors, and justification
into a widget.
cdk_draw (3) Outlines the basic drawing
capabilities of Cdk.
cdk_screen (3) Demonstrates the use of screens
cdk_misc (3) Outlines miscellaneous functions
provided with the Cdk library.
cdk_process (3) Demonstrates the use of the pre
and post process function class.
Cdk is a library of functions which allow a programmer to
quickly create a full screen interactive program with
ease. The Cdk widgets support the following features:
o Ncurses library.
Instead of using the standard curses library, Cdk can
take advantage of the colors that Ncurses provides.
To learn how to take advantage of Cdk's color capabilities,
read the cdk_display manual page.
o Key Bindings.
Individual keys can be overridden with a call-back.
The call-back is set up using the bindCDKObject function.
To learn more about this read the cdk_binding
o Pre and Post Processing.
Certain widgets allow the user to trap a character
before and after the character has been applied to
the widget. This allows programmers to 'filter' character
input. To learn more about this read the
cdk_process manual page.
o Self Test Widgets.
With the use of the inject function class and the
activate function, programmers can have the widgets
test themselves. This allows the programmer to perform
automated tests on a final program.
o Special Display Formats
There are special character format commands that can
be inserted into any string in Cdk and the contents
will get mapped to a chtype (see the curses manual
page) with character attributes. This allows the programmer
to insert format types on each character if
o The Ability To Build Predefined Screens
Widgets can be associated to any given screen. If
there is more than one screen defined, then Cdk has
the ability to "flip" from one screen to another with
ease. See the cdk_screen manual page for more
STANDARD WIDGET BEHAVIOR [Toc] [Back]
All of the widgets have a member of the structure called
exitType. This member states how the widget exited. There
are three values in which to check for, they are as follows:
vNORMAL This means the widget exited normally. This
value is set when the widget is given the
characters TAB or RETURN.
vEARLY_EXIT This means the widget exited early. This value
is set when characters are injected into the
widget via the injectCDKXXX function and the
character injected does not exit the widget.
(ie: TAB or RETURN)
vESCAPE_HIT This value states the user hit ESCAPE to
leave the widget.
vNEVER_ACTIVATED This is the initial state of the value. This
means that the widget has not been activated.
cdk(3), cdk_binding(3), cdk_display(3), cdk_screen(3)
The header file <cdk.h> automatically includes the header
files <curses.h>, <stdlib.h>, <string.h>, <ctype.h>,
<unistd.h>, <dirent.h>, <time.h>, <errno.h>, <pwd.h>,
<grp.h>, <sys/stat.h>, and <sys/types.h>. The <curses.h>
header file includes <stdio.h> and <unctrl.h>.
If you have Ncurses installed on your machine add
-DNCURSES to the compile line to include the Ncurses
header files instead.
05 Dec 1995 Cdk(3)
[ Back ]