cdk(3)


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.

                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:

          Manual Page Name     Description
          
          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 functions used for drawing
                               text and lines.
          cdk_screen (3)       Demonstrates  the  use  of  screens
                               within Cdk.
          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.

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

   * 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:

          
          Value             Meaning                             
          
          
          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 
                            such as TAB or RETURN are  injected 
                            into    the    widget    via    the 
                            injectCDKXXX   function   and   the 
                            character  injected  does  not exit 
                            the widget.                         
          
          vERROR            This value states that an error was 
                            returned  by  curses,  e.g., if the 
                            terminal was disconnected.          
          
          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.             
          

SEE ALSO

   cdk_binding(3),      cdk_display(3),      cdk_draw(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>.

                                                                    Cdk(3)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.