home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1680 / translate.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-28  |  2.1 KB  |  74 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.1 90/08/15 10:22:44 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/Simple.h>
  19. #include <X11/Xaw/StripChart.h>
  20. #include <X11/Xaw/Toggle.h>
  21. #include <X11/Xaw/SimpleMenu.h>
  22. #include <X11/Xaw/SmeBSB.h>
  23. #include <X11/Xaw/SmeLine.h>
  24. #include <X11/Xaw/MenuButton.h>
  25. #include <X11/Xaw/AsciiText.h>
  26. #include <X11/Xaw/Box.h>
  27. #include <X11/Xaw/Dialog.h>
  28. #include <X11/Xaw/Form.h>
  29. #include <X11/Xaw/Paned.h>
  30. #include <X11/Xaw/Viewport.h>
  31. #include <X11/Shell.h>
  32.  
  33. static struct tableRec {
  34.     char *name;
  35.     WidgetClass *class;
  36.     Boolean isShell;
  37. } table[] = {
  38.     { "Command",    &commandWidgetClass,    False },
  39.     { "Grip",    &gripWidgetClass,    False },
  40.     { "Label",    &labelWidgetClass,    False },
  41.     { "List",    &listWidgetClass,    False },
  42.     { "Scrollbar",    &scrollbarWidgetClass,    False },
  43.     { "Simple",    &simpleWidgetClass,    False },
  44.     { "StripChart",    &stripChartWidgetClass,    False },
  45.     { "Toggle",    &toggleWidgetClass,    False },
  46.     { "SimpleMenu",    &simpleMenuWidgetClass,    True },
  47.     { "SmeBSB",    &smeBSBObjectClass,    False },
  48.     { "SmeLine",    &smeLineObjectClass,    False },
  49.     { "MenuButton",    &menuButtonWidgetClass,    False },
  50.     { "AsciiText",    &asciiTextWidgetClass,    False },
  51.     { "Box",    &boxWidgetClass,    False },
  52.     { "Dialog",    &dialogWidgetClass,    False },
  53.     { "Form",    &formWidgetClass,    False },
  54.     { "Paned",    &panedWidgetClass,    False },
  55.     { "Viewport",    &viewportWidgetClass,    False },
  56.     { "TransientShell", &transientShellWidgetClass, True },
  57.     { "ApplicationShell", &applicationShellWidgetClass, True },
  58. };
  59.  
  60. WidgetClass
  61. classNameToWidgetClass(name,isShell)
  62. char *name;
  63. Boolean *isShell;
  64. {
  65.     int i;
  66.  
  67.     for (i=0; i < XtNumber(table); i++)
  68.     if (strcmp(name,table[i].name) == 0) {
  69.         *isShell = table[i].isShell;
  70.         return(*(table[i].class));
  71.     }
  72.     return((WidgetClass)NULL);
  73. }
  74.