home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1734 / translate.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-28  |  2.1 KB  |  72 lines

  1. /*
  2.  *    translate.c : Map class names to classes. This code is
  3.  *              totally self-contained. A smaller executable
  4.  *              might result from only including the classes
  5.  *              an application needs.
  6.  *
  7.  *      George Ferguson, ferguson@cs.rochester.edu, 15 Jul 1990.
  8.  *
  9.  *    $Id: translate.c,v 1.2 90/08/07 10:01:49 ferguson Exp $
  10.  */
  11. #include <X11/Intrinsic.h>
  12. #include <X11/StringDefs.h>
  13. #include <X11/Xaw/Command.h>
  14. #include <X11/Xaw/Grip.h>
  15. #include <X11/Xaw/Label.h>
  16. #include <X11/Xaw/List.h>
  17. #include <X11/Xaw/Scrollbar.h>
  18. #include <X11/Xaw/StripChart.h>
  19. #include <X11/Xaw/Toggle.h>
  20. #include <X11/Xaw/SimpleMenu.h>
  21. #include <X11/Xaw/SmeBSB.h>
  22. #include <X11/Xaw/SmeLine.h>
  23. #include <X11/Xaw/MenuButton.h>
  24. #include <X11/Xaw/AsciiText.h>
  25. #include <X11/Xaw/Box.h>
  26. #include <X11/Xaw/Dialog.h>
  27. #include <X11/Xaw/Form.h>
  28. #include <X11/Xaw/Paned.h>
  29. #include <X11/Xaw/Viewport.h>
  30. #include <X11/Shell.h>
  31.  
  32. static struct tableRec {
  33.     char *name;
  34.     WidgetClass *class;
  35.     Boolean isShell;
  36. } table[] = {
  37.     { "Command",    &commandWidgetClass,    False },
  38.     { "Grip",    &gripWidgetClass,    False },
  39.     { "Label",    &labelWidgetClass,    False },
  40.     { "List",    &listWidgetClass,    False },
  41.     { "Scrollbar",    &scrollbarWidgetClass,    False },
  42.     { "StripChart",    &stripChartWidgetClass,    False },
  43.     { "Toggle",    &toggleWidgetClass,    False },
  44.     { "SimpleMenu",    &simpleMenuWidgetClass,    True },
  45.     { "SmeBSB",    &smeBSBObjectClass,    False },
  46.     { "SmeLine",    &smeLineObjectClass,    False },
  47.     { "MenuButton",    &menuButtonWidgetClass,    False },
  48.     { "AsciiText",    &asciiTextWidgetClass,    False },
  49.     { "Box",    &boxWidgetClass,    False },
  50.     { "Dialog",    &dialogWidgetClass,    False },
  51.     { "Form",    &formWidgetClass,    False },
  52.     { "Paned",    &panedWidgetClass,    False },
  53.     { "Viewport",    &viewportWidgetClass,    False },
  54.     { "TransientShell", &transientShellWidgetClass, True },
  55.     { "ApplicationShell", &applicationShellWidgetClass, True },
  56. };
  57.  
  58. WidgetClass
  59. classNameToWidgetClass(name,isShell)
  60. char *name;
  61. Boolean *isShell;
  62. {
  63.     int i;
  64.  
  65.     for (i=0; i < XtNumber(table); i++)
  66.     if (strcmp(name,table[i].name) == 0) {
  67.         *isShell = table[i].isShell;
  68.         return(*(table[i].class));
  69.     }
  70.     return((WidgetClass)NULL);
  71. }
  72.