home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / m / master12.zip / mastering / Newapp / PrintOpt.c < prev    next >
C/C++ Source or Header  |  1992-08-19  |  2KB  |  56 lines

  1. #include "Menu.h"
  2. #include "Global.h"
  3.  
  4. Widget CreatePrinterOptionMenu (parent)
  5.      Widget  parent;
  6. {
  7.   XmString printers[4];
  8.   Widget buttonID[4];
  9.   int            printerCount=4;
  10.  
  11.   Widget  option;
  12.   Widget  pulldown;
  13.   Widget  button;
  14.   int     counter;
  15.   XmString label;
  16.  
  17.   printers[0] = XmStringCreateSimple("LaserJet 2000");
  18.   printers[1] = XmStringCreateSimple("LaserJet III");
  19.   printers[2] = XmStringCreateSimple("DeskJet");
  20.   printers[3] = XmStringCreateSimple("PaintJet");
  21.  
  22.   /*** Create a pulldown menu pane. ***/
  23.   ac = 0;
  24.   XtSetArg(al[ac], XmNtearOffModel, XmTEAR_OFF_ENABLED); ac++;
  25.   pulldown = XmCreatePulldownMenu (parent, NULL, al, ac);
  26.  
  27.   /*** Add a pushbutton for each printer. ***/
  28.   for (counter = 0 ; counter < printerCount ; counter++)
  29.     {
  30.       ac = 0;
  31.       XtSetArg(al[ac], XmNlabelString, printers[counter]); ac++;
  32.       label = printers[counter];
  33.       button = XmCreatePushButtonGadget (pulldown, NULL, al, ac);
  34.       XtAddCallback(button, XmNactivateCallback, MenuCB, MENU_Printer_Switch);
  35.       XtManageChild(button);
  36.       XmStringFree(printers[counter]);
  37.  
  38.       /* Save the widget ID for each printer button.  These IDs can then
  39.          be used within a callback to determine which printer has been
  40.          chosen. */ 
  41.       buttonID[counter] = button;
  42.     }
  43.  
  44.   /*** Create the option menu.  Set the subMenuId with the pulldown ID. ***/
  45.   ac = 0;
  46.   label = XmStringCreateSimple("Printer:");
  47.   XtSetArg(al[ac], XmNlabelString, label); ac++;
  48.   XtSetArg(al[ac], XmNsubMenuId, pulldown); ac++;
  49.   option = XmCreateOptionMenu (parent, "printerMenu", al, ac);
  50.   XmStringFree(label);
  51.  
  52.   return (option);
  53.  
  54. }
  55.  
  56.