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 wid-
       gets.  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 cre-
       ate a full screen interactive program with ease.	 The Cdk widgets  sup-
       port the	following features:

        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, 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 af-
	    ter	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 func-
	    tion, programmers can have the widgets test	themselves.  This  al-
	    lows 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  charac-
	    ter	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	 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>, <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)

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

home | help