/* $Id: radio1_ex.c,v 1.9 2005/04/15 21:46:06 tom Exp $ */ #include "cdk.h" #ifdef HAVE_XCURSES char *XCursesProgramName = "radio_ex"; #endif /* * This program demonstrates the Cdk radio widget. */ int main(int argc, char **argv) { /* Declare variables. */ CDKSCREEN *cdkscreen = (CDKSCREEN *) NULL; CDKRADIO *radio = (CDKRADIO *) NULL; WINDOW *cursesWin = (WINDOW *) NULL; char *item[5] = {"Choice A", "Choice B", "Choice C"}; char *mesg[5], temp[100]; int selection; CDK_PARAMS params; CDKparseParams(argc, argv, ¶ms, "s:t:" CDK_CLI_PARAMS); /* Set up CDK. */ cursesWin = initscr (); cdkscreen = initCDKScreen (cursesWin); /* Set up CDK Colors. */ initCDKColor (); /* Create the radio list. */ radio = newCDKRadio (cdkscreen, CDKparamValue(¶ms, 'X', CENTER), CDKparamValue(¶ms, 'Y', CENTER), CDKparsePosition(CDKparamString2(¶ms, 's', "NONE")), CDKparamValue(¶ms, 'H', 5), CDKparamValue(¶ms, 'W', 20), CDKparamString(¶ms, 't'), item, 3, '#' | A_REVERSE, 1, A_REVERSE, CDKparamValue(¶ms, 'N', TRUE), CDKparamValue(¶ms, 'S', FALSE)); /* Check if the radio list is NULL. */ if (radio == (CDKRADIO *) NULL) { /* Exit CDK. */ destroyCDKScreen (cdkscreen); endCDK (); /* Print out a message and exit. */ printf ("Oops. Can't seem to create the radio widget. "); printf ("Is the window too small??\n"); exit (EXIT_FAILURE); } /* Activate the radio list. */ selection = activateCDKRadio (radio, (chtype *) NULL); /* Check the exit status of the widget. */ if (radio->exitType == vESCAPE_HIT) { mesg[0] = "You hit escape. No item selected."; mesg[1] = "", mesg[2] = "Press any key to continue."; popupLabel (cdkscreen, mesg, 3); } else if (radio->exitType == vNORMAL) { mesg[0] = "You selected the filename"; sprintf (temp, "%.*s", (int)(sizeof(temp) - 20), item[selection]); mesg[1] = copyChar (temp); mesg[2] = ""; mesg[3] = "Press any key to continue."; popupLabel (cdkscreen, mesg, 4); freeChar (mesg[1]); } destroyCDKRadio (radio); destroyCDKScreen (cdkscreen); endCDK (); exit (EXIT_SUCCESS); }