packages icon



 Cdk(3)                                                               Cdk(3)
 Library calls                                                 Library calls

                                 2024-03-28



 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) Button/cdk_button (3)
      Buttonbox/cdk_buttonbox (3) Calendar/cdk_calendar (3) Dialog/cdk_dialog
      (3) DoubleFloat Scale/cdk_dscale (3) Entry Field/cdk_entry (3) File
      Selector/cdk_fselect (3) File Viewer/cdk_viewer (3) Floating
      Scale/cdk_fscale (3) Floating Slider/cdk_fslider (3) Graph/cdk_graph
      (3) Histogram/cdk_histogram (3) Integer Scale/cdk_scale (3) Integer
      Slider/cdk_slider (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) 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) Unsigned Scale/cdk_uscale (3) Unsigned
      Slider/cdk_uslider (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_draw (3)/T{ Outlines functions used for drawing text and lines.  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



                                    - 1 -           Formatted:  May 18, 2024






 Cdk(3)                                                               Cdk(3)
 Library calls                                                 Library calls

                                 2024-03-28



           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).

      + 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} vERROR/T{ This value states
      that an error was returned by curses, e.g., if the terminal was
      disconnected.  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}

 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>.

 SEE ALSO
      cdk_binding(3), cdk_display(3), cdk_draw(3), cdk_misc(3),
      cdk_process(3), cdk_screen(3)




                                    - 2 -           Formatted:  May 18, 2024