;/* easyrequest.c - Execute me to compile me with SAS C 5.10
LC -b1 -cfistq -v -y -j73 easyrequest.c
Blink FROM LIB:c.o,easyrequest.o TO easyrequest LIBRARY LIB:LC.lib,LIB:Amiga.lib
quit
** easyrequest.c - show the use of an easy requester.
*/
#define INTUI_V36_NAMES_ONLY
#include <exec/types.h>
#include <intuition/intuition.h>
#include <clib/exec_protos.h>
#include <clib/intuition_protos.h>
#include <stdio.h>
#ifdef LATTICE
int CXBRK(void) { return(0); } /* Disable Lattice CTRL/C handling */
int chkabort(void) { return(0); } /* really */
#endif
/* declare the easy request structure.
** this uses many features of EasyRequest(), including:
** multiple lines of body text separated by '\n'.
** variable substitution of a string (%s) in the body text.
** multiple button gadgets separated by '|'.
** variable substitution in a gadget (long decimal '%ld').
*/
struct EasyStruct myES =
{
sizeof(struct EasyStruct),
0,
"Request Window Name",
"Text for the request\nSecond line of %s text\nThird line of text for the request",
"Yes|%ld|No",
};
struct Library *IntuitionBase;
/*
** Main routine to show the use of EasyRequest()
*/
VOID main (int argc, char **argv)
{
LONG answer;
LONG number;
number = 3125794; /* for use in the middle button */
if (IntuitionBase = OpenLibrary("intuition.library",37))
{
/* note in the variable substitution:
** the string goes in the first open variable (in body text).
** the number goes in the second open (gadget text).
*/
answer = EasyRequest(NULL, &myES, NULL, "(Variable)", number);
/* Process the answer. Note that the buttons are numbered in
** a strange order. This is because the rightmost button is
** always a negative reply. The code can use this if it chooses,
** with a construct like:
**
** if (EasyRequest())
** positive_response();
*/
switch (answer)
{
case 1:
printf("selected 'Yes'\n");
break;
case 2:
printf("selected '%ld'\n", number);
break;
case 0:
printf("selected 'No'\n");
break;
}
CloseLibrary(IntuitionBase);
}
}
[Back to Amiga Developer Docs]