Cdk(3) Cdk(3)
05 Dec 1995
NAME
cdk - Curses Development Kit
SYNOPSIS
cc [ flag ... ] file ... -lcdk [ library ... ] #include <cdk.h> 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. center
tab(/); l l l l . Widget Type/Manual Page Name =
Alphalist/cdk_alphalist (3) Calendar/cdk_calendar (3) Dialog/cdk_dialog
(3) Entry Field/cdk_entry (3) File Viewer/cdk_viewer (3) Floating Point
Scale/cdk_fscale (3) Graph/cdk_graph (3) Histogram/cdk_histogram (3)
Integer Scale/cdk_scale (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 Slider/cdk_slider (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)
Template/cdk_template (3) The rest of the manual pages describe
supporting functions: center tab(/); l l l l lw18 lw35 . Manual Page
Name/Description = cdk_binding (3)/T{ Outlines how to create user
definable key bindings. T} cdk_display (3)/T{ Shows how to add special
display attributes, colors, and justification into a widget. T}
cdk_screen (3)/T{ Demonstrates the use of screens within Cdk. T}
cdk_misc (3)/T{ Outlines miscellaneous functions provided with the Cdk
library. T} cdk_process (3)/T{ Demonstrates the use of the pre- and
post-process function class. T}
DESCRIPTION
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:
+ 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, see cdk_display (3).
+ Key Bindings.
Individual keys can be overridden with a callback. The callback
is set up using the bindCDKObject function. To learn more about
this see cdk_binding (3).
+ 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 see cdk_process (3).
- 1 - Formatted: October 24, 2025
Cdk(3) Cdk(3)
05 Dec 1995
+ 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.
+ 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 they wish.
+ 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: center tab(/) allbox; l l l l
lw15 lw35 . Value/Meaning = vNORMAL/T{ This means the widget exited
normally. This value is set when the widget is given the characters
TAB or RETURN. T} vEARLY_EXIT/T{ This means the widget exited early.
This value is set when characters such as TAB or RETURN are injected
into the widget via the injectCDKXXX function and the character
injected does not exit the widget. T} vESCAPE_HIT/T{ This value
states the user hit ESCAPE to leave the widget. T}
vNEVER_ACTIVATED/T{ This is the initial state of the value. This
means that the widget has not been activated. T}
SEE ALSO
cdk(3), cdk_binding(3), cdk_display(3), cdk_misc(3), cdk_process(3),
cdk_screen(3)
NOTES
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>.
- 2 - Formatted: October 24, 2025