home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
zforms
/
zforms.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-05-22
|
10KB
|
211 lines
#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);
}