1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
/*
* -Allen Martin (amartin@wpi.wpi.edu)
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libsx.h" /* gets us in the door with libsx */
#include "multireq.h"
int init_display(int argc, char **argv, void *data);
/* callback protos */
void edit(Widget w, void *data);
void quit(Widget w, void *data);
int main(int argc, char **argv)
{
argc = init_display(argc, argv, NULL); /* setup the display */
if (argc == 0)
exit(0);
MainLoop(); /* go right into the main loop */
return 0;
}
/* This function sets up the display. For any kind of a real program,
* you'll probably want to save the values returned by the MakeXXX calls
* so that you have a way to refer to the display objects you have
* created (like if you have more than one drawing area, and want to
* draw into both of them).
*/
int init_display(int argc, char **argv, void *data)
{
Widget w[2];
argc = OpenDisplay(argc, argv);
if (argc == FALSE)
return argc;
w[0] = MakeButton("Edit", edit, data);
w[1] = MakeButton("Quit!", quit, data);
SetWidgetPos(w[1], PLACE_RIGHT, w[0], NO_CARE, NULL);
ShowDisplay();
GetStandardColors();
return argc;
}
/*
*/
void edit(Widget w, void *data)
{
static char name[1024] = "Computer Geek";
static char address[1024] = "Fuller Labs, WPI";
static int number=123;
static float height=456.789;
TagList tags[] = {
{TAG_WINDOW_LABEL, "Input Window", NULL, TAG_NOINIT},
{TAG_STRING, "Name:", name, TAG_INIT},
{TAG_LABEL, "Please Enter your Address below", NULL, TAG_NOINIT},
{TAG_STRING, "Address:", address, TAG_INIT},
{TAG_INT, "Number:", &number, TAG_INIT},
{TAG_FLOAT, "Height:", &height, TAG_INIT},
{TAG_DONE, NULL, NULL, TAG_NOINIT}
};
if(GetValues(tags))
printf("Cancelled\n");
else
{
printf("Name: %s\n", name);
printf("Address: %s\n", address);
printf("Number: %d\n", number);
printf("Height: %f\n", height);
}
}
/*
* quit() - Callback function for the quit button
*/
void quit(Widget w, void *data)
{
exit(0);
}
|