cdk_objs - Man Page

Cdk object-support functions

Synopsis

cc [ flag ... ] file ... -lcdk [ library ... ]

    void cleanCdkTitle (
CDKOBJS *obj);
    void drawCdkTitle (
WINDOW *window,
CDKOBJS *object);
    char * getCdkTitle (
CDKOBJS *obj);
    void positionCDKObject (
CDKOBJS *object,
WINDOW *win);
    void setCDKObjectBackgroundColor (
CDKOBJS *object,
const 3char *color);
    void setCDKObjectPostProcess (
CDKOBJS *object,
PROCESSFN func,
void *data);
    void setCDKObjectPreProcess (
CDKOBJS *object,
PROCESSFN func,
void *data);
    void setCdkExitType(
CDKOBJS *obj,
EExitType *type,
chtyp ch);
    int setCdkTitle (
CDKOBJS *obj,
const char *title,
int boxWidth);
    bool validCDKObject (
CDKOBJS *obj);

Description

Cdk is written in ANSI C, which has "no" object support. Most of the object support in Cdk is done using macros and a small number of types which hold object information:

CDKFUNCS

contains the function pointers for common methods of the widgets. It is separate from CDKOBJS because it is compiled into each widget's C code (see the DeclareCDKObjects() and DeclareSetXXchar() macros. The widget instances point to a single copy of CDKFUNCS for each widget.

CDKOBJS

Holds data common to all objects (widget instances). It appears first in each widget's struct to allow Cdk to use generic functions in binding.c, cdkscreen.c, position.c, etc.

Available Functions

The functions declared in <cdk/cdk_objs.h> are used in situations where the expressions are too complex for a macro.

cleanCdkTitle

Remove storage for the widget's title.

drawCdkTitle

Draw the widget's title.

getCdkTitle

Returns the widget's title as a string. Colors are encoded as described in cdk_display(3). The lines of text in a multi-line title are separated by ā€œ<#10>ā€ markers (an encoded newline).

positionCDKObject

This allows the user to use the cursor keys to adjust the position of the widget.

setCDKObjectBackgroundColor

Set the background color of the widget.

setCDKObjectPostProcess

Set data for postprocessing.

setCDKObjectPreProcess

Set data for preprocessing.

setCdkExitType

Set the object's exit-type based on the input. The .exitType field should have been part of the CDKOBJS struct, but it is used too pervasively in Cdk4 applications to move.

setCdkTitle

Set the widget's title.

validCDKObject

Returns true if a "new" was done on the object but no "destroy".

See Also

cdk_binding(3), cdk_display(3), cdk_process(3).

Referenced By

cdk_compat(3), cdk_util(3).

The man pages cleanCdkTitle(3), drawCdkTitle(3), getCdkTitle(3), positionCDKObject(3), setCdkExitType(3), setCDKObjectBackgroundColor(3), setCDKObjectPostProcess(3), setCDKObjectPreProcess(3), setCdkTitle(3) and validCDKObject(3) are aliases of cdk_objs(3).

2024-03-28 Library calls