argv@island.uu.net (Dan Heller) (04/27/89)
Submitted-by: Gene Dykes <gdykes@tcgould.tn.cornell.edu> Posting-number: Volume 3, Issue 87 Archive-name: xcu/part11 #! /bin/sh # This is a shell archive. Remove anything before this line, then feed it # into a shell via "sh file" or similar. To overwrite existing files, # type "sh file -c". # The tool that generated this appeared in the comp.sources.unix newsgroup; # send mail to comp-sources-unix@uunet.uu.net if you want that tool. # If this archive is complete, you will see the following message at the end: # "End of archive 11 (of 12)." # Contents: Geometry/README Geometry/gdiff bin/wlm_incl_make # bin/wlm_update_class doc/wlm_world.mm examples/xlayout/bmgr.wl # examples/xlayout/bw_bmgr.wl examples/xlayout/bw_menu.wl # examples/xlayout/menu.wl examples/xlayout/shadow.wc # examples/xtbl/README examples/xwlm/xwlm.wh man/CuBmgrR.man # man/CuButton.man man/CuDeck.man man/CuGravityR.man # man/CuJustifyR.man src/CuBmgrP.h src/CuButtonP.h src/CuCommandP.h # src/CuGravityR.c src/CuJustifyR.c src/CuLabelP.h src/CuSimple.h # src/CuSimpleP.h src/CuSimpleR.h src/disclaimer.h # wlmCompiler/CuStack.c wlmCompiler/wlc.h # Wrapped by argv@island on Mon Apr 24 15:42:17 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'Geometry/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Geometry/README'\" else echo shar: Extracting \"'Geometry/README'\" \(1089 characters\) sed "s/^X//" >'Geometry/README' <<'END_OF_FILE' XThere is a bug in the X11R3 Inrinsics routine XtMakeGeometryRequest(), Xwhich is found in Geometry.c. The effect of this bug is to make Xmy geometry managers look bad. :-) X XTo duplicate on your system, try the "xtbl 6 -file tst6" demonstration Xfound in examples/xtbl. After hitting the "fill" button, you will see Xsome widgets out of place. For another demonstration of this effect, Xafter the widgets appear, resize the window Xmuch larger with your window manager. Then when you change the text in one Xof the widgets by clicking in the text box, the window will get small Xagain, but some of the children will be in the wrong place. X XIn this directory is a fixed version of Geometry.c. Just in case you have Xa copy of Geometry.c that has been modified since it came off the original XX11R3 distribution, "gdiff" contains the difference between the original XGeometry.c and the one with my correction. X XThis fix was arrived at after discussions with Ralph Swick, so it's not Xjust something off the top of my head. As far as I know, however, Xan official patch for it has not been sent out. END_OF_FILE echo shar: NEWLINE appended to \"'Geometry/README'\" if test 1090 -ne `wc -c <'Geometry/README'`; then echo shar: \"'Geometry/README'\" unpacked with wrong size! fi # end of 'Geometry/README' fi if test -f 'Geometry/gdiff' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Geometry/gdiff'\" else echo shar: Extracting \"'Geometry/gdiff'\" \(1432 characters\) sed "s/^X//" >'Geometry/gdiff' <<'END_OF_FILE' X45d44 X< XWindowChanges changes; X108,114d106 X< /* keep record of what the widget looks like before calling geometry mgr */ X< changes.x = widget->core.x ; X< changes.y = widget->core.y ; X< changes.width = widget->core.width ; X< changes.height = widget->core.height ; X< changes.border_width = widget->core.border_width ; X< X151d142 X< /* determine reconfigurable items by comparing with "old" widget */ X153,172c144 X< if (changes.x != widget->core.x) { X< changeMask |= CWX; X< changes.x = widget->core.x; X< } X< if (changes.y != widget->core.y) { X< changeMask |= CWY; X< changes.y = widget->core.y; X< } X< if (changes.width != widget->core.width) { X< changeMask |= CWWidth; X< changes.width = widget->core.width; X< } X< if (changes.height != widget->core.height) { X< changeMask |= CWHeight; X< changes.height = widget->core.height; X< } X< if (changes.border_width != widget->core.border_width) { X< changeMask |= CWBorderWidth; X< changes.border_width = widget->core.border_width; X< } X--- X> XWindowChanges changes; X173a146,151 X> if (changeMask & CWX) changes.x = widget->core.x; X> if (changeMask & CWY) changes.y = widget->core.y; X> if (changeMask & CWWidth) changes.width = widget->core.width; X> if (changeMask & CWHeight) changes.height = widget->core.height; X> if (changeMask & CWBorderWidth) X> changes.border_width = widget->core.border_width; END_OF_FILE echo shar: NEWLINE appended to \"'Geometry/gdiff'\" if test 1433 -ne `wc -c <'Geometry/gdiff'`; then echo shar: \"'Geometry/gdiff'\" unpacked with wrong size! fi # end of 'Geometry/gdiff' fi if test -f 'bin/wlm_incl_make' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bin/wlm_incl_make'\" else echo shar: Extracting \"'bin/wlm_incl_make'\" \(1340 characters\) sed "s/^X//" >'bin/wlm_incl_make' <<'END_OF_FILE' X#!/bin/sh X Xhp_present=0 X Xecho "#include \"CuWlmP.h\"" Xfor i in $* ; do X trail=`echo $i | sed 's/..//'` # peel off first two letters X First=`basename $i $trail` # capture first two letters X if [ "$First" = "Xw" ] ; then # test for HP violations X if [ $hp_present -eq 0 ] ; then # only include this once if needed X echo "#include <Xw/Xw.h>" X hp_present=1 X fi X echo "#include <Xw/${trail}.h>" X else X echo "#include \"${i}.h\"" X fi Xdone Xecho "" Xecho "void" Xecho "make_tag_class_list (ww)" Xecho " CuWlmWidget ww ;" Xecho "{" Xecho "CuWlmTagClassList *list = NULL ;" Xecho "CuWlmTagClassList *save ;" Xecho "" Xfor i in $* ; do X echo "save = list ;" X echo 'list = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ;' X echo "list->quark = XrmStringToQuark (\"$i\") ;" X X trail=`echo $i | sed 's/..//'` # peel off first two letters X First=`basename $i $trail` # capture first two letters X if [ "$First" = "Xw" ] ; then # test for HP violations X violation=Xw X i=$trail X else X violation="" X fi X X trail=`echo $i | sed 's/.//'` X First=`basename $i $trail` X first=`echo $First | tr "[A-Z]" "[a-z]"` X echo "list->class = ${violation}${first}${trail}WidgetClass ;" X echo "list->next = save ;" X echo "" Xdone X Xecho "ww->wlm.tag_class_list = list ;" Xecho "return ;" Xecho "}" Xecho "" X END_OF_FILE echo shar: NEWLINE appended to \"'bin/wlm_incl_make'\" if test 1341 -ne `wc -c <'bin/wlm_incl_make'`; then echo shar: \"'bin/wlm_incl_make'\" unpacked with wrong size! fi chmod +x 'bin/wlm_incl_make' # end of 'bin/wlm_incl_make' fi if test -f 'bin/wlm_update_class' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bin/wlm_update_class'\" else echo shar: Extracting \"'bin/wlm_update_class'\" \(1436 characters\) sed "s/^X//" >'bin/wlm_update_class' <<'END_OF_FILE' X#!/bin/sh X Xclient=$1 Xshift X X# X# get the widget classes from each WLDL and merge them X# (The top level WLDLs are the arguments to this script; X# WLDLs embedded within these are found by wlm_compile X# and processed in subsequent trips through the while loop) X# X Xa="$*" Xecho > /tmp/wlm$$ Xecho > /tmp/class$$ X Xwhile [ "$a" ] ; do # while there are WLDLs to do X for i in $a ; do # for each WLDL X b=`basename $i .wl` X if [ ! -r $i ] ; then X echo "WLDL \($i\) not found!" X exit 1 X fi X wlc $i # find: X /bin/cat $b.cl >> /tmp/class$$ # widget classes and X /bin/cat $b.lw >> /tmp/wlm$$ # embedded WLDLs X done X X a=`/bin/cat /tmp/wlm$$` # pick up list of embedded WLDLs X echo > /tmp/wlm$$ Xdone X Xif [ ! -r $client.wb ] ; then # create null file if necessary X touch $client.wb Xfi X X# X# compact to one and only one entry per widget class X# X Xsort /tmp/class$$ | uniq > /tmp/class$$x X X# X# find only those classes that appear once in old and new lists X# X X/bin/cat $client.wb /tmp/class$$x | sort | uniq -u > /tmp/class$$y X X# X# see if it is in one of the new lists X# X Xa=`/bin/cat /tmp/class$$y /tmp/class$$x | sort | uniq -d` X Xif [ "$a" ] ; then X # X # it is, so append the new ones to the end of the target X # X echo $a > $client.nc X touch $client.wf Xelse X touch $client.nc X if [ ! -r $client.wf ] ; then touch $client.wf ; fi Xfi X Xrm /tmp/class$$ /tmp/class$$x /tmp/class$$y /tmp/wlm$$ END_OF_FILE echo shar: NEWLINE appended to \"'bin/wlm_update_class'\" if test 1437 -ne `wc -c <'bin/wlm_update_class'`; then echo shar: \"'bin/wlm_update_class'\" unpacked with wrong size! fi chmod +x 'bin/wlm_update_class' # end of 'bin/wlm_update_class' fi if test -f 'doc/wlm_world.mm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'doc/wlm_world.mm'\" else echo shar: Extracting \"'doc/wlm_world.mm'\" \(1469 characters\) sed "s/^X//" >'doc/wlm_world.mm' <<'END_OF_FILE' X.ll +5 X.PH "" X.ce XWLM's "Good-bye, World!" X.sp X.ta 0.25i 0.50i 0.75i 1.00i 1.25i 1.50i 1.75i 2.00i 2.25i 2.50i 2.75i 3.00i XThe following two figures show how to implement a "Good-bye, world!" command Xbutton, that causes the program to terminate. Figure 1 is the Widget Layout XDescription Language and Figure 2 is the client program. X.sp X.ce XFIGURE 1 X.sp X.ps -1 XCuWlm { X.br X CuCommand { X.br X name "exit" X.br X label "Good-bye, world!" X.br X } X.br X } X.ps +1 X.sp X.ce XFIGURE 2 X.sp X.ps -1 X.sp X#include <X11/Intrinsic.h> X.br X#include <X11/StringDefs.h> X.br X#include <X11/Shell.h> X.br X#include "CuWlm.h" X.sp Xstatic void exit_routine () ; X.br Xstatic Arg wlm_arg ; X.sp Xmain(argc, argv) X.br X int argc ; X.br X char **argv ; X.br X{ X.br XWidget top, wlm_id ; X.br Xtop = XtInitialize ( NULL, "top", NULL, NULL, &argc, argv ) ; X.br XXtSetArg (wlm_arg, XtNfile, argv[1]) ; X.br Xwlm_id = XtCreateManagedWidget ( "wlm", cuWlmWidgetClass, top, &wlm_arg, 1 ) ; X.br XCuWlmAddCallback ( wlm_id, NULL, "CuCommand", "exit", "callback", exit_routine, NULL ) ; X.br XXtRealizeWidget (top) ; X.sp Xfor (;;) { X.br X CuWlmRequest ( wlm_id ) ; X.br X } X.br X} X.sp Xstatic void X.br Xexit_routine () X.br X{ X.br Xexit (0) ; X.br X} X.sp X#include "CuWlmP.h" X.br X#include "CuWlm.h" X.br X#include "CuCommand.h" X.sp Xvoid X.br Xmake_tag_class_list (ww) X.br X CuWlmWidget ww ; X.br X{ X.br XTAG_CLASS_ENTRY(ww, "CuWlm", cuWlmWidgetClass) ; X.br XTAG_CLASS_ENTRY(ww, "CuCommand", cuCommandWidgetClass) ; X.br Xreturn ; X.br X} X.ps +1 END_OF_FILE echo shar: NEWLINE appended to \"'doc/wlm_world.mm'\" if test 1470 -ne `wc -c <'doc/wlm_world.mm'`; then echo shar: \"'doc/wlm_world.mm'\" unpacked with wrong size! fi # end of 'doc/wlm_world.mm' fi if test -f 'examples/xlayout/bmgr.wl' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xlayout/bmgr.wl'\" else echo shar: Extracting \"'examples/xlayout/bmgr.wl'\" \(2110 characters\) sed "s/^X//" >'examples/xlayout/bmgr.wl' <<'END_OF_FILE' XCuWlm X { X *dimFacetColor "SteelBlue" X *brightFacetColor "LightSteelBlue" X *facetWidth "5" X *CuCommand.background "white" X *CuCommand.foreground "black" X *CuCommand.cursor "dot" X *CuLabel.background "LightGray" X *CuLabel.borderColor "LightGray" X *CuLabel.foreground "black" X *CuLabel.facetWidth "0" X *CuTbl.internalWidth "20" X *CuTbl.internalHeight "20" X *CuTbl.interWidth "10" X *CuTbl.interHeight "10" X CuTbl X { X formatString "c." X background "White" X internalWidth "20" X internalHeight "20" X interWidth "10" X interHeight "10" X X /* X * Notice that the hierarchical positioning of the CuBmgr widgets X * is arbitrary. They only have to appear within the scope of the X * CuWlm widget. The first few are shown as if they are X * parents of the CuButton widgets; the last two are shown near X * the end of the file. X */ X X CuTbl X { X formatString "c." X background "LightGray" X CuLabel { name "Transient" } X CuBmgr X { X bmgrType "Transient" X manage "STEP" X CuButton { name "STEP" } X } X } X X CuTbl X { X formatString "c." X background "LightGray" X CuLabel { name "Single Toggle" } X CuBmgr X { X bmgrType "SingleToggle" X manage "HIGHLIGHT" X CuButton { name "HIGHLIGHT" } X } X } X X CuTbl X { X formatString "c\nc c." X background "LightGray" X CuLabel { name "Double Toggle" } X CuBmgr X { X bmgrType "DoubleToggle" X manage "ON" "OFF" X CuButton { name "ON" set "True" } X CuButton { name "OFF" } X } X } X X CuTbl X { X formatString "c\nc c c." X background "LightGray" X CuLabel { name "One of Many" } X CuButton { name "XY" } X CuButton { name "YZ" } X CuButton { name "ZX" set "True" } X } X X CuTbl X { X formatString "c\nc c c." X background "LightGray" X CuLabel { name "Any of Many" } X CuButton { name "RED" } X CuButton { name "GRN" set "True" } X CuButton { name "BLU" set "True" } X } X } X X CuBmgr X { X bmgrType "OneOfMany" X manage "XY" "YZ" "ZX" X } X X CuBmgr X { X bmgrType "AnyOfMany" X manage "RED" "GRN" "BLU" X } X } X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xlayout/bmgr.wl'\" if test 2111 -ne `wc -c <'examples/xlayout/bmgr.wl'`; then echo shar: \"'examples/xlayout/bmgr.wl'\" unpacked with wrong size! fi # end of 'examples/xlayout/bmgr.wl' fi if test -f 'examples/xlayout/bw_bmgr.wl' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xlayout/bw_bmgr.wl'\" else echo shar: Extracting \"'examples/xlayout/bw_bmgr.wl'\" \(1896 characters\) sed "s/^X//" >'examples/xlayout/bw_bmgr.wl' <<'END_OF_FILE' XCuWlm X { X *CuCommand.cursor "dot" X *CuTbl.internalWidth "20" X *CuTbl.internalHeight "20" X *CuTbl.interWidth "10" X *CuTbl.interHeight "10" X *CuButton.shadow "True" X *CuButton.internalWidth "10" X *CuButton.internalHeight "10" X *CuLabel.shadow "True" X *CuLabel.borderColor "White" X *CuLabel.facetWidth "1" X *CuButton.borderColor "White" X CuTbl X { X formatString "c." X background "White" X internalWidth "20" X internalHeight "20" X interWidth "10" X interHeight "10" X X /* X * Notice that the hierarchical positioning of the CuBmgr widgets X * is arbitrary. They only have to appear within the scope of the X * CuWlm widget. The first few are shown as if they are X * parents of the CuButton widgets; the last two are shown near X * the end of the file. X */ X X CuTbl X { X formatString "c." X CuLabel { name "Transient" } X CuBmgr X { X bmgrType "Transient" X manage "STEP" X CuButton { name "STEP" } X } X } X X CuTbl X { X formatString "c." X CuLabel { name "Single Toggle" } X CuBmgr X { X bmgrType "SingleToggle" X manage "HIGHLIGHT" X CuButton { name "HIGHLIGHT" } X } X } X X CuTbl X { X formatString "c\nc c." X CuLabel { name "Double Toggle" } X CuBmgr X { X bmgrType "DoubleToggle" X manage "ON" "OFF" X CuButton { name "ON" set "True" } X CuButton { name "OFF" } X } X } X X CuTbl X { X formatString "c\nc c c." X CuLabel { name "One of Many" } X CuButton { name "XY" } X CuButton { name "YZ" } X CuButton { name "ZX" set "True" } X } X X CuTbl X { X formatString "c\nc c c." X CuLabel { name "Any of Many" } X CuButton { name "RED" } X CuButton { name "GRN" set "True" } X CuButton { name "BLU" set "True" } X } X } X X CuBmgr X { X bmgrType "OneOfMany" X manage "XY" "YZ" "ZX" X } X X CuBmgr X { X bmgrType "AnyOfMany" X manage "RED" "GRN" "BLU" X } X } X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xlayout/bw_bmgr.wl'\" if test 1897 -ne `wc -c <'examples/xlayout/bw_bmgr.wl'`; then echo shar: \"'examples/xlayout/bw_bmgr.wl'\" unpacked with wrong size! fi # end of 'examples/xlayout/bw_bmgr.wl' fi if test -f 'examples/xlayout/bw_menu.wl' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xlayout/bw_menu.wl'\" else echo shar: Extracting \"'examples/xlayout/bw_menu.wl'\" \(1781 characters\) sed "s/^X//" >'examples/xlayout/bw_menu.wl' <<'END_OF_FILE' XCuWlm X { X *shadow "True" X *dimFacetColor "Black" X *facetWidth "5" X *CuCommand.background "white" X *CuCommand.foreground "black" X *CuCommand.cursor "dot" X *CuLabel.background "white" X *CuLabel.borderColor "white" X *CuLabel.foreground "black" X *CuTbl.internalWidth "20" X *CuTbl.internalHeight "20" X *CuTbl.interWidth "10" X *CuTbl.interHeight "10" X CuTbl X { X formatString "c." X background "White" X internalWidth "20" X internalHeight "20" X interWidth "10" X interHeight "10" X X CuTbl X { X formatString "c." X background "white" X CuLabel { facetWidth "1" name "Variable Menu Pages" } X CuDeck X { X name "menu" X background "white" X *CuLabel.internalWidth "50" X *CuLabel.internalHeight "100" X *CuLabel.background "white" X CuLabel { name "Menu Page 1" } X CuLabel { name "Menu Page 2" } X CuLabel { name "Menu Page 3" } X CuLabel { name "Menu Page 4" } X } X } X X CuTbl X { X formatString "c." X background "white" X CuLabel { facetWidth "1" name "Permanent Menu Buttons" } X CuTbl X { X formatString "c c." X background "white" X CuBmgr X { X bmgrType "OneOfMany" X if setCallback ( String "Page\n1" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 1") X if setCallback ( String "Page\n2" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 2") X if setCallback ( String "Page\n3" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 3") X if setCallback ( String "Page\n4" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 4") X manage "Page\n1" "Page\n2" "Page\n3" "Page\n4" X CuButton { name "Page\n1" set "True" } X CuButton { name "Page\n2" } X CuButton { name "Page\n3" } X CuButton { name "Page\n4" } X } X } X } X } X } X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xlayout/bw_menu.wl'\" if test 1782 -ne `wc -c <'examples/xlayout/bw_menu.wl'`; then echo shar: \"'examples/xlayout/bw_menu.wl'\" unpacked with wrong size! fi # end of 'examples/xlayout/bw_menu.wl' fi if test -f 'examples/xlayout/menu.wl' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xlayout/menu.wl'\" else echo shar: Extracting \"'examples/xlayout/menu.wl'\" \(1832 characters\) sed "s/^X//" >'examples/xlayout/menu.wl' <<'END_OF_FILE' XCuWlm X { X *dimFacetColor "SteelBlue" X *brightFacetColor "LightSteelBlue" X *facetWidth "5" X *CuCommand.background "white" X *CuCommand.foreground "black" X *CuCommand.cursor "dot" X *CuLabel.background "LightGray" X *CuLabel.borderColor "LightGray" X *CuLabel.foreground "black" X *CuLabel.facetWidth "0" X *CuTbl.internalWidth "20" X *CuTbl.internalHeight "20" X *CuTbl.interWidth "10" X *CuTbl.interHeight "10" X CuTbl X { X formatString "c." X background "White" X internalWidth "20" X internalHeight "20" X interWidth "10" X interHeight "10" X X CuTbl X { X formatString "c." X background "LightGray" X CuLabel { name "Variable Menu Pages" } X CuDeck X { X name "menu" X background "Wheat" X internalWidth "50" X internalHeight "100" X *CuLabel.background "Wheat" X *CuLabel.borderColor "Wheat" X CuLabel { name "Menu Page 1" } X CuLabel { name "Menu Page 2" } X CuLabel { name "Menu Page 3" } X CuLabel { name "Menu Page 4" } X } X } X X CuTbl X { X formatString "c." X background "LightGray" X CuLabel { name "Permanent Menu Buttons" } X CuTbl X { X formatString "c c." X background "Wheat" X CuBmgr X { X bmgrType "OneOfMany" X if setCallback ( String "Page\n1" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 1") X if setCallback ( String "Page\n2" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 2") X if setCallback ( String "Page\n3" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 3") X if setCallback ( String "Page\n4" == x ) X RaiseWidget (CuDeck "menu", CuLabel "Menu Page 4") X manage "Page\n1" "Page\n2" "Page\n3" "Page\n4" X CuButton { name "Page\n1" set "True" } X CuButton { name "Page\n2" } X CuButton { name "Page\n3" } X CuButton { name "Page\n4" } X } X } X } X } X } X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xlayout/menu.wl'\" if test 1833 -ne `wc -c <'examples/xlayout/menu.wl'`; then echo shar: \"'examples/xlayout/menu.wl'\" unpacked with wrong size! fi # end of 'examples/xlayout/menu.wl' fi if test -f 'examples/xlayout/shadow.wc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xlayout/shadow.wc'\" else echo shar: Extracting \"'examples/xlayout/shadow.wc'\" \(991 characters\) sed "s/^X//" >'examples/xlayout/shadow.wc' <<'END_OF_FILE' X#WLDL X3 X X5 CuWlm X6 X16 CuCommand.cursor 3 (dot) 6 Global X20 CuCommand.foreground 5 (black) 6 Global X20 CuCommand.background 5 (white) 6 Global X10 facetWidth 1 (5) 6 Global X16 brightFacetColor 14 (LightSteelBlue) 6 Global X13 dimFacetColor 9 (SteelBlue) 6 Global X0 X0 X1 X X 4 CuRc X 6 X 11 interHeight 2 (10) 5 Local X 10 interWidth 2 (10) 5 Local X 14 internalHeight 2 (20) 5 Local X 13 internalWidth 2 (20) 5 Local X 10 background 9 (LightGray) 5 Local X 12 formatString 5 (2 x 2) 5 Local X 0 X 0 X 4 X X 9 CuCommand X 3 X 6 shadow 4 (True) 5 Local X 13 dimFacetColor 5 (black) 5 Local X 4 name 6 (Shadow) 5 Local X 0 X 0 X 0 X X 9 CuCommand X 2 X 6 shadow 5 (False) 5 Local X 4 name 6 (Facets) 5 Local X 0 X 0 X 0 X X 9 CuCommand X 2 X 9 sensitive 4 (True) 5 Local X 4 name 9 (Sensitive) 5 Local X 0 X 0 X 0 X X 9 CuCommand X 3 X 9 sensitive 5 (False) 5 Local X 4 name 11 (INSENSITIVE) 5 Local X 11 borderWidth 1 (0) 5 Local X 0 X 0 X 0 END_OF_FILE echo shar: NEWLINE appended to \"'examples/xlayout/shadow.wc'\" if test 992 -ne `wc -c <'examples/xlayout/shadow.wc'`; then echo shar: \"'examples/xlayout/shadow.wc'\" unpacked with wrong size! fi # end of 'examples/xlayout/shadow.wc' fi if test -f 'examples/xtbl/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xtbl/README'\" else echo shar: Extracting \"'examples/xtbl/README'\" \(1300 characters\) sed "s/^X//" >'examples/xtbl/README' <<'END_OF_FILE' X(Will look funny unless you have patched XtMakeGeometryRequest() !!!) X XRun "xtbl 6 -file tst6" for an example of how to modify a layout at runtime. X XStep 1 : Hit "_justify_" and the labels will justify as indicated. XStep 2 : Hit "_gravity_" and the labels will migrate as indicated. XStep 3 : Hit "_fill_" and two labels will expand to fill slack in their rows XStep 4 : Hit "_text_" and the top label will change text, forcing the entire X layout to reformat, because the new text is narrower and taller than X the original text. X XTo run other examples, the general usage instructions follow. X XUsage: xtbl # -file tst# X E.g., xtbl 6 -file tst6 Xor, X XUsage: xtbl # -string "description" X E.g., xtbl 3 -string "tab(;) snl(~);\nc c\nc.\nup~left;up~nright\nbottom" X XUser places the resulting window which contains two "CuTbl"s side by side. XThe left CuTbl is the one given by the file or description string. XThe right CuTbl is a column of command widgets, which, when activated, Xread the file indicated by the label to modify the left CuTbl. XSee the 4 files for format descriptions. There are commands/files for Xtext, justification, gravity, and fill mode. X X E.g., if _text_ contains: X X 2 X 0 X abc X 1 X xyz X X The first two CuLabel widgets will have their text changed X to "abc" and "xyz". X X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xtbl/README'\" if test 1301 -ne `wc -c <'examples/xtbl/README'`; then echo shar: \"'examples/xtbl/README'\" unpacked with wrong size! fi # end of 'examples/xtbl/README' fi if test -f 'examples/xwlm/xwlm.wh' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'examples/xwlm/xwlm.wh'\" else echo shar: Extracting \"'examples/xwlm/xwlm.wh'\" \(1393 characters\) sed "s/^X//" >'examples/xwlm/xwlm.wh' <<'END_OF_FILE' X#include "CuWlmP.h" X#include "CuBmgr.h" X#include "CuButton.h" X#include "CuDeck.h" X#include "CuLabel.h" X#include "CuTbl.h" X#include "CuWlm.h" X Xvoid Xmake_tag_class_list (ww) X CuWlmWidget ww ; X{ XCuWlmTagClassList *list = NULL ; XCuWlmTagClassList *save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuBmgr") ; Xlist->class = cuBmgrWidgetClass ; Xlist->next = save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuButton") ; Xlist->class = cuButtonWidgetClass ; Xlist->next = save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuDeck") ; Xlist->class = cuDeckWidgetClass ; Xlist->next = save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuLabel") ; Xlist->class = cuLabelWidgetClass ; Xlist->next = save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuTbl") ; Xlist->class = cuTblWidgetClass ; Xlist->next = save ; X Xsave = list ; Xlist = (CuWlmTagClassList *) XtMalloc (sizeof (CuWlmTagClassList)) ; Xlist->quark = XrmStringToQuark ("CuWlm") ; Xlist->class = cuWlmWidgetClass ; Xlist->next = save ; X Xww->wlm.tag_class_list = list ; Xreturn ; X} X END_OF_FILE echo shar: NEWLINE appended to \"'examples/xwlm/xwlm.wh'\" if test 1394 -ne `wc -c <'examples/xwlm/xwlm.wh'`; then echo shar: \"'examples/xwlm/xwlm.wh'\" unpacked with wrong size! fi # end of 'examples/xwlm/xwlm.wh' fi if test -f 'man/CuBmgrR.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/CuBmgrR.man'\" else echo shar: Extracting \"'man/CuBmgrR.man'\" \(1414 characters\) sed "s/^X//" >'man/CuBmgrR.man' <<'END_OF_FILE' X.TH CuBmgrTypeR 3X "\fBCornell University Widget Set\fR" X.ad b X.de}F X.ds)H Program of Computer Graphics X.ev1 X.}E X.if\\n()s 'sp |\\n(.pu-1v-1p X.if\\n()t 'sp |\\n(.pu-3v X.ifn 'sp |\\n(.pu-4v X.tl\\*()H- % -\\*(]W X'bp X.ev X.. X.SH NAME XCuBmgrTypeR \- CuBmgrType resource for the CuBmgr widget. X.sp X.TS Xtab(;); X|c s s s s|. X_ XCuBmgrType Resource X.T& X|lB |lB |lB |lB s|. X_ XName;Type;Converter Registration;Converts X.T& X|lB |lB |lB |lB lB|. X ; ; ;From;To X= X.T& X|lB l l l l|. XXtNbmgrType;CuBmgrType;CuAddStringToBmgrTypeConverter();"AnyOfMany";CuBmgrAnyOfMany X.T& X|lB l l l l|. X ; ; ;"OneOfMany";CuBmgrOneOfMany X ; ; ;"SingleToggle";CuBmgrSingleToggle X ; ; ;"DoubleToggle";CuBmgrDoubleToggle X ; ; ;"Transient";CuBmgrTransient X_ X.TE X.sp XActually, each of the above strings can be substituted by a variety of strings. XUnderscores are stripped out, uppercase is converted to lowercase, and Xleading "bmgr" sequences are stripped off. XFor example, "AnyOfMany" could also be set to: "any_of_many", "anyOfMany", X"Any_of_many", "CuBmgrAnyOfMany", etc. X.ne 4 X.SH DESCRIPTION X\ XThe CuBmgrType resource is used by the CuBmgr widget to determine the Xsemantics for a group of CuButton widgets. X.ne 4 X.SH NOTE X\ X.br XAutomatically called by the class_initialize procedures of \fBCuBmgr\fR and X\fBCuWlm\fR. X.ne 4 X.SH AUTHOR X\ X.br XGene Dykes, \fIgwd@freedom.tn.cornell.edu\fR X.br XProgram of Computer Graphics, Cornell University X END_OF_FILE echo shar: NEWLINE appended to \"'man/CuBmgrR.man'\" echo shar: 4 control characters may be missing from \"'man/CuBmgrR.man'\" if test 1415 -ne `wc -c <'man/CuBmgrR.man'`; then echo shar: \"'man/CuBmgrR.man'\" unpacked with wrong size! fi # end of 'man/CuBmgrR.man' fi if test -f 'man/CuButton.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/CuButton.man'\" else echo shar: Extracting \"'man/CuButton.man'\" \(1363 characters\) sed "s/^X//" >'man/CuButton.man' <<'END_OF_FILE' X.TH CuButton 3X "\fBCornell University Widget Set\fR" X.ad b X.de}F X.ds)H Program of Computer Graphics X.ev1 X.}E X.if\\n()s 'sp |\\n(.pu-1v-1p X.if\\n()t 'sp |\\n(.pu-3v X.ifn 'sp |\\n(.pu-4v X.tl\\*()H- % -\\*(]W X'bp X.ev X.. X.SH NAME XCuButton \- Display labels in a set or unset state. X.ne 4 X.SH CLASS HIERARCHY X\ X.br XCore / CuSimple / CuLabel / CuButton X.ne 4 X.SH NEW RESOURCES X\ X.br X.TS Xallbox tab(;); Xc s s s. XCuButton Resources X.T& XlB lB lB lB. XName;Type;Default;Description X_ X.T& XlB l l l. XXtNcallback;Callback;;Btn1Down and Btn1Up events XXtNcursor;Cursor;"dot";Provides a default cursor XXtNset;Boolean;False;Set/Unset state X.TE X.ne 4 X.SH DESCRIPTION X\ X.br XThe \fBCuButton\fR widget can display itself in either a set or unset state. XIt does not, however, decide for itself what its appropriate state is. XInstead, it reports mouse button events back to its client via callbacks, and Xrelies on the client appropriately setting the \fBCuButton\fR's set resource. XThe call_data is 'd' for Btn1Down events and 'u' for Btn1Up events. XThe unset state colors are the inverse colors of the set state. XWidgets of class \fBcuButtonWidgetClass\fR are required by \fBCuBmgr\fR. X.ne 4 X.SH SEE ALSO X\ X.br XCuBmgr(3X), CuLabel(3X), CuSimple(3X) X.ne 4 X.SH AUTHOR X\ X.br XGene Dykes, \fIgwd@freedom.tn.cornell.edu\fR X.br XProgram of Computer Graphics, Cornell University X END_OF_FILE echo shar: NEWLINE appended to \"'man/CuButton.man'\" echo shar: 4 control characters may be missing from \"'man/CuButton.man'\" if test 1364 -ne `wc -c <'man/CuButton.man'`; then echo shar: \"'man/CuButton.man'\" unpacked with wrong size! fi # end of 'man/CuButton.man' fi if test -f 'man/CuDeck.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/CuDeck.man'\" else echo shar: Extracting \"'man/CuDeck.man'\" \(1941 characters\) sed "s/^X//" >'man/CuDeck.man' <<'END_OF_FILE' X.TH CuDeck 3X "\fBCornell University Widget Set\fR" X.ad b X.de}F X.ds)H Program of Computer Graphics X.ev1 X.}E X.if\\n()s 'sp |\\n(.pu-1v-1p X.if\\n()t 'sp |\\n(.pu-3v X.ifn 'sp |\\n(.pu-4v X.tl\\*()H- % -\\*(]W X'bp X.ev X.. X.SH NAME XCuDeck \- Geometry manager for a deck of widgets X.ne 4 X.SH CLASS HIERARCHY X\ X.br XCore / Composite / CuDeck X.ne 4 X.SH DESCRIPTION X\ X.br XThe \fBCuDeck\fR geometry manager Xmaintains its children so that they are all the same size and occupy the Xsame location so that only one at a time is visible. X.ne 4 X.SH NEW RESOURCES X\ X.br X.TS Xallbox tab(;); Xc s s s. XCuDeck Resources X.T& XlB lB lB lB. XName;Type;Default;Description X_ X.T& XlB l l l. XXtNinternalHeight;Dimension;0;Vt distance between parent and children XXtNinternalWidth;Dimension;0;Hz distance between parent and children XXtNresizeParticipants;CuResizeParticipants;T{ X.na XCuResizeInternals | XCuResizeChildren X.ad XT};Things that adjust during resizes X.TE X.ne 4 X.SH CALLBACKS X\ X.br X\fBXtNcallback\fR X.sp X.in +5 XCallbacks in this callback list are called whenever the stacking order of the Xdeck changes. XThe call_data is a Widget pointer, which points to a sequence of widget id's Xthat represent the current stacking order, from highest to lowest. X.in -5 X.ne 4 X.SH PUBLIC FUNCTIONS X\ X.br XCuDeckRaiseLowest ( CuDeckWidget ) X.in +5 XThe child widget at the bottom of the stacking order Xis placed at the top of the deck. X.in -5 X.sp XCuDeckLowerHighest ( CuDeckWidget ) X.in +5 XThe child widget at the top of the stacking order Xis placed at the bottom of the deck. X.in -5 X.sp XCuDeckRaiseWidget ( CuDeckWidget, Widget ) X.in +5 XThe specified child is placed at the top of the deck. X.in -5 X.ne 4 X.SH DIAGNOSTICS X\ X.br XIf the widget specified in a \fBCuDeckRaiseWidget()\fR function is not a child Xof the \fBCuDeck\fR, a warning is issued. X.ne 4 X.SH AUTHOR X\ X.br XGene Dykes, \fIgwd@freedom.tn.cornell.edu\fR X.br XProgram of Computer Graphics, Cornell University X END_OF_FILE echo shar: NEWLINE appended to \"'man/CuDeck.man'\" echo shar: 4 control characters may be missing from \"'man/CuDeck.man'\" if test 1942 -ne `wc -c <'man/CuDeck.man'`; then echo shar: \"'man/CuDeck.man'\" unpacked with wrong size! fi # end of 'man/CuDeck.man' fi if test -f 'man/CuGravityR.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/CuGravityR.man'\" else echo shar: Extracting \"'man/CuGravityR.man'\" \(1351 characters\) sed "s/^X//" >'man/CuGravityR.man' <<'END_OF_FILE' X.TH CuGravityR 3X "\fBCornell University Widget Set\fR" X.ad b X.de}F X.ds)H Program of Computer Graphics X.ev1 X.}E X.if\\n()s 'sp |\\n(.pu-1v-1p X.if\\n()t 'sp |\\n(.pu-3v X.ifn 'sp |\\n(.pu-4v X.tl\\*()H- % -\\*(]W X'bp X.ev X.. X.SH NAME XCuGravityR \- Gravity resource for CuWidgets. X.sp X.TS Xtab(;); X|c s s s s|. X_ XCuGravity Resource X.T& X|lB |lB |lB |lB s|. X_ XName;Type;Converter Registration;Converts X.T& X|lB |lB |lB |lB cB|. X ; ; ;From;To X= X.T& X|lB l l l l|. XXtNgravity;CuGravity;CuAddStringToGravityConverter();"n";CuNorthGravity X.T& X|lB l l l l|. X ; ; ;"e";CuEastGravity X ; ; ;"s";CuSouthGravity X ; ; ;"w";CuWestGravity X ; ; ;"ne";CuNorthEastGravity X ; ; ;"nw";CuNorthWestGravity X ; ; ;"se";CuSouthEastGravity X ; ; ;"sw";CuSouthWestGravity X ; ; ;"c";CuCenterGravity X_ X.TE X.ne 4 X.SH DESCRIPTION X\ XThe CuGravity resource is used by the CuWidgets to determine where Xthe widget contents should be placed within a window that is larger than Xthe widget's minimum required size. X.ne 4 X.SH FUTURE ENHANCEMENTS X\ X.br XAccept a wider variety of strings. E.g., in addition to "n", accept X"north", "North", "CuNorth", etc. X.ne 4 X.SH NOTE X\ X.br XAutomatically called by the class_initialize procedures of \fBCuLabel\fR and X\fBCuTbl\fR. X.ne 4 X.SH AUTHOR X\ X.br XGene Dykes, \fIgwd@freedom.tn.cornell.edu\fR X.br XProgram of Computer Graphics, Cornell University X END_OF_FILE echo shar: NEWLINE appended to \"'man/CuGravityR.man'\" echo shar: 4 control characters may be missing from \"'man/CuGravityR.man'\" if test 1352 -ne `wc -c <'man/CuGravityR.man'`; then echo shar: \"'man/CuGravityR.man'\" unpacked with wrong size! fi # end of 'man/CuGravityR.man' fi if test -f 'man/CuJustifyR.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'man/CuJustifyR.man'\" else echo shar: Extracting \"'man/CuJustifyR.man'\" \(1162 characters\) sed "s/^X//" >'man/CuJustifyR.man' <<'END_OF_FILE' X.TH CuJustifyR 3X "\fBCornell University Widget Set\fR" X.ad b X.de}F X.ds)H Program of Computer Graphics X.ev1 X.}E X.if\\n()s 'sp |\\n(.pu-1v-1p X.if\\n()t 'sp |\\n(.pu-3v X.ifn 'sp |\\n(.pu-4v X.tl\\*()H- % -\\*(]W X'bp X.ev X.. X.SH NAME XCuJustifyR \- Justify Resource for CuWidgets X.sp X.TS Xtab(;); X|c s s s s|. X_ XCuJustify Resource X.T& X|lB |lB |lB |lB s|. X_ XName;Type;Converter Registration;Converts X.T& X|lB |lB |lB |lB cB|. X ; ; ;From;To X= X.T& X|lB l l l l|. XXtNjustify;CuJustify;CuAddStringToJustifyConverter();"left";CuJustifyLeft X.T& X|lB l l l l|. X ; ; ;"right";CuJustifyRight X ; ; ;"center";CuJustifyCenter X_ X.TE X.ne 4 X.SH DESCRIPTION X\ XThe CuJustify resource is used by the CuLabel widget to determine how Xto align multiple lines of text. X.ne 4 X.SH NOTES X\ X.br XAutomatically called by the class_initialize procedures of \fBCuLabel\fR and X\fBCuTbl\fR. X.sp XDo not confuse this resource with CuGravity. X.ne 4 X.SH FUTURE ENHANCEMENTS X\ X.br XAccept a wider variety of strings. E.g., in addition to "left", accept X"Left", "CuLeft", etc. X.ne 4 X.SH AUTHOR X\ X.br XGene Dykes, \fIgwd@freedom.tn.cornell.edu\fR X.br XProgram of Computer Graphics, Cornell University X END_OF_FILE echo shar: NEWLINE appended to \"'man/CuJustifyR.man'\" echo shar: 4 control characters may be missing from \"'man/CuJustifyR.man'\" if test 1163 -ne `wc -c <'man/CuJustifyR.man'`; then echo shar: \"'man/CuJustifyR.man'\" unpacked with wrong size! fi # end of 'man/CuJustifyR.man' fi if test -f 'src/CuBmgrP.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuBmgrP.h'\" else echo shar: Extracting \"'src/CuBmgrP.h'\" \(1137 characters\) sed "s/^X//" >'src/CuBmgrP.h' <<'END_OF_FILE' X/* X * CuBmgrP.h - Private definitions for CuBmgr widget X */ X X#ifndef _Cu_BmgrP_h X#define _Cu_BmgrP_h X X#include "CuButtonP.h" X#include "CuProcedureR.h" X#include "CuBmgrR.h" X#include "CuBmgr.h" X X/* New fields for the CuBmgr widget class record */ X Xtypedef struct {int foo ;} CuBmgrClassPart ; X X/* Full class record declaration */ Xtypedef struct _CuBmgrClassRec X { X CoreClassPart core_class ; X CuBmgrClassPart bmgr_class ; X } CuBmgrClassRec ; X Xextern CuBmgrClassRec cuBmgrClassRec ; X X/* New fields for the CuBmgr widget record */ X Xtypedef struct X { X Boolean down_action ; X CuBmgrType bmgr_type ; X /*** X Boolean selectable ; X Cardinal min_set ; X Cardinal max_set ; X ***/ X XtCallbackList set_callbacks; X XtCallbackList unset_callbacks; X XtCallbackList illegal_callbacks; X XtProcedureList *procedure_list ; X X /* private state */ X Cardinal n_buttons ; X CuButtonWidget *buttons ; X caddr_t *button_values ; X } CuBmgrPart ; X X/* X * Full instance record declaration X */ X Xtypedef struct _CuBmgrRec X { X CorePart core ; X CuBmgrPart bmgr ; X } CuBmgrRec ; X X#endif _Cu_BmgrP_h END_OF_FILE echo shar: NEWLINE appended to \"'src/CuBmgrP.h'\" if test 1138 -ne `wc -c <'src/CuBmgrP.h'`; then echo shar: \"'src/CuBmgrP.h'\" unpacked with wrong size! fi # end of 'src/CuBmgrP.h' fi if test -f 'src/CuButtonP.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuButtonP.h'\" else echo shar: Extracting \"'src/CuButtonP.h'\" \(1701 characters\) sed "s/^X//" >'src/CuButtonP.h' <<'END_OF_FILE' X/* X * CuButtonP.h - Private definitions for CuButton widget X */ X X#ifndef _Cu_ButtonP_h X#define _Cu_ButtonP_h X X#include "CuButton.h" X#include "CuLabelP.h" X#include "CuSimpleP.h" X X/*********************************************************************** X * X * CuButton Widget Private Data X * X ***********************************************************************/ X X/************************************ X * X * Class structure X * X ***********************************/ X X X /* New fields for the CuButton widget class record */ Xtypedef struct _CuButtonClass X { X int makes_compiler_happy; /* not used */ X } CuButtonClassPart; X X /* Full class record declaration */ Xtypedef struct _CuButtonClassRec { X CoreClassPart core_class; X CuSimpleClassPart simple_class; X CuLabelClassPart label_class; X CuButtonClassPart button_class; X} CuButtonClassRec; X Xextern CuButtonClassRec cuButtonClassRec; X X/*************************************** X * X * Instance (widget) structure X * X **************************************/ X X /* New fields for the CuButton widget record */ Xtypedef struct { X /* resources */ X XtCallbackList callbacks; X X /* private state */ X Pixmap gray_pixmap; X GC highlight_GC; X GC inverse_GC; X GC inverse_text_GC; X GC normal_GC; X GC gray_GC; X Boolean set; X Boolean display_set; X Boolean display_highlighted; X} CuButtonPart; X X X/* XtEventsPtr eventTable;*/ X X X /* Full widget declaration */ Xtypedef struct _CuButtonRec { X CorePart core; X CuSimplePart simple; X CuLabelPart label; X CuButtonPart button; X} CuButtonRec; X X#endif _Cu_ButtonP_h X X END_OF_FILE echo shar: NEWLINE appended to \"'src/CuButtonP.h'\" if test 1702 -ne `wc -c <'src/CuButtonP.h'`; then echo shar: \"'src/CuButtonP.h'\" unpacked with wrong size! fi # end of 'src/CuButtonP.h' fi if test -f 'src/CuCommandP.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuCommandP.h'\" else echo shar: Extracting \"'src/CuCommandP.h'\" \(1759 characters\) sed "s/^X//" >'src/CuCommandP.h' <<'END_OF_FILE' X/* X * CuCommandP.h - Private definitions for CuCommand widget X */ X X#ifndef _Cu_CommandP_h X#define _Cu_CommandP_h X X#include "disclaimer.h" X#include "CuCommand.h" X#include "CuLabelP.h" X X/*********************************************************************** X * X * CuCommand Widget Private Data X * X ***********************************************************************/ X X/************************************ X * X * Class structure X * X ***********************************/ X X X /* New fields for the CuCommand widget class record */ Xtypedef struct _CuCommandClass X { X int makes_compiler_happy; /* not used */ X } CuCommandClassPart; X X /* Full class record declaration */ Xtypedef struct _CuCommandClassRec { X CoreClassPart core_class; X CuSimpleClassPart simple_class; X CuLabelClassPart label_class; X CuCommandClassPart command_class; X} CuCommandClassRec; X Xextern CuCommandClassRec cuCommandClassRec; X X/*************************************** X * X * Instance (widget) structure X * X **************************************/ X X /* New fields for the CuCommand widget record */ Xtypedef struct { X /* resources */ X Dimension highlight_thickness; X XtCallbackList callbacks; X X /* private state */ X Pixmap gray_pixmap; X GC highlight_GC; X GC inverse_GC; X GC inverse_text_GC; X GC normal_GC; X GC gray_GC; X Boolean set; X Boolean display_set; X Boolean display_highlighted; X} CuCommandPart; X X X/* XtEventsPtr eventTable;*/ X X X /* Full widget declaration */ Xtypedef struct _CuCommandRec { X CorePart core; X CuSimplePart simple; X CuLabelPart label; X CuCommandPart command; X} CuCommandRec; X X#endif _Cu_CommandP_h X X END_OF_FILE echo shar: NEWLINE appended to \"'src/CuCommandP.h'\" if test 1760 -ne `wc -c <'src/CuCommandP.h'`; then echo shar: \"'src/CuCommandP.h'\" unpacked with wrong size! fi # end of 'src/CuCommandP.h' fi if test -f 'src/CuGravityR.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuGravityR.c'\" else echo shar: Extracting \"'src/CuGravityR.c'\" \(2152 characters\) sed "s/^X//" >'src/CuGravityR.c' <<'END_OF_FILE' X#include <X11/Intrinsic.h> X#include <X11/StringDefs.h> X#include "CuGravityR.h" X X/** X *** Resource Converter Name X **/ X Xstatic void CvtStringToGravity() ; /* Resource Converter */ X X/** X *** Resource Converter Quarks X **/ X Xstatic XrmQuark XrmQEn, XrmQEne, XrmQEe, XrmQEse, /* Gravity */ X XrmQEs, XrmQEsw, XrmQEw, XrmQEnw, XrmQEc ; X X/** X *** Resource Converter AddConverter Routine X **/ X Xvoid XCuAddStringToGravityConverter () X{ Xstatic Boolean first_time = True ; Xif (first_time) X { X XrmQEn = XrmStringToQuark("n") ; X XrmQEe = XrmStringToQuark("e") ; X XrmQEs = XrmStringToQuark("s") ; X XrmQEw = XrmStringToQuark("w") ; X XrmQEne = XrmStringToQuark("ne") ; X XrmQEnw = XrmStringToQuark("nw") ; X XrmQEse = XrmStringToQuark("se") ; X XrmQEsw = XrmStringToQuark("sw") ; X XrmQEc = XrmStringToQuark("c") ; X XtAddConverter( XtRString, XtRGravity, CvtStringToGravity, NULL, 0 ) ; X first_time = False ; X } Xreturn ; X} X X/** X *** Resource Converter X **/ X X#include <ctype.h> X X/* X * Convert String To Gravity X */ X Xstatic void XCvtStringToGravity(args, num_args, fromVal, toVal) X XrmValuePtr *args ; /* unused */ X Cardinal *num_args ; /* unused */ X XrmValuePtr fromVal ; X XrmValuePtr toVal ; X{ Xstatic CuGravity e ; /* must be static! */ XXrmQuark q ; XCardinal i ; Xchar *s = (char *) fromVal->addr ; Xchar lowerName[1000] ; X Xif (s == NULL) return ; X Xfor (i=0; i<=strlen(s); i++) X { X char c = s[i] ; X lowerName[i] = isupper(c) ? (char) tolower(c) : c ; X } X Xq = XrmStringToQuark(lowerName) ; X XtoVal->size = sizeof(CuGravity) ; XtoVal->addr = (caddr_t) &e ; X Xif (q == XrmQEn) { e = CuNorthGravity; return; } Xif (q == XrmQEe) { e = CuEastGravity; return; } Xif (q == XrmQEs) { e = CuSouthGravity; return; } Xif (q == XrmQEw) { e = CuWestGravity; return; } Xif (q == XrmQEne) { e = CuNorthEastGravity; return; } Xif (q == XrmQEnw) { e = CuNorthWestGravity; return; } Xif (q == XrmQEse) { e = CuSouthEastGravity; return; } Xif (q == XrmQEsw) { e = CuSouthWestGravity; return; } Xif (q == XrmQEc) { e = CuCenterGravity; return; } X XtoVal->size = 0 ; XtoVal->addr = NULL ; Xreturn ; X} X END_OF_FILE echo shar: NEWLINE appended to \"'src/CuGravityR.c'\" if test 2153 -ne `wc -c <'src/CuGravityR.c'`; then echo shar: \"'src/CuGravityR.c'\" unpacked with wrong size! fi # end of 'src/CuGravityR.c' fi if test -f 'src/CuJustifyR.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuJustifyR.c'\" else echo shar: Extracting \"'src/CuJustifyR.c'\" \(1582 characters\) sed "s/^X//" >'src/CuJustifyR.c' <<'END_OF_FILE' X#include <X11/Intrinsic.h> X#include <X11/StringDefs.h> X#include "CuJustifyR.h" X X/** X *** Resource Converter Name X **/ X Xstatic void CvtStringToJustify() ; /* Resource Converter */ X X/** X *** Resource Converter Quarks X **/ X Xstatic XrmQuark XrmQEleft, XrmQEcenter, XrmQEright ; /* Justification */ X X/** X *** Resource Converter AddConverter Routine X **/ X Xvoid XCuAddStringToJustifyConverter () X{ Xstatic Boolean first_time = True ; Xif (first_time) X { X XrmQEleft = XrmStringToQuark("left") ; X XrmQEcenter = XrmStringToQuark("center") ; X XrmQEright = XrmStringToQuark("right") ; X XtAddConverter( XtRString, XtRJustify, CvtStringToJustify, NULL, 0 ) ; X first_time = False ; X } Xreturn ; X} X X/** X *** Resource Converter Routine X **/ X X#include <ctype.h> X X/* X * Convert String To Justify X */ X Xstatic void CvtStringToJustify(args, num_args, fromVal, toVal) X XrmValuePtr *args ; /* unused */ X Cardinal *num_args ; /* unused */ X XrmValuePtr fromVal ; X XrmValuePtr toVal ; X{ Xstatic CuJustify e ; /* must be static! */ XXrmQuark q ; XCardinal i ; Xchar *s = (char *) fromVal->addr ; Xchar lowerName[1000] ; X Xif (s == NULL) return ; X Xfor (i=0; i<=strlen(s); i++) X { X char c = s[i] ; X lowerName[i] = isupper(c) ? (char) tolower(c) : c ; X } X Xq = XrmStringToQuark(lowerName) ; X XtoVal->size = sizeof(CuJustify) ; XtoVal->addr = (caddr_t) &e ; X Xif (q == XrmQEleft) { e = CuJustifyLeft; return; } Xif (q == XrmQEcenter) { e = CuJustifyCenter; return; } Xif (q == XrmQEright) { e = CuJustifyRight; return; } X XtoVal->size = 0 ; XtoVal->addr = NULL ; Xreturn ; X} END_OF_FILE echo shar: NEWLINE appended to \"'src/CuJustifyR.c'\" if test 1583 -ne `wc -c <'src/CuJustifyR.c'`; then echo shar: \"'src/CuJustifyR.c'\" unpacked with wrong size! fi # end of 'src/CuJustifyR.c' fi if test -f 'src/CuLabelP.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuLabelP.h'\" else echo shar: Extracting \"'src/CuLabelP.h'\" \(1589 characters\) sed "s/^X//" >'src/CuLabelP.h' <<'END_OF_FILE' X/* X * CuLabelP.h - Private definitions for CuLabel widget X */ X X#ifndef _Cu_LabelP_h X#define _Cu_LabelP_h X X#include "CuLabel.h" X#include "CuSimpleP.h" X X/* New fields for the CuLabel widget class record */ X Xtypedef struct X { X XtProc redisplay_text ; X } CuLabelClassPart; X X X/* Full class record declaration */ Xtypedef struct _CuLabelClassRec X { X CoreClassPart core_class ; X CuSimpleClassPart simple_class ; X CuLabelClassPart label_class ; X } CuLabelClassRec ; X Xextern CuLabelClassRec cuLabelClassRec ; X X/* New fields for the CuLabel widget record */ X Xtypedef struct X { X /* resources */ X Pixel foreground ; X XFontStruct *font ; X String label ; X String big_label ; X CuJustify justify ; X CuGravity gravity ; X Dimension internal_width ; X Dimension internal_height ; X float line_factor ; X Pixmap pixmap ; X X /* private state */ X GC sensitive_text_GC ; X GC insensitive_text_GC ; X GC background_GC ; X Position *x ; X Position *y ; X int total_height ; X int total_width ; X int depth ; X int big_height ; X int big_width ; X int line_height ; X int *line_width ; X unsigned int *len ; X unsigned int *locations ; X unsigned int n_lines ; X Boolean newlines_found ; X Boolean needs_fill ; X } CuLabelPart ; X X X/* X * Full instance record declaration X */ X Xtypedef struct _CuLabelRec X { X CorePart core ; X CuSimplePart simple ; X CuLabelPart label ; X } CuLabelRec ; X X/* X * Inheritance definitions X */ X X#define XtInheritRedisplayText ((XtProc) _XtInherit) X X#endif _Cu_LabelP_h END_OF_FILE echo shar: NEWLINE appended to \"'src/CuLabelP.h'\" if test 1590 -ne `wc -c <'src/CuLabelP.h'`; then echo shar: \"'src/CuLabelP.h'\" unpacked with wrong size! fi # end of 'src/CuLabelP.h' fi if test -f 'src/CuSimple.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuSimple.h'\" else echo shar: Extracting \"'src/CuSimple.h'\" \(1446 characters\) sed "s/^X//" >'src/CuSimple.h' <<'END_OF_FILE' X#include <X11/copyright.h> X#include <X11/Core.h> X#ifdef CompositeSimple X#include <X11/Composite.h> X#endif X X#ifndef _Cu_Simple_h X#define _Cu_Simple_h X X/* CuSimple */ X X#define XtNfirstExpose "firstExpose" X#define XtNresize "resize" X#define XtNcursor "cursor" X#define XtNinsensitiveBorder "insensitiveBorder" X#define XtNcursorForeground "cursorForeground" X#define XtNcursorBackground "cursorBackground" X X#define XtCCursor "Cursor" X#define XtCInsensitive "Insensitive" X#define XtCCursorForeground "CursorCoreground" X#define XtCCursorBackground "CursorCackground" X X/* Facet */ X X#define XtNdimFacetColor "dimFacetColor" X#define XtNbrightFacetColor "brightFacetColor" X#define XtNhighlightColor "highlightColor" X#define XtNhighlightWidth "highlightWidth" X#define XtNfacetWidth "facetWidth" X#define XtNshadow "shadow" X X#define XtCDimFacetColor "dimFacetColor" X#define XtCBrightFacetColor "brightFacetColor" X#define XtCFacetWidth "facetWidth" X#define XtCHighlightColor "highlightColor" X#define XtCHighlightWidth "highlightWidth" X#define XtCShadow "shadow" X Xtypedef struct _CuSimpleClassRec *CuSimpleWidgetClass; Xtypedef struct _CuSimpleRec *CuSimpleWidget; X#ifdef CompositeSimple Xtypedef struct _CuSimpleCompClassRec *CuSimpleCompWidgetClass; Xtypedef struct _CuSimpleCompRec *CuSimpleCompWidget; X#endif X Xextern WidgetClass cuSimpleWidgetClass; X#ifdef CompositeSimple Xextern WidgetClass cuSimpleCompWidgetClass ; X#endif X X#endif _Cu_Simple_h END_OF_FILE echo shar: NEWLINE appended to \"'src/CuSimple.h'\" if test 1447 -ne `wc -c <'src/CuSimple.h'`; then echo shar: \"'src/CuSimple.h'\" unpacked with wrong size! fi # end of 'src/CuSimple.h' fi if test -f 'src/CuSimpleP.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuSimpleP.h'\" else echo shar: Extracting \"'src/CuSimpleP.h'\" \(2225 characters\) sed "s/^X//" >'src/CuSimpleP.h' <<'END_OF_FILE' X#include <X11/copyright.h> X X#ifndef _Cu_SimpleP_h X#define _Cu_SimpleP_h X X#include "CuSimple.h" X#include <X11/CoreP.h> X#ifdef CompositeSimple X#include <X11/CompositeP.h> X#endif X Xtypedef struct { X XtProc change_sensitive; X XtProc draw_facets; /* draw the facet parts */ X XtProc draw_highlight; /* display a highlighted border*/ X} CuSimpleClassPart; X X/* Full class record declaration */ X Xtypedef struct _CuSimpleClassRec { X CoreClassPart core_class; X CuSimpleClassPart simple_class; X} CuSimpleClassRec; X Xextern CuSimpleClassRec cuSimpleClassRec; X Xtypedef struct { X /* resources */ X Cursor cursor; X Pixmap insensitive_border; X XtCallbackList firstExposeCallbacks; X XtCallbackList resizeCallbacks; X X Pixel dim_facet_color; /* color of the dim facets */ X Pixel bright_facet_color; /* color of the bright facets */ X Pixel highlight_color; /* for subclass convenience */ X Pixel cursor_foreground; /* */ X Pixel cursor_background; /* */ X Pixel background_pixel; /* */ X Dimension facet_width; /* facet width */ X Dimension highlight_width; /* highlight width */ X Dimension save_border_width; /* saved core.border_width */ X Boolean shadow; /* shadow instead of facet */ X Boolean first_expose; /* True until first exposure */ X X /* private state */ X XColor cursor_fg; X XColor cursor_bg; X GC dim_facet_GC; X GC bright_facet_GC; X GC highlight_GC; X GC background_GC; X Boolean highlighted; X} CuSimplePart; X Xtypedef struct _CuSimpleRec { X CorePart core; X CuSimplePart simple; X} CuSimpleRec; X X#define XtInheritChangeSensitive ((XtProc) _XtInherit) X#define XtInheritDrawFacets ((XtProc) _XtInherit) X#define XtInheritDrawHighlight ((XtProc) _XtInherit) X X#ifdef CompositeSimple X Xtypedef struct _CuSimpleCompClassRec { X CoreClassPart core_class ; X CompositeClassPart composite_class ; X CuSimpleClassPart simple_class ; X} CuSimpleCompClassRec; X Xextern CuSimpleCompClassRec cuSimpleCompClassRec; X Xtypedef struct _CuSimpleCompRec { X CorePart core ; X CompositePart composite ; X CuSimplePart simple ; X} CuSimpleCompRec; X#endif CompositeSimple X#endif _Cu_SimpleP_h END_OF_FILE echo shar: NEWLINE appended to \"'src/CuSimpleP.h'\" if test 2226 -ne `wc -c <'src/CuSimpleP.h'`; then echo shar: \"'src/CuSimpleP.h'\" unpacked with wrong size! fi # end of 'src/CuSimpleP.h' fi if test -f 'src/CuSimpleR.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/CuSimpleR.h'\" else echo shar: Extracting \"'src/CuSimpleR.h'\" \(1589 characters\) sed "s/^X//" >'src/CuSimpleR.h' <<'END_OF_FILE' X/* Simple */ X {XtNcursor, XtCCursor, XtRCursor, sizeof(Cursor), X offset(cursor), XtRCursor, (caddr_t)&defaultCursor}, X {XtNinsensitiveBorder, XtCInsensitive, XtRPixmap, sizeof(Pixmap), X offset(insensitive_border), XtRPixmap, (caddr_t)&defaultPixmap}, X/* Facet */ X {XtNdimFacetColor, XtCDimFacetColor, XtRPixel, X sizeof(Pixel), offset(dim_facet_color), X XtRString,(caddr_t)"Black"}, X {XtNbrightFacetColor, XtCBrightFacetColor, XtRPixel, X sizeof(Pixel), offset(bright_facet_color), X XtRString,(caddr_t)"White"}, X {XtNhighlightColor, XtCHighlightColor, XtRPixel, X sizeof(Pixel), offset(highlight_color), X XtRString,(caddr_t)"White"}, X {XtNhighlightWidth, XtCHighlightWidth, XtRDimension, sizeof(Dimension), X offset(highlight_width), XtRDimension, (caddr_t)&defHighlightWidth}, X {XtNfacetWidth, XtCFacetWidth, XtRDimension, sizeof(Dimension), X offset(facet_width), XtRDimension, (caddr_t)&defFacetWidth}, X {XtNcursorForeground, XtCCursorForeground, XtRPixel, sizeof(Pixel), X offset(cursor_foreground), XtRPixel, (caddr_t)&def_bp}, X {XtNcursorBackground, XtCCursorBackground, XtRPixel, sizeof(Pixel), X offset(cursor_background), XtRPixel, (caddr_t)&def_wp}, X/* Shadow */ X {XtNshadow, XtCShadow, XtRBoolean, sizeof(Boolean), X offset(shadow), XtRBoolean, (caddr_t)&def_false}, X {XtNfirstExpose, XtCCallback, XtRCallback, sizeof(caddr_t), X offset(firstExposeCallbacks), XtRCallback, (caddr_t)NULL}, X {XtNresize, XtCCallback, XtRCallback, sizeof(caddr_t), X offset(resizeCallbacks), XtRCallback, (caddr_t)NULL} X END_OF_FILE echo shar: NEWLINE appended to \"'src/CuSimpleR.h'\" if test 1590 -ne `wc -c <'src/CuSimpleR.h'`; then echo shar: \"'src/CuSimpleR.h'\" unpacked with wrong size! fi # end of 'src/CuSimpleR.h' fi if test -f 'src/disclaimer.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/disclaimer.h'\" else echo shar: Extracting \"'src/disclaimer.h'\" \(1589 characters\) sed "s/^X//" >'src/disclaimer.h' <<'END_OF_FILE' X/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * X XThis code was derived from a file that contained the following Xnotice. Insofar as my modifications are concerned, I grant the Xsame permissions and make the same disclaimers. X XGene W. Dykes, Program of Computer Graphics, Cornell University X X* * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ X X/*********************************************************** X XCopyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts, Xand the Massachusetts Institute of Technology, Cambridge, Massachusetts. X X All Rights Reserved X XPermission to use, copy, modify, and distribute this software and its Xdocumentation for any purpose and without fee is hereby granted, Xprovided that the above copyright notice appear in all copies and that Xboth that copyright notice and this permission notice appear in Xsupporting documentation, and that the names of Digital or MIT not be Xused in advertising or publicity pertaining to distribution of the Xsoftware without specific, written prior permission. X XDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING XALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL XDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR XANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, XWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, XARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS XSOFTWARE. X X***********************************************************/ X END_OF_FILE echo shar: NEWLINE appended to \"'src/disclaimer.h'\" if test 1590 -ne `wc -c <'src/disclaimer.h'`; then echo shar: \"'src/disclaimer.h'\" unpacked with wrong size! fi # end of 'src/disclaimer.h' fi if test -f 'wlmCompiler/CuStack.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'wlmCompiler/CuStack.c'\" else echo shar: Extracting \"'wlmCompiler/CuStack.c'\" \(1308 characters\) sed "s/^X//" >'wlmCompiler/CuStack.c' <<'END_OF_FILE' X#include <stdio.h> X#include "CuStack.h" X Xvoid XCu_stack_create (name, stack, chunk_size) X char *name ; X Stack **stack ; X int chunk_size ; X{ X(*stack) = (Stack *) malloc (sizeof (Stack)) ; X(*stack)->n = 0 ; X(*stack)->name = (char *) malloc (strlen(name)+1) ; Xstrcpy ((*stack)->name, name) ; XCu_grow_create (&(*stack)->grow, chunk_size) ; Xreturn ; X} X Xvoid XCu_stack_push (stack, value) X Stack *stack ; X int value ; X{ XCu_grow_check (stack->grow, stack->n) ; Xstack->grow->s[stack->n++] = value ; Xreturn ; X} X Xint XCu_stack_pull (stack) X Stack *stack ; X{ Xint i, bottom ; X Xbottom = stack->grow->s[0] ; X--stack->n ; Xfor (i=0; i < stack->n; i++) X stack->grow->s[i] = stack->grow->s[i+1] ; Xreturn bottom ; X} X Xint XCu_stack_pop (stack) X Stack *stack ; X{ Xint ret_value ; Xret_value = stack->grow->s[--stack->n] ; Xreturn ret_value ; X} X X Xint XCu_stack_peek (stack, index) X Stack *stack ; X int index ; X{ Xint ret_value ; Xif (index == STACK_NEXT_POP) X index = stack->n - 1 ; Xelse Xif (index == STACK_NEXT_PULL) X index = 0 ; X Xif (stack->n) X ret_value = stack->grow->s[index] ; Xelse X ret_value = NULL ; Xreturn ret_value ; X} X Xvoid XCu_stack_kill (stack, number) X Stack *stack ; X int number ; X{ Xstack->n -= number ; Xreturn ; X} X Xint XCu_stack_size (stack) X Stack *stack ; X{ Xreturn stack->n ; X} END_OF_FILE echo shar: NEWLINE appended to \"'wlmCompiler/CuStack.c'\" if test 1309 -ne `wc -c <'wlmCompiler/CuStack.c'`; then echo shar: \"'wlmCompiler/CuStack.c'\" unpacked with wrong size! fi # end of 'wlmCompiler/CuStack.c' fi if test -f 'wlmCompiler/wlc.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'wlmCompiler/wlc.h'\" else echo shar: Extracting \"'wlmCompiler/wlc.h'\" \(2139 characters\) sed "s/^X//" >'wlmCompiler/wlc.h' <<'END_OF_FILE' X/* Wlm widget private definitions */ X X#ifndef _WlmCompiler_h X#define _WlmCompiler_h X X/* X * Prelude X */ X Xtypedef enum { X WlmLocalContext, WlmGlobalContext X } WlmContext ; X Xtypedef struct WlmManageItem X { X String widget ; X String type ; X String value ; X struct WlmManageItem *next ; X } WlmManageItem ; X X#define MAX_DIRECTIVE_ARGUMENTS 10 X#define MAX_DIRECTIVE_CALLDATA_ITEMS 10 X#define MAX_DIRECTIVE_CALLDATA_INDICES 2 X Xtypedef enum X { X WlmDirectiveEquivalence X ,WlmDirectiveNonEquivalence X ,WlmDirectiveGreaterThan X ,WlmDirectiveLessThan X ,WlmDirectiveGreaterThanOrEqualTo X ,WlmDirectiveLessThanOrEqualTo X } WlmDirectiveOperator ; X Xtypedef struct Resource X { X String name ; X String class ; X String value ; X WlmContext context ; X struct Resource *next ; X } Resource ; X Xtypedef struct Directive X { X String callback_name ; X String call_data_converter[MAX_DIRECTIVE_CALLDATA_ITEMS] ; X String call_data[MAX_DIRECTIVE_CALLDATA_ITEMS] ; X WlmDirectiveOperator call_data_operator[MAX_DIRECTIVE_CALLDATA_ITEMS] ; X int call_data_index[MAX_DIRECTIVE_CALLDATA_ITEMS] X [MAX_DIRECTIVE_CALLDATA_INDICES] ; X int n_call_comparisons ; X Cardinal n_call_indices[MAX_DIRECTIVE_CALLDATA_ITEMS] ; X String target_class ; X String target_name ; X Resource resource ; X String procedure ; X Cardinal n_arguments ; X String argument_converters[MAX_DIRECTIVE_ARGUMENTS] ; X String argument_strings[MAX_DIRECTIVE_ARGUMENTS] ; X long client_data[3] ; X struct Directive *next ; X } Directive ; X Xtypedef struct Fetus X { X String class_name ; X Cardinal n_resources ; X Resource *resource ; X Cardinal n_directives ; X Directive *directives ; X Cardinal n_children ; X struct Fetus **children ; X Cardinal n_manage_list ; X WlmManageItem *manage_list ; X Widget id ; X } Fetus ; X Xtypedef struct X { X String layout_file ; X String compiled_file ; X String class_file ; X String wldl_file ; X Cardinal cur_depth ; X Cardinal max_depth ; X Stack *child_stack ; X } WlmCompilerPart ; X X#endif _WlmCompiler_h END_OF_FILE echo shar: NEWLINE appended to \"'wlmCompiler/wlc.h'\" if test 2140 -ne `wc -c <'wlmCompiler/wlc.h'`; then echo shar: \"'wlmCompiler/wlc.h'\" unpacked with wrong size! fi # end of 'wlmCompiler/wlc.h' fi echo shar: End of archive 11 \(of 12\). cp /dev/null ark11isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 12 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0