home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume3 / browserw / part01 / main.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-17  |  2.1 KB  |  113 lines

  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/stat.h>
  4. #include <sys/dir.h>
  5. #include <sys/param.h>
  6. #include <X11/Intrinsic.h>
  7. #include <X11/Cardinals.h>
  8. #include <X11/List.h>
  9. #include <X11/StringDefs.h>
  10. #include "Browser.h"
  11.  
  12.  
  13. Arg      args[20];
  14. Widget toplevel;
  15.  
  16. static XrmOptionDescRec options[] = {
  17. {"-label",    "*label",    XrmoptionSepArg,    NULL}
  18. };
  19.  
  20.  
  21. void Syntax(call)
  22.     char *call;
  23. {
  24.     (void) fprintf( stderr, "Usage: %s\n", call );
  25.  
  26.     return;
  27. }
  28.  
  29.  
  30. static void ss(wi, client_data, call_data)
  31. Widget wi;
  32. caddr_t client_data;
  33. caddr_t call_data;
  34. {
  35.     (void) fprintf(stderr, "select %s\n", call_data);
  36.  
  37.     return;
  38. }
  39.  
  40. static void cc(wi, client_data, call_data)
  41. Widget wi;
  42. caddr_t client_data;
  43. caddr_t call_data;
  44. {
  45. extern Widget toplevel;
  46.  
  47.     (void) fputs("cancel\n", stderr);
  48.  
  49.     XtDestroyWidget(toplevel);
  50.  
  51.     exit(0);
  52. }
  53.  
  54. static void dd(wi, client_data, call_data)
  55. Widget wi;
  56. caddr_t client_data;
  57. caddr_t call_data;
  58. {
  59.     (void) fprintf(stderr, "all is dead\n");
  60.  
  61.     return;
  62. }
  63.  
  64. static Boolean tt(d)
  65. struct direct *d;
  66. {
  67.     return !(d->d_name[0] == '.' && d->d_name[1]==0);
  68. }
  69.  
  70. void main(argc, argv)
  71. unsigned int argc;
  72. char **argv;
  73. {
  74. register Cardinal    n;
  75. Widget L_widget;
  76. extern Widget toplevel;
  77.  
  78. static XtCallbackRec cancel_call[] = {
  79.     { cc,         (caddr_t) NULL}, 
  80.     {(XtCallbackProc) NULL,    (caddr_t) NULL}
  81. };
  82.  
  83. static XtCallbackRec destroy_call[] = {
  84.     { dd,         (caddr_t) NULL}, 
  85.     {(XtCallbackProc) NULL,    (caddr_t) NULL}
  86. };
  87.  
  88. static XtCallbackRec list_call[] = {
  89.     { ss,         (caddr_t) NULL}, 
  90.     {(XtCallbackProc) NULL,    (caddr_t) NULL}
  91. };
  92.  
  93.     toplevel = XtInitialize( NULL, "XLabel",
  94.                  options, XtNumber(options),
  95.                  &argc, argv );
  96.  
  97.     n = ZERO;
  98.     XtSetArg(args[n], XtNvalue,        "/usr"); n++;
  99.     XtSetArg(args[n], XtNopenCallback,    list_call); n++;
  100.     XtSetArg(args[n], XtNcancelCallback,cancel_call); n++;
  101.     XtSetArg(args[n], XtNheight,    350); n++;
  102.     XtSetArg(args[n], XtNwidth,        400); n++;
  103.     XtSetArg(args[n], XtNfunction,    tt); n++;
  104.     XtSetArg(args[n], XtNdestroyCallback,    destroy_call); n++; 
  105.  
  106.     L_widget = XtCreateManagedWidget( "browser", browserWidgetClass,
  107.         toplevel, args, n );
  108.  
  109.     
  110.     XtRealizeWidget(toplevel);
  111.     XtMainLoop();
  112. }
  113.