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
|
/*
* This is an example program for use with the libsx library. This
* example shows how to implement a simple file requestor. The main
* window has two button widgets: a load button and a quit button. The load
* button will open a file requestor window where the user can select a
* file from a scrollable list. The program will block until the user
* has selected a file or cancelled the load at which point the appropriate
* action can be taken.
*
* -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 "freq.h" /* file requestor header */
int init_display(int argc, char **argv, void *data);
/* callback protos */
void quit(Widget w, void *data);
void load(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("Load", load, data);
w[1] = MakeButton("Quit!", quit, data);
SetWidgetPos(w[1], PLACE_RIGHT, w[0], NO_CARE, NULL);
ShowDisplay();
GetStandardColors();
return argc;
}
/*
* load() - Callback function for the load button. This just calls
* SimpleGetFile() to get a file name
*/
void load(Widget w, void *data)
{
char *fname;
fname = SimpleGetFile(NULL);
if(fname)
printf("The file \"%s\" was selected\n", fname);
else
printf("Load Cancelled\n");
}
/*
* quit() - Callback funtion for the quit button.
*/
void quit(Widget w, void *data)
{
exit(0);
}
|