Cdk(3) Library Functions Manual Cdk(3)
Cdk - Curses Development Kit
cc [ flag ... ] file ... -lcdk [ library ... ]
Cdk provides functions to use a large number of pre-defined curses wid-
gets. To use the Cdk widgets the header file cdk.h must be included in
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 cre-
ate a full screen interactive program with ease. The Cdk widgets sup-
port the following features:
o Ncurses library.
Instead of using the standard curses library, Cdk can take advan-
tage of the colors that Ncurses provides. To learn how to take
advantage of Cdk's color capabilities, read the cdk_display manual
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 manual page.
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 func-
tion, programmers can have the widgets test themselves. This
allows the programmer to perform automated tests on a final pro-
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 charac-
ter if they wish.
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 details.
STANDARD WIDGET BEHAVIOR
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 com-
pile line to include the Ncurses header files instead.
05 Dec 1995 Cdk(3)