home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / n / newmarch.zip / FOUR.C < prev    next >
C/C++ Source or Header  |  1992-09-08  |  3KB  |  117 lines

  1. /* Author:   $Author: jan $
  2.  * File:     $Source: /usr/usrs/jan/desktop/X_Book.boo/programs/RCS/four.c,v $
  3.  * Date:     $Date: 1992/09/09 00:10:00 $
  4.  * Revision: $Revision: 1.1 $
  5.  */
  6.  
  7. #include "copyright.h"
  8.  
  9. #include <stdio.h> 
  10.  
  11. #include <Xm/PushB.h> 
  12. #include <Xm/RowColumn.h> 
  13.  
  14. /*------------------------------------------------------
  15. **         Forward Declarations 
  16. */ 
  17.  
  18. void main ();                  /*  main logic for
  19.                                    application  */
  20.  
  21. void CreateApplication ();     /*  create main window */
  22. void QuitCB ();                /*  callback for
  23.                                    quit button     */ 
  24.  
  25. /*------------------------------------------------------
  26. **        Global Variables 
  27. */ 
  28.  
  29. #define MAX_ARGS 20 
  30. #define Class_name "FourButtons" 
  31.  
  32. void
  33. main (argc,argv)  
  34.     int        argc; 
  35.     char    **argv; 
  36.     Widget    app_shell;
  37.  
  38.     /* Initialize toolkit, open the display
  39.        and create the toplevel widget. */ 
  40.     app_shell = XtInitialize(NULL, /* application                                                name */ 
  41.                          Class_name,  /* class name */
  42.                          NULL,        /* options */    
  43.                           0,          /* number of
  44.                                          options */ 
  45.                           &argc, argv);  
  46.   
  47.     /* set up all the sub-widgets */ 
  48.     CreateApplication(app_shell);
  49.     XtRealizeWidget (app_shell); 
  50.  
  51.     /* Get and dispatch events. */ 
  52.     XtMainLoop (); 
  53.  
  54. /*------------------------------------------------------
  55. **        CreateApplication        - create main window 
  56. **        This must be customized
  57. **        for each application.
  58. */ 
  59. void CreateApplication (parent)  
  60.     Widget    parent;        /*  parent widget */ 
  61.     Widget row_column;  /* RowColumn           */
  62.     Widget  button;      /*  PushButton       */
  63.  
  64.     Arg     args[MAX_ARGS]; /*  arg list     */
  65.     int    n;      /*  arg count     */
  66.  
  67.     /*      Create RowColumn Window. */ 
  68.     n = 0; 
  69.     row_column = XmCreateRowColumn (parent,                                    "rowColumn", args, n); 
  70.     XtManageChild (row_column);     
  71.  
  72.     n = 0; 
  73.     button = XmCreatePushButton (row_column, 
  74.                                  "Button 1", args, n); 
  75.     XtManageChild (button); 
  76.     XtAddCallback (button, XmNactivateCallback,
  77.                                   QuitCB, NULL); 
  78.          
  79.     n = 0; 
  80.     button = XmCreatePushButton (row_column,
  81.                                   "Button 2", args, n); 
  82.     XtManageChild (button);          
  83.     XtAddCallback (button, XmNactivateCallback,
  84.                                    QuitCB, NULL); 
  85.  
  86.     n = 0; 
  87.     button = XmCreatePushButton (row_column,
  88.                                   "Button 3", args, n); 
  89.     XtManageChild (button); 
  90.     XtAddCallback (button, XmNactivateCallback,
  91.                                   QuitCB, NULL); 
  92.  
  93.     n = 0; 
  94.     button = XmCreatePushButton (row_column,
  95.                                   "Button 4", args, n); 
  96.     XtManageChild (button); 
  97.     XtAddCallback (button, XmNactivateCallback,
  98.                                    QuitCB, NULL);      
  99.  
  100. /*------------------------------------------------------
  101. **        QuitCB            - callback for quit button 
  102. */ 
  103. void QuitCB (w, client_data, call_data)  
  104.     Widget        w;           /*  widget id   */
  105.     caddr_t        client_data; /* data from application */
  106.     caddr_t        call_data;   /* data from widget call */
  107.  
  108.     /*  Terminate the application. */ 
  109.     printf("button was pressed\n");
  110.     exit (0); 
  111. }
  112.