home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / elisp / modes / xmr / xmr-database.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  1992-03-29  |  4.6 KB  |  187 lines

  1. #!/bin/sh
  2. #
  3. # xmr-database.sh: generates xmr-database.el used by xmr-mode
  4. #
  5.  
  6. classes="TopLevelShell \
  7.      XmDialogShell \
  8.      XmArrowButton \
  9.      XmBulletinBoard \
  10.      XmCascadeButton \
  11.      XmCommand \
  12.      XmDrawingArea \
  13.      XmDrawnButton \
  14.      XmFileSelectionBox \
  15.      XmForm \
  16.      XmFrame \
  17.      XmLabel \
  18.      XmList \
  19.      XmMainWindow \
  20.      XmManager \
  21.      XmMessageBox \
  22.      XmPanedWindow \
  23.      XmPrimitive \
  24.      XmPushButton \
  25.      XmRowColumn \
  26.      XmScale \
  27.      XmScrollBar \
  28.      XmScrolledWindow \
  29.      XmSelectionBox \
  30.      XmSeparator \
  31.      XmText \
  32.      XmTextField \
  33.      XmToggleButton \
  34.      XmArrowButtonGadget \
  35.      XmCascadeButtonGadget \
  36.      XmLabelGadget \
  37.      XmPushButtonGadget \
  38.      XmSeparatorGadget \
  39.      XmToggleButtonGadget"
  40.  
  41. echo ";;;"
  42. echo ";;; `date`"
  43. echo ";;;"
  44. echo ";;; This file was generated by xmr-database.sh."
  45. echo ";;;"
  46. echo
  47. echo "(provide 'xmr-database)"
  48. echo
  49. echo "(defvar xmr-class-symbols nil)"
  50. echo "(setq xmr-class-symbols"
  51. echo "  '("
  52.  
  53. for class in $classes
  54. do
  55.     echo "    $class"
  56. done
  57.  
  58. echo "    ))"
  59. echo
  60.  
  61. cat <<RESOURCES
  62. (defvar xmr-resources-permanent
  63.   '(
  64.     ("wcCallback")
  65.     ("wcChildren")
  66.     ("wcClass")
  67.     ("wcClassName")
  68.     ("wcConstructor")
  69.     ("wcManaged")
  70.     ("wcPopups")
  71.     ("wcResFile")
  72.     ("wcTrace")
  73.     ))
  74.  
  75. RESOURCES
  76.  
  77. #
  78. # xmlistres client is a modified version of listres that uses the Motif
  79. # widget set.
  80. #
  81. for class in $classes
  82. do
  83.     xmlistres 2>/dev/null $class |
  84.     nawk '
  85.         BEGIN {
  86.             printf "(put '\''%s '\''resources '\''(\n", class
  87.         }
  88.         NF == 4 && NR > 3 && $1 == class {
  89.             printf "(\"%s\")\n", $2
  90.         }
  91.         END {
  92.             printf "))\n"
  93.         }
  94.     ' class=$class
  95. done
  96.  
  97. for class in $classes
  98. do
  99.     xmlistres 2>/dev/null $class |
  100.     nawk '
  101.         BEGIN {
  102.             printf "(put '\''%s '\''resources* '\''(\n", class
  103.         }
  104.         NF == 4 && NR > 3 {
  105.             printf "(\"%s\")\n", $2
  106.         }
  107.         END {
  108.             printf "))\n"
  109.         }
  110.     ' class=$class
  111. done
  112.  
  113. cat <<RESOURCES
  114. (put 'XmArrowButtonGadget   'resources-shadow 'XmArrowButton  )
  115. (put 'XmCascadeButtonGadget 'resources-shadow 'XmCascadeButton)
  116. (put 'XmLabelGadget         'resources-shadow 'XmLabel        )
  117. (put 'XmPushButtonGadget    'resources-shadow 'XmPushButton   )
  118. (put 'XmSeparatorGadget     'resources-shadow 'XmSeparator    )
  119. (put 'XmToggleButtonGadget  'resources-shadow 'XmToggleButton )
  120.  
  121. ;;;
  122. ;;; Append resources that were missed by xmlistres.
  123. ;;;
  124. (put 'XmText 'resources
  125.      (append '(("rows") ("columns")) (get 'XmText 'resources)))
  126. (put 'XmText 'resources*
  127.      (append '(("rows") ("columns")) (get 'XmText 'resources*)))
  128.  
  129. (put 'XmForm 'resources-constraint
  130.      '(("leftAttachment")
  131.        ("rightAttachment")
  132.        ("topAttachment")
  133.        ("bottomAttachment")
  134.        ("leftPosition")
  135.        ("rightPosition")
  136.        ("topPosition")
  137.        ("bottomPosition")
  138.        ("leftOffset")
  139.        ("rightOffset")
  140.        ("topOffset")
  141.        ("bottomOffset")
  142.        ("leftWidget")
  143.        ("rightWidget")
  144.        ("topWidget")
  145.        ("bottomWidget")
  146.        ))
  147. RESOURCES
  148.  
  149. echo
  150.  
  151. cat <<MANPAGES
  152. (put 'TopLevelShell           'manpage "TopLevelShe")
  153. (put 'XmDialogShell        'manpage "XmDialogShe")
  154. (put 'XmArrowButton        'manpage "XmArrowButA")
  155. (put 'XmCascadeButton        'manpage "XmCascadeBA")
  156. (put 'XmDrawnButton        'manpage "XmDrawnButt")
  157. (put 'XmLabel            'manpage "XmLabel"    )
  158. (put 'XmList            'manpage "XmList"     )
  159. (put 'XmPushButton        'manpage "XmPushButtA")
  160. (put 'XmScrollBar        'manpage "XmScrollBaA")
  161. (put 'XmSeparator        'manpage "XmSeparatoA")
  162. (put 'XmText            'manpage "XmText"     )
  163. (put 'XmTextField        'manpage "XmTextFielA")
  164. (put 'XmToggleButton        'manpage "XmToggleBuA")
  165. (put 'XmBulletinBoard        'manpage "XmBulletinB")
  166. (put 'XmCommand            'manpage "XmCommand"  )
  167. (put 'XmDrawingArea        'manpage "XmDrawingAr")
  168. (put 'XmFileSelectionBox    'manpage "XmFileSeleA")
  169. (put 'XmForm            'manpage "XmForm"     )
  170. (put 'XmFrame            'manpage "XmFrame"    )
  171. (put 'XmMainWindow        'manpage "XmMainWindA")
  172. (put 'XmManager            'manpage "XmManager"  )
  173. (put 'XmMessageBox        'manpage "XmMessageBA")
  174. (put 'XmPanedWindow        'manpage "XmPanedWind")
  175. (put 'XmPrimitive        'manpage "XmPrimitive")
  176. (put 'XmRowColumn        'manpage "XmRowColumn")
  177. (put 'XmScale            'manpage "XmScale"    )
  178. (put 'XmScrolledWindow        'manpage "XmScrolledA")
  179. (put 'XmSelectionBox        'manpage "XmSelectioA")
  180. (put 'XmArrowButtonGadget   'manpage "XmArrowButB")
  181. (put 'XmCascadeButtonGadget 'manpage "XmCascadeBB")
  182. (put 'XmLabelGadget        'manpage "XmLabelGadg")
  183. (put 'XmPushButtonGadget    'manpage "XmPushButtB")
  184. (put 'XmSeparatorGadget        'manpage "XmSeparatoB")
  185. (put 'XmToggleButtonGadget  'manpage "XmToggleBuB")
  186. MANPAGES
  187.