Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Cdk(3)				  Library calls 			  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 defin-
				   able key bindings.
	      cdk_display(3)	   Shows how to  add  special  display
				   attributes,	colors, and justifica-
				   tion 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  de-
	  tails.

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 nor- |
	     |			| mally.  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  injectCD- |
	     |			| KXXX function and the character in- |
	     |			| jected 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  ES- |
	     |			| CAPE to leave the widget.	      |
	     +------------------+-------------------------------------+
	     | vNEVER_ACTIVATED | This	is  the  initial state of the |
	     |			| value.  This means that the  widget |
	     |			| has not been activated.	      |
	     +------------------+-------------------------------------+

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>, <er-
     rno.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)

				   2025-01-14				  Cdk(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cdk&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help