home *** CD-ROM | disk | FTP | other *** search
- #include "zforms.h"
- #include <stdlib.h>
-
- void SpeedDemo(int Item) {
- WINDOW SecondWin = {
- 0, 4, 10, NULL, NULL, 35, 10, 0x2720, BS_NOBORDER, BLACK, BLACK,
- DS_LOWERRIGHT, DARKGREY, NULL, NULL
- };
- WINDOW ThirdWin = {
- 0, 7, 7, NULL, NULL, 32, 8, 0x7220, BS_NOBORDER, BLACK, BLACK,
- DS_LOWERRIGHT, DARKGREY, NULL, NULL
- };
- WINDOW *pSecWin, *pThirdWin;
- int i;
-
- /* open both windows */
- pSecWin = Z_OpenWindow(&SecondWin);
- pThirdWin = Z_OpenWindow(&ThirdWin);
-
- /* push one window, then pop it 100 times */
- for(i=0;i<100;i++) {
- Z_PopWindow(pThirdWin);
- Z_PushWindow(pThirdWin);
- }
-
- /* close both windows and exit */
- Z_CloseWindow(pSecWin);
- Z_CloseWindow(pThirdWin);
- }
-
- int VerifyPrompt3(char *Line) {
- if(Line[0] == 'A') return(1);
- else {
- Z_InformUser("Invalid Response", "This response must begin with 'A'", " <OK> ", NULL);
- return(0);
- }
- }
-
- void PromptDemo(int Item) {
- WINDOW PromptWin = {
- 0, 10, 60, NULL, NULL, 10, 8, 0x1020, BS_DOUBLELINE, YELLOW, BLUE,
- DS_LOWERRIGHT, DARKGREY, "Data Entry Demo", "F2-Exit Esc-Abort" };
- WINDOW *pPromptWin;
- WINDOW PromptHintWin = {
- 0, 1, 58, NULL, NULL, 11, 16, 0x1020, BS_NOBORDER, BLACK, BLACK,
- DS_NONE, BLACK, NULL, NULL };
- WINDOW *pPHWin;
- int Key;
- static char Response1[20] = "", Response2[15] = "", Response3[15] = "";
- PROMPT TestPrompt[] = {
- Response1, "Numeric Prompt: ", "(999) 999-9999", 14, 15, 2, YELLOW, BLUE,
- BRIGHTWHITE, BLUE, BLACK, CYAN, NULL, " This field will accept only numbers ",
- Response2, "Upper Case Prompt: ", "UUUUUUUUUU", 10, 12, 4, YELLOW, BLUE,
- YELLOW, BLUE, BLACK, CYAN, NULL, " This prompt will accept only upper case letters ",
- Response3, "Any Data: ", "##########", 10, 21, 6, YELLOW, BLUE,
- YELLOW, BLUE, BLACK, CYAN, VerifyPrompt3, " This prompt will accept any data starting with 'A'",
- NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL};
- int PromptExit[] = { k_F2, k_Esc, k_NoKey };
-
- /* open prompt window */
- pPromptWin = Z_OpenWindow(&PromptWin);
- pPHWin = Z_OpenWindow(&PromptHintWin);
-
- /* handle the data entry fields */
- Key = Z_HandleInputs(pPromptWin, pPHWin, TestPrompt, PromptExit);
-
- /* close the window and exit */
- Z_CloseWindow(pPHWin);
- Z_CloseWindow(pPromptWin);
- }
-
- void TestPickList(void) {
- PICKLIST TestPL = {
- 10, 5, 10, 60, 58, 0, YELLOW, BLUE, BLACK, CYAN, BS_SINGLELINE, YELLOW, BLUE,
- 0x1020, DS_LOWERRIGHT, DARKGREY, "PickList Demonstartion" };
- PICKLIST *pPL;
- PICKLIST_ITEM *pPLI;
-
- /* test the picklist */
- pPL = &TestPL;
- Z_AddPickListItem(pPL, "Line 1");
- Z_AddPickListItem(pPL, "Line 2");
- Z_AddPickListItem(pPL, "Line 3");
- Z_AddPickListItem(pPL, "Line 4");
- Z_AddPickListItem(pPL, "Line 5");
- Z_AddPickListItem(pPL, "Line 6");
- Z_AddPickListItem(pPL, "Line 7");
- Z_AddPickListItem(pPL, "Line 8");
- Z_AddPickListItem(pPL, "Line 9");
- Z_AddPickListItem(pPL, "Line 10");
- Z_AddPickListItem(pPL, "Line 11");
- Z_AddPickListItem(pPL, "Line 12");
- Z_AddPickListItem(pPL, "Line 13");
- Z_AddPickListItem(pPL, "Line 14");
- pPLI = Z_HandlePickList(pPL);
- if(pPLI) Z_InformUser("PickList Choice", pPLI->ItemText, " <OK> ", NULL);
- }
-
- void main(void) {
- WINDOW MainWin = {
- 0, 25, 80, NULL, NULL, 0, 0, 0x03b0, BS_SINGLELINE, YELLOW, BLUE, DS_NONE,
- 0, " Z-Forms Demonstration Program ", "Complete Demo Source in ZFORMS.C" };
- WINDOW *pWin;
- static int OneOfVar=0, CheckVar=0;
- static char DataVar[35] = " ";
-
- #ifdef __Z_INIT_EXT__
- static MENU VertMenu = {
- 33, 2, 6, 20, 18, MMF_VERTMENU | MMF_NOHINT, BRIGHTWHITE, BLUE,
- LT_RED, BLUE, BLUE, CYAN, WHITE, BLACK, 1, 28, 40, BS_SINGLELINE,
- YELLOW, BLUE, 0, 0, NULL,
- "First Choice", MIF_CALLEXIT, 'F', 0, 1, 1, NULL, NULL,
- "Second Choice", MIF_CALLEXIT, 'S', 0, 1, 2, NULL, NULL,
- "Third Choice", MIF_CALLEXIT, 'T', 0, 1, 3, NULL, NULL,
- "Fourth Choice", MIF_CALLEXIT, 'O', 1, 1, 4, NULL, NULL,
- NULL, 0, 0, 0, 0, 0, NULL, "" };
- static DIALOG TestDialog = {
- 10, 5, 13, 60, DBF_USEHINT, 0x1E20, YELLOW, BLUE, 11, 16, 58, BS_DOUBLELINE,
- YELLOW, BLUE, DS_LOWERRIGHT, 0x8, "Test Dialog Box", NULL,
- "This is a text control", CSF_TEXT, CSS_NOACTIVATE | CSS_CALLNOTHING, 0, 0, 20, 2, 1, 22, YELLOW, BLUE,
- CYAN, BLUE, NULL, NULL, NULL,
- "Data Entry: ", CSF_DATAENTRY, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_D, 0, 3, 4, 1, 0x1E0A, WHITE, BLUE,
- CYAN, BLUE, DataVar, "This is a data entry control", NULL,
- "Checkbox", CSF_CHECKBOX, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_C, 3, 42, 4, 0, 0, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &CheckVar, "This is a check box control", NULL,
- "OneOfButton1", CSF_ONEOFBUTTON, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_O, 0, 22, 6, 0, 0, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &OneOfVar, "This is a group of one-of buttons", NULL,
- "OneOfButton2", CSF_ONEOFBUTTON, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_N, 1, 22, 7, 0, 1, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &OneOfVar, "This is a group of one-of buttons", NULL,
- " <Exit> ", CSF_BUTTON, CSS_ACTIVATE | CSS_EXIT, k_Esc, 0, 26, 9, 0, 0, WHITE, RED,
- BRIGHTWHITE, RED, NULL, "This is a button control", NULL,
- NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, "", NULL};
- static MENU MainMenu = {
- 1, 1, 1, 78, 0, MMF_HORIZMENU | MMF_NOHINT, BRIGHTWHITE, BLUE,
- LT_RED, BLUE, BLUE, CYAN, WHITE, BLACK, 1, 28, 40, BS_NOBORDER,
- BLACK, BLACK, 0, 0, NULL,
- "Speed Demo", MIF_CALLFUNC, 'S', 0, 3, 0, (void *)SpeedDemo,
- " Display and hide a window 100 times ",
- "Data Entry", MIF_CALLFUNC, 'D', 0, 18, 0, (void *)PromptDemo,
- " Demonstration of Data Entry fields ",
- "Menu", MIF_CALLMENU, 'M', 0, 32, 0, (void *)&VertMenu,
- " Demonstration of a Vertical Menu ",
- "Dialog Box", MIF_CALLDIALOG, 'I', 1, 40, 0, (void *)&TestDialog,
- " Demonstration of a Dialog Box ",
- "PickList", MIF_CALLFUNC, 'P', 0, 54, 0, (void *)&TestPickList,
- " Demonstration of a Pick List ",
- "Exit", MIF_CALLEXIT, 'X', 1, 70, 0, NULL,
- " Exit the Z-Forms demo ",
- NULL, 0, 0, 0, 0, 0, NULL, "" };
- #else
- static MENU_ITEM VertMenuItem[] = {
- "First Choice", MIF_CALLEXIT, 'F', 0, 1, 1, NULL, NULL,
- "Second Choice", MIF_CALLEXIT, 'S', 0, 1, 2, NULL, NULL,
- "Third Choice", MIF_CALLEXIT, 'T', 0, 1, 3, NULL, NULL,
- "Fourth Choice", MIF_CALLEXIT, 'O', 1, 1, 4, NULL, NULL,
- NULL, 0, 0, 0, 0, 0, NULL, "" };
- static MENU VertMenu = {
- 33, 2, 6, 20, 18, MMF_VERTMENU | MMF_NOHINT, BRIGHTWHITE, BLUE,
- LT_RED, BLUE, BLUE, CYAN, WHITE, BLACK, 1, 28, 40, BS_SINGLELINE,
- YELLOW, BLUE, 0, 0, NULL, VertMenuItem };
- static DLG_CONTROL TestDialogControl[] = {
- "This is a text control", CSF_TEXT, CSS_NOACTIVATE | CSS_CALLNOTHING, 0, 0, 20, 2, 1, 22, YELLOW, BLUE,
- CYAN, BLUE, NULL, NULL, NULL,
- "Data Entry: ", CSF_DATAENTRY, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_D, 0, 3, 4, 1, 0x1E0A, WHITE, BLUE,
- CYAN, BLUE, DataVar, "This is a data entry control", NULL,
- "Checkbox", CSF_CHECKBOX, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_C, 3, 42, 4, 0, 0, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &CheckVar, "This is a check box control", NULL,
- "OneOfButton1", CSF_ONEOFBUTTON, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_O, 0, 22, 6, 0, 0, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &OneOfVar, "This is a group of one-of buttons", NULL,
- "OneOfButton2", CSF_ONEOFBUTTON, CSS_ACTIVATE | CSS_CALLNOTHING, k_Alt_N, 1, 22, 7, 0, 1, WHITE, BLUE,
- BRIGHTWHITE, BLUE, &OneOfVar, "This is a group of one-of buttons", NULL,
- " <Exit> ", CSF_BUTTON, CSS_ACTIVATE | CSS_EXIT, k_Esc, 0, 26, 9, 0, 0, WHITE, RED,
- BRIGHTWHITE, RED, NULL, "This is a button control", NULL,
- NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, "", NULL};
- static DIALOG TestDialog = {
- 10, 5, 13, 60, DBF_USEHINT, 0x1E20, YELLOW, BLUE, 11, 16, 58, BS_DOUBLELINE,
- YELLOW, BLUE, DS_LOWERRIGHT, 0x8, "Test Dialog Box", NULL, TestDialogControl };
- static MENU_ITEM MainMenuItem[] = {
- "Speed Demo", MIF_CALLFUNC, 'S', 0, 3, 0, (void *)SpeedDemo,
- " Display and hide a window 100 times ",
- "Data Entry", MIF_CALLFUNC, 'D', 0, 18, 0, (void *)PromptDemo,
- " Demonstration of Data Entry fields ",
- "Menu", MIF_CALLMENU, 'M', 0, 32, 0, (void *)&VertMenu,
- " Demonstration of a Vertical Menu ",
- "Dialog Box", MIF_CALLDIALOG, 'I', 1, 40, 0, (void *)&TestDialog,
- " Demonstration of a Dialog Box ",
- "PickList", MIF_CALLFUNC, 'P', 0, 54, 0, (void *)&TestPickList,
- " Demonstration of a Pick List ",
- "Exit", MIF_CALLEXIT, 'X', 1, 70, 0, NULL,
- " Exit the Z-Forms demo ",
- NULL, 0, 0, 0, 0, 0, NULL, "" };
- static MENU MainMenu = {
- 1, 1, 1, 78, 0, MMF_HORIZMENU | MMF_NOHINT, BRIGHTWHITE, BLUE,
- LT_RED, BLUE, BLUE, CYAN, WHITE, BLACK, 1, 28, 40, BS_NOBORDER,
- BLACK, BLACK, 0, 0, NULL, MainMenuItem };
- #endif
-
- /* open the main window */
- pWin = Z_OpenWindow(&MainWin);
-
- /* display the welcoming dialog box */
- Z_InformUser("Z-Forms", "Welcome to Zforms!", "<Continue>", NULL);
-
- /* display and handle the main menu */
- Z_HandleMenu(&MainMenu);
-
- /* close the main window and exit */
- Z_CloseWindow(pWin);
- Z_ClearScreen(' ', WHITE);
- }
-