v03i085: Xcu -- widget set from Cornell University, Part09/12
Dan Heller
argv at island.uu.net
Thu Apr 27 18:22:32 AEST 1989
Submitted-by: Gene Dykes <gdykes at tcgould.tn.cornell.edu>
Posting-number: Volume 3, Issue 85
Archive-name: xcu/part09
#! /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 at 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 9 (of 12)."
# Contents: examples/xcursors/cursors.wc examples/xcursors/cursors.wl
# examples/xlayout/manip.visible examples/xtbl/xtbl.c src/CuTbl.l
# src/CuWlmP.h wlmCompiler/wlc.y
# Wrapped by argv at island on Mon Apr 24 15:41:59 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'examples/xcursors/cursors.wc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'examples/xcursors/cursors.wc'\"
else
echo shar: Extracting \"'examples/xcursors/cursors.wc'\" \(9170 characters\)
sed "s/^X//" >'examples/xcursors/cursors.wc' <<'END_OF_FILE'
X#WLDL
X3
X
X5 CuWlm
X6
X16 brightFacetColor 9 (SlateBlue) 6 Global
X13 dimFacetColor 13 (DarkSlateBlue) 6 Global
X10 foreground 5 (Black) 6 Global
X20 CuCommand.background 9 (Goldenrod) 6 Global
X24 CuCommand.internalHeight 2 (10) 6 Global
X10 facetWidth 1 (5) 6 Global
X0
X0
X1
X
X 5 CuTbl
X 3
X 10 background 5 (White) 5 Local
X 12 equalColumns 4 (True) 5 Local
X 12 formatString 21 (padding(5);c c c c c.) 5 Local
X 0
X 0
X 80
X
X 9 CuCommand
X 2
X 6 cursor 5 (xterm) 5 Local
X 4 name 5 (xterm) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (watch) 5 Local
X 4 name 5 (watch) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (ur_angle) 5 Local
X 4 name 8 (ur_angle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (umbrella) 5 Local
X 4 name 8 (umbrella) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (ul_angle) 5 Local
X 4 name 8 (ul_angle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 4 (trek) 5 Local
X 4 name 4 (trek) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 7 (top_tee) 5 Local
X 4 name 7 (top_tee) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (top_side) 5 Local
X 4 name 8 (top_side) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 16 (top_right_corner) 5 Local
X 4 name 16 (top_right_corner) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 15 (top_left_corner) 5 Local
X 4 name 15 (top_left_corner) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 14 (top_left_arrow) 5 Local
X 4 name 14 (top_left_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (tcross) 5 Local
X 4 name 6 (tcross) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (target) 5 Local
X 4 name 6 (target) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 4 (star) 5 Local
X 4 name 4 (star) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (spraycan) 5 Local
X 4 name 8 (spraycan) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (spider) 5 Local
X 4 name 6 (spider) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (sizing) 5 Local
X 4 name 6 (sizing) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 7 (shuttle) 5 Local
X 4 name 7 (shuttle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 17 (sb_v_double_arrow) 5 Local
X 4 name 17 (sb_v_double_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 11 (sb_up_arrow) 5 Local
X 4 name 11 (sb_up_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 14 (sb_right_arrow) 5 Local
X 4 name 14 (sb_right_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 13 (sb_left_arrow) 5 Local
X 4 name 13 (sb_left_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 17 (sb_h_double_arrow) 5 Local
X 4 name 17 (sb_h_double_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 13 (sb_down_arrow) 5 Local
X 4 name 13 (sb_down_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (sailboat) 5 Local
X 4 name 8 (sailboat) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (rtl_logo) 5 Local
X 4 name 8 (rtl_logo) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 11 (rightbutton) 5 Local
X 4 name 11 (rightbutton) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 9 (right_tee) 5 Local
X 4 name 9 (right_tee) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (right_side) 5 Local
X 4 name 10 (right_side) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 9 (right_ptr) 5 Local
X 4 name 9 (right_ptr) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 14 (question_arrow) 5 Local
X 4 name 14 (question_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 4 (plus) 5 Local
X 4 name 4 (plus) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (pirate) 5 Local
X 4 name 6 (pirate) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (pencil) 5 Local
X 4 name 6 (pencil) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (mouse) 5 Local
X 4 name 5 (mouse) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 12 (middlebutton) 5 Local
X 4 name 12 (middlebutton) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 3 (man) 5 Local
X 4 name 3 (man) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (lr_angle) 5 Local
X 4 name 8 (lr_angle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (ll_angle) 5 Local
X 4 name 8 (ll_angle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (leftbutton) 5 Local
X 4 name 10 (leftbutton) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (left_tee) 5 Local
X 4 name 8 (left_tee) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 9 (left_side) 5 Local
X 4 name 9 (left_side) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (left_ptr) 5 Local
X 4 name 8 (left_ptr) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (iron_cross) 5 Local
X 4 name 10 (iron_cross) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 4 (icon) 5 Local
X 4 name 4 (icon) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (heart) 5 Local
X 4 name 5 (heart) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (hand2) 5 Local
X 4 name 5 (hand2) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (hand1) 5 Local
X 4 name 5 (hand1) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (gumby) 5 Local
X 4 name 5 (gumby) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 7 (gobbler) 5 Local
X 4 name 7 (gobbler) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (fleur) 5 Local
X 4 name 5 (fleur) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (exchange) 5 Local
X 4 name 8 (exchange) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (draped_box) 5 Local
X 4 name 10 (draped_box) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 11 (draft_small) 5 Local
X 4 name 11 (draft_small) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 11 (draft_large) 5 Local
X 4 name 11 (draft_large) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 12 (double_arrow) 5 Local
X 4 name 12 (double_arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (dotbox) 5 Local
X 4 name 6 (dotbox) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 3 (dot) 5 Local
X 4 name 3 (dot) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 13 (diamond_cross) 5 Local
X 4 name 13 (diamond_cross) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 9 (crosshair) 5 Local
X 4 name 9 (crosshair) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 13 (cross_reverse) 5 Local
X 4 name 13 (cross_reverse) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (cross) 5 Local
X 4 name 5 (cross) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (coffee_mug) 5 Local
X 4 name 10 (coffee_mug) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (clock) 5 Local
X 4 name 5 (clock) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 6 (circle) 5 Local
X 4 name 6 (circle) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (center_ptr) 5 Local
X 4 name 10 (center_ptr) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (box_spiral) 5 Local
X 4 name 10 (box_spiral) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 10 (bottom_tee) 5 Local
X 4 name 10 (bottom_tee) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 11 (bottom_side) 5 Local
X 4 name 11 (bottom_side) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 19 (bottom_right_corner) 5 Local
X 4 name 19 (bottom_right_corner) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 18 (bottom_left_corner) 5 Local
X 4 name 18 (bottom_left_corner) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (bogosity) 5 Local
X 4 name 8 (bogosity) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 4 (boat) 5 Local
X 4 name 4 (boat) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 14 (based_arrow_up) 5 Local
X 4 name 14 (based_arrow_up) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 16 (based_arrow_down) 5 Local
X 4 name 16 (based_arrow_down) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 5 (arrow) 5 Local
X 4 name 5 (arrow) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (X_cursor) 5 Local
X 4 name 8 (X_cursor) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (X_cursor) 5 Local
X 4 name 8 (X_cursor) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (X_cursor) 5 Local
X 4 name 8 (X_cursor) 5 Local
X 0
X 0
X 0
X
X 9 CuCommand
X 2
X 6 cursor 8 (X_cursor) 5 Local
X 4 name 8 (X_cursor) 5 Local
X 0
X 0
X 0
END_OF_FILE
echo shar: NEWLINE appended to \"'examples/xcursors/cursors.wc'\"
if test 9171 -ne `wc -c <'examples/xcursors/cursors.wc'`; then
echo shar: \"'examples/xcursors/cursors.wc'\" unpacked with wrong size!
fi
# end of 'examples/xcursors/cursors.wc'
fi
if test -f 'examples/xcursors/cursors.wl' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'examples/xcursors/cursors.wl'\"
else
echo shar: Extracting \"'examples/xcursors/cursors.wl'\" \(4248 characters\)
sed "s/^X//" >'examples/xcursors/cursors.wl' <<'END_OF_FILE'
XCuWlm
X{
X*facetWidth "5"
X*CuCommand.internalHeight "10"
X*CuCommand.background "Goldenrod"
X*foreground "Black"
X*dimFacetColor "DarkSlateBlue"
X*brightFacetColor "SlateBlue"
XCuTbl {
X formatString "padding(5);c c c c c."
X equalColumns "True"
X background "White"
XCuCommand { name "X_cursor" cursor "X_cursor" }
XCuCommand { name "X_cursor" cursor "X_cursor" }
XCuCommand { name "X_cursor" cursor "X_cursor" }
XCuCommand { name "X_cursor" cursor "X_cursor" }
XCuCommand { name "arrow" cursor "arrow" }
XCuCommand { name "based_arrow_down" cursor "based_arrow_down" }
XCuCommand { name "based_arrow_up" cursor "based_arrow_up" }
XCuCommand { name "boat" cursor "boat" }
XCuCommand { name "bogosity" cursor "bogosity" }
XCuCommand { name "bottom_left_corner" cursor "bottom_left_corner" }
XCuCommand { name "bottom_right_corner" cursor "bottom_right_corner" }
XCuCommand { name "bottom_side" cursor "bottom_side" }
XCuCommand { name "bottom_tee" cursor "bottom_tee" }
XCuCommand { name "box_spiral" cursor "box_spiral" }
XCuCommand { name "center_ptr" cursor "center_ptr" }
XCuCommand { name "circle" cursor "circle" }
XCuCommand { name "clock" cursor "clock" }
XCuCommand { name "coffee_mug" cursor "coffee_mug" }
XCuCommand { name "cross" cursor "cross" }
XCuCommand { name "cross_reverse" cursor "cross_reverse" }
XCuCommand { name "crosshair" cursor "crosshair" }
XCuCommand { name "diamond_cross" cursor "diamond_cross" }
XCuCommand { name "dot" cursor "dot" }
XCuCommand { name "dotbox" cursor "dotbox" }
XCuCommand { name "double_arrow" cursor "double_arrow" }
XCuCommand { name "draft_large" cursor "draft_large" }
XCuCommand { name "draft_small" cursor "draft_small" }
XCuCommand { name "draped_box" cursor "draped_box" }
XCuCommand { name "exchange" cursor "exchange" }
XCuCommand { name "fleur" cursor "fleur" }
XCuCommand { name "gobbler" cursor "gobbler" }
XCuCommand { name "gumby" cursor "gumby" }
XCuCommand { name "hand1" cursor "hand1" }
XCuCommand { name "hand2" cursor "hand2" }
XCuCommand { name "heart" cursor "heart" }
XCuCommand { name "icon" cursor "icon" }
XCuCommand { name "iron_cross" cursor "iron_cross" }
XCuCommand { name "left_ptr" cursor "left_ptr" }
XCuCommand { name "left_side" cursor "left_side" }
XCuCommand { name "left_tee" cursor "left_tee" }
XCuCommand { name "leftbutton" cursor "leftbutton" }
XCuCommand { name "ll_angle" cursor "ll_angle" }
XCuCommand { name "lr_angle" cursor "lr_angle" }
XCuCommand { name "man" cursor "man" }
XCuCommand { name "middlebutton" cursor "middlebutton" }
XCuCommand { name "mouse" cursor "mouse" }
XCuCommand { name "pencil" cursor "pencil" }
XCuCommand { name "pirate" cursor "pirate" }
XCuCommand { name "plus" cursor "plus" }
XCuCommand { name "question_arrow" cursor "question_arrow" }
XCuCommand { name "right_ptr" cursor "right_ptr" }
XCuCommand { name "right_side" cursor "right_side" }
XCuCommand { name "right_tee" cursor "right_tee" }
XCuCommand { name "rightbutton" cursor "rightbutton" }
XCuCommand { name "rtl_logo" cursor "rtl_logo" }
XCuCommand { name "sailboat" cursor "sailboat" }
XCuCommand { name "sb_down_arrow" cursor "sb_down_arrow" }
XCuCommand { name "sb_h_double_arrow" cursor "sb_h_double_arrow" }
XCuCommand { name "sb_left_arrow" cursor "sb_left_arrow" }
XCuCommand { name "sb_right_arrow" cursor "sb_right_arrow" }
XCuCommand { name "sb_up_arrow" cursor "sb_up_arrow" }
XCuCommand { name "sb_v_double_arrow" cursor "sb_v_double_arrow" }
XCuCommand { name "shuttle" cursor "shuttle" }
XCuCommand { name "sizing" cursor "sizing" }
XCuCommand { name "spider" cursor "spider" }
XCuCommand { name "spraycan" cursor "spraycan" }
XCuCommand { name "star" cursor "star" }
XCuCommand { name "target" cursor "target" }
XCuCommand { name "tcross" cursor "tcross" }
XCuCommand { name "top_left_arrow" cursor "top_left_arrow" }
XCuCommand { name "top_left_corner" cursor "top_left_corner" }
XCuCommand { name "top_right_corner" cursor "top_right_corner" }
XCuCommand { name "top_side" cursor "top_side" }
XCuCommand { name "top_tee" cursor "top_tee" }
XCuCommand { name "trek" cursor "trek" }
XCuCommand { name "ul_angle" cursor "ul_angle" }
XCuCommand { name "umbrella" cursor "umbrella" }
XCuCommand { name "ur_angle" cursor "ur_angle" }
XCuCommand { name "watch" cursor "watch" }
XCuCommand { name "xterm" cursor "xterm" }
X }
X}
END_OF_FILE
echo shar: NEWLINE appended to \"'examples/xcursors/cursors.wl'\"
if test 4249 -ne `wc -c <'examples/xcursors/cursors.wl'`; then
echo shar: \"'examples/xcursors/cursors.wl'\" unpacked with wrong size!
fi
# end of 'examples/xcursors/cursors.wl'
fi
if test -f 'examples/xlayout/manip.visible' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'examples/xlayout/manip.visible'\"
else
echo shar: Extracting \"'examples/xlayout/manip.visible'\" \(7595 characters\)
sed "s/^X//" >'examples/xlayout/manip.visible' <<'END_OF_FILE'
XCuTbl
X {
X /* mappedWhenManaged "False" */
X name "visible"
X formatString "c."
X interHeight "10"
X internalWidth "10"
X internalHeight "10"
X
X CuTbl
X {
X name "translation"
X formatString "c\nc\nc."
X CuTbl
X {
X name "A1"
X formatString "c c c."
X CuLabel { name "TX" }
X CuLabel { name "TY" }
X CuLabel { name "TZ" }
X }
X CuTbl
X {
X name "A2"
X formatString "c c c."
X interWidth "2"
X/*
XTODO : CuBmgr : XtCuBmgrAtMostOne
XTODO : UnsetChildren (Deck, Tbl, Wlm, future geoMgrs)
XTODO : if callback () action 1, action 2...
XTODO : associate tags with widgets, action (tag) implies for all assoc'd ones
X*/
X CuTbl
X {
X name "tx"
X formatString "c c.\n"
X CuButton { name "tx_negative" label "-" set "True" }
X CuButton { name "tx_positive" label "+" }
X }
X CuTbl
X {
X name "ty"
X formatString "c c.\n"
X CuButton { name "ty_negative" label "-" }
X CuButton { name "ty_positive" label "+" }
X }
X CuTbl
X {
X name "tz"
X formatString "c c.\n"
X CuButton { name "tz_negative" label "-" }
X CuButton { name "tz_positive" label "+" }
X }
X }
X
X CuTbl
X {
X name "A3"
X formatString "c c c."
X equalColumns "True"
X CuBmgr
X {
X name "translate_value"
X bmgrType "OneOfMany"
X manage "translate.1" : Float "0.1"
X "translate.5" : Float "0.5"
X "translate1" : Float "1.0"
X "translate2" : Float "2.0"
X "translate4" : Float "4.0"
X "translate10" : Float "10.0"
X CuButton { name "translate.1" label ".1" }
X CuButton { name "translate.5" label ".5" }
X CuButton { name "translate1" label "1" set "True" }
X CuButton { name "translate2" label "2" }
X CuButton { name "translate4" label "4" }
X CuButton { name "translate10" label "10" }
X }
X }
X }
X
X CuTbl
X {
X name "rotation"
X formatString "c\nc\nc."
X CuTbl
X {
X name "A4"
X formatString "c c c."
X CuLabel { name "RX" }
X CuLabel { name "RY" }
X CuLabel { name " " }
X }
X CuTbl
X {
X name "A5"
X formatString "c c c."
X interWidth "2"
X CuTbl
X {
X name "rx"
X formatString "c c.\n"
X CuButton { name "rx_negative" label "-" }
X CuButton { name "rx_positive" label "+" }
X }
X CuTbl
X {
X name "ry"
X formatString "c c.\n"
X CuButton { name "ry_negative" label "-" }
X CuButton { name "ry_positive" label "+" }
X }
X CuTbl
X {
X name "rz"
X formatString "c c.\n"
X mappedWhenManaged "False" /* Currently no rotation here */
X layoutWhenUnmapped "True"
X CuButton { name "rz_negative" label "-" }
X CuButton { name "rz_positive" label "+" }
X }
X }
X
X CuTbl
X {
X name "A6"
X formatString "c c c."
X equalColumns "True"
X CuBmgr
X {
X name "rotate_value"
X bmgrType "OneOfMany"
X manage
X "rotate1" : Float "1"
X "rotate2" : Float "2"
X "rotate5" : Float "5"
X "rotate10" : Float "10" /* 10.0 => BOMB!!! */
X "rotate30" : Float "30.0"
X "rotate90" : Float "90.0"
X CuButton { name "rotate1" label "1" }
X CuButton { name "rotate2" label "2" }
X CuButton { name "rotate5" label "5" set "True" }
X CuButton { name "rotate10" label "10" }
X CuButton { name "rotate30" label "30" }
X CuButton { name "rotate90" label "90" }
X }
X }
X }
X
X CuTbl
X {
X name "zoom_scene"
X formatString "c\nc\nc."
X CuTbl
X {
X name "A7"
X formatString "c c c."
X CuLabel { name "ZM" }
X CuLabel { name " " }
X CuLabel { name "SC" }
X }
X CuTbl
X {
X name "A8"
X formatString "c c c."
X interWidth "2"
X CuTbl
X {
X name "zm"
X formatString "c c.\n"
X CuButton { name "zm_negative" label "-" }
X CuButton { name "zm_positive" label "+" }
X }
X CuTbl
X {
X name "A8a"
X formatString "c c.\n"
X mappedWhenManaged "False" /* Currently no operation here */
X layoutWhenUnmapped "True"
X CuButton { name " " label "-" }
X CuButton { name " " label "+" }
X }
X CuTbl
X {
X name "sc"
X formatString "c c.\n"
X CuButton { name "sc_negative" label "-" }
X CuButton { name "sc_positive" label "+" }
X }
X }
X
X CuTbl
X {
X name "A9"
X formatString "c c\nc c c."
X equalColumns "True"
X CuBmgr
X {
X name "zoom_value"
X bmgrType "OneOfMany"
X manage
X "zoom0" : Float "0"
X "zoom.5" : Float "0.5"
X "zoom.9" : Float "0.9"
X "zoom1.1" : Float "1.1"
X "zoom1.5" : Float "1.5"
X CuButton { name "zoom0" label "RS" }
X CuButton { name "zoom.5" label ".5" }
X CuButton { name "zoom.9" label ".9" }
X CuButton { name "zoom1.1" label "1.1" set "True" }
X CuButton { name "zoom1.5" label "1.5" }
X }
X }
X }
X
X CuTbl
X {
X name "hi_yo"
X formatString "c\nc\nc."
X CuTbl
X {
X equalColumns "True"
X formatString "c c."
X *foreground "black"
X *facetWidth "0"
X CuLabel { name "HITHER" }
X CuLabel { name "YON" }
X }
X CuTbl
X {
X formatString "c c."
X interWidth "2"
X CuTbl
X {
X name "hi"
X formatString "c c.\n"
X CuButton { name "hi_negative" label "-" }
X CuButton { name "hi_positive" label "+" }
X }
X CuTbl
X {
X name "yo"
X formatString "c c.\n"
X CuButton { name "yo_negative" label "-" }
X CuButton { name "yo_positive" label "+" }
X }
X }
X
X CuTbl
X {
X name "A10"
X formatString "c c c."
X equalColumns "True"
X CuBmgr
X {
X name "hy_value"
X bmgrType "OneOfMany"
X manage
X "hy0" : Float "0"
X "hy.1" : Float "0.1"
X "hy1" : Float "1.0"
X "hy2" : Float "2.0"
X "hy4" : Float "4.0"
X "hy8" : Float "8.0"
X CuButton { name "hy0" label "RS" }
X CuButton { name "hy.1" label ".1" }
X CuButton { name "hy1" label "1" }
X CuButton { name "hy2" label "2" }
X CuButton { name "hy4" label "4" set "True" }
X CuButton { name "hy8" label "8" }
X }
X }
X }
X CuTbl
X {
X formatString "c c."
X equalColumns "True"
X CuBmgr
X {
X name "cycle"
X bmgrType "DoubleToggle"
X manage "CYCLE ON" : Int "1" "CYCLE OFF" : Int "0"
X CuButton { name "CYCLE OFF" set "True" }
X CuButton { name "CYCLE ON" }
X }
X }
X CuTbl
X {
X formatString "c c."
X equalColumns "True"
X CuBmgr
X {
X name "up"
X bmgrType "DoubleToggle"
X manage "UP\nCONSTANT" : Int "1" "UP\nVARIABLE" : Int "0"
X CuButton { name "UP\nCONSTANT" set "True" }
X CuButton { name "UP\nVARIABLE" }
X }
X }
X
X CuTbl
X {
X formatString "c c."
X equalColumns "True"
X CuBmgr
X {
X name "dbl_buffer"
X bmgrType "DoubleToggle"
X manage "DBL\nBUFFER\nON" : Int "1" "DBL\nBUFFER\nOFF" : Int "0"
X CuButton { name "DBL\nBUFFER\nON" set "True" }
X CuButton { name "DBL\nBUFFER\nOFF" }
X }
X }
X
X CuTbl
X {
X name "A11"
X formatString "c\nc\nc."
X CuBmgr
X {
X name "read_write"
X bmgrType "OneOfMany"
X manage "REPLAY" "RECORD" "OFF"
X CuButton { name "REPLAY" }
X CuButton { name "RECORD" }
X CuButton { name "OFF" set "True" }
X }
X }
X
X CuTbl
X {
X formatString "c."
X CuBmgr
X {
X name "reset"
X bmgrType "Transient"
X manage "RESET"
X CuButton { name "RESET" }
X }
X }
X CuTbl
X {
X formatString "c."
X CuBmgr
X {
X name "texture"
X bmgrType "Transient"
X manage "TEXTURE"
X CuButton { name "TEXTURE" }
X }
X }
X CuTbl
X {
X formatString "c."
X CuBmgr
X {
X name "quit"
X bmgrType "Transient"
X manage "QUIT"
X CuButton { name "QUIT" }
X }
X }
X }
X
XCuBmgr
X {
X name "plus_minus"
X bmgrType "OneOfMany"
X manage "tx_positive" "tx_negative"
X "ty_positive" "ty_negative"
X "tz_positive" "tz_negative"
X "rx_positive" "rx_negative"
X "ry_positive" "ry_negative"
X "zm_positive" "zm_negative"
X "sc_positive" "sc_negative"
X "hi_positive" "hi_negative"
X "yo_positive" "yo_negative"
X }
X
END_OF_FILE
echo shar: NEWLINE appended to \"'examples/xlayout/manip.visible'\"
if test 7596 -ne `wc -c <'examples/xlayout/manip.visible'`; then
echo shar: \"'examples/xlayout/manip.visible'\" unpacked with wrong size!
fi
# end of 'examples/xlayout/manip.visible'
fi
if test -f 'examples/xtbl/xtbl.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'examples/xtbl/xtbl.c'\"
else
echo shar: Extracting \"'examples/xtbl/xtbl.c'\" \(7660 characters\)
sed "s/^X//" >'examples/xtbl/xtbl.c' <<'END_OF_FILE'
X#include <stdio.h>
X#include <X11/Intrinsic.h>
X#include <X11/Cardinals.h>
X#include <X11/StringDefs.h>
X#include <X11/Shell.h>
X#include "CuWlm.h"
X#include "CuSimple.h"
X#include "CuLabel.h"
X#include "CuTbl.h"
X#include "CuCommand.h"
X
Xstatic void Activate_text() ;
Xstatic void Activate_justify() ;
Xstatic void Activate_gravity() ;
Xstatic void Activate_fill() ;
Xstatic void convert_nl () ;
X
Xstatic XtCallbackRec callback_text[] =
X { { Activate_text, NULL } ,{ NULL, NULL } } ;
X
Xstatic XtCallbackRec callback_justify[] =
X { { Activate_justify, NULL },{ NULL, NULL } } ;
X
Xstatic XtCallbackRec callback_gravity[] =
X { { Activate_gravity, NULL },{ NULL, NULL } } ;
X
Xstatic XtCallbackRec callback_fill[] =
X { { Activate_fill, NULL } ,{ NULL, NULL } } ;
X
Xstatic XrmOptionDescRec options[] =
X{
X {"-file", "*tbl1a.formatFile", XrmoptionSepArg, NULL}
X,{"-string", "*tbl1a.formatString", XrmoptionSepArg, NULL}
X};
X
XWidget toplevel;
XWidget lbl[100] ;
XWidget tbl0, tbl1a, tbl1b ;
Xstatic char lbl_text[100] ;
XCardinal n_widgets ;
X
Xstatic Arg cmd_arg[2] ;
X
Xstatic Arg lbl_args[] =
X {
X {XtNlabel, (XtArgVal) lbl_text}
X ,{XtNfacetWidth, (XtArgVal) 0}
X ,{XtNjustify, (XtArgVal) CuJustifyCenter}
X } ;
X
Xstatic Arg tbl0_args[] =
X {
X {XtNformatString, (XtArgVal) "c c."}
X ,{XtNinterWidth, (XtArgVal) 10}
X ,{XtNinterHeight, (XtArgVal) 10}
X ,{XtNinternalWidth, (XtArgVal) 10}
X ,{XtNinternalHeight, (XtArgVal) 10}
X } ;
X
Xstatic Arg tbl1b_args[] =
X {
X {XtNformatString, (XtArgVal) "c."}
X ,{XtNinterHeight, (XtArgVal) -1}
X ,{XtNinternalWidth, (XtArgVal) 10}
X ,{XtNinternalHeight, (XtArgVal) 10}
X } ;
X
Xvoid
Xmain (argc, argv)
X unsigned int argc;
X char **argv;
X{
XCardinal i ;
X
Xstatic Arg toplevel_args[] =
X {
X {XtNallowShellResize, (XtArgVal) True}
X } ;
X
Xif (argc < 4)
X {
X fprintf (stderr, "Usage: %s #_of_widgets\n", argv[0]) ;
X fprintf (stderr, " [-file widget_description_file]\n") ;
X fprintf (stderr, " [-string widget_description]\n") ;
X fprintf (stderr, " ... (see source)\n") ;
X exit (1) ;
X }
X
X
Xn_widgets = atoi (argv[1]) ;
X
Xtoplevel = XtInitialize (NULL, "Demo", options, XtNumber(options), &argc, argv);
X
X/*
X * tbl0 merely places the two layouts side by side
X * tbl1a is the variable test layout
X * tbl1b is the fixed cmd modifier layout
X */
X
Xtbl0 = XtCreateManagedWidget ("tbl0", cuTblWidgetClass, toplevel,
X tbl0_args, XtNumber(tbl0_args)) ;
Xtbl1a = XtCreateManagedWidget ("tbl1a", cuTblWidgetClass, tbl0, NULL, NULL) ;
Xtbl1b = XtCreateManagedWidget ("tbl1b", cuTblWidgetClass, tbl0,
X tbl1b_args, XtNumber(tbl1b_args)) ;
X
X/*
X * load up the test layout with label widgets
X */
X
Xfor (i=0; i < n_widgets; i++)
X {
X char widget_name[100] ;
X
X sprintf (lbl_text, "ABC\n%d", i) ;
X sprintf (widget_name, "Wdgt%d", i) ;
X lbl[i] = XtCreateManagedWidget (widget_name, cuLabelWidgetClass, tbl1a,
X lbl_args, TWO) ;
X }
X
X/*
X * load up the cmd layout with command widgets
X */
X
XXtSetArg (cmd_arg[1], XtNfacetWidth, (XtArgVal) 0) ;
XXtSetArg (cmd_arg[0], XtNcallback, (XtArgVal) callback_text) ;
Xlbl[i++] = XtCreateManagedWidget ("_text_", cuCommandWidgetClass, tbl1b,
X cmd_arg, TWO) ;
X
XXtSetArg (cmd_arg[0], XtNcallback, (XtArgVal) callback_justify) ;
Xlbl[i++] = XtCreateManagedWidget ("_justify_", cuCommandWidgetClass, tbl1b,
X cmd_arg, TWO) ;
X
XXtSetArg (cmd_arg[0], XtNcallback, (XtArgVal) callback_gravity) ;
Xlbl[i++] = XtCreateManagedWidget ("_gravity_", cuCommandWidgetClass, tbl1b,
X cmd_arg, TWO) ;
X
XXtSetArg (cmd_arg[0], XtNcallback, (XtArgVal) callback_fill) ;
Xlbl[i++] = XtCreateManagedWidget ("_fill_", cuCommandWidgetClass, tbl1b,
X cmd_arg, TWO) ;
X
X/*
X * go...
X */
X
Xsleep (5) ;
XXtRealizeWidget (toplevel) ;
XXtSetValues (toplevel, toplevel_args, XtNumber(toplevel_args)) ;
XXtMainLoop () ;
X}
X
X/*
X * The following four routines all work the same way.
X * They open a file of the same name as the label.
X * The first integer read is the number of widgets to modify
X * This is followed by pairs of widget numbers and new values
X */
X
X/**
X *** Modifies the label of a widget
X **/
X
X#include <X11/IntrinsicP.h>
X#include "CuTblP.h"
X
Xstatic void
XActivate_text (w, closure, call_data)
X Widget w;
X caddr_t closure;
X caddr_t call_data;
X{
XFILE *fd ;
XCardinal i, n ;
Xint m ;
X
Xfd = fopen ("_text_", "r") ;
Xif (fd <= 0)
X fprintf (stderr, "NO _text_ file!\n") ;
Xfscanf (fd, "%d", &n) ;
Xfor (i=0; i < n; i++)
X {
X fscanf (fd, "%d", &m) ;
X fread (lbl_text, 1, 1, fd) ;
X fscanf (fd, "%[^\n]s", lbl_text) ;
X if (m < 0 || m >= n_widgets)
X {
X fprintf (stderr, "Error: widget %d does not exist\n", m) ;
X continue ;
X }
X convert_nl (lbl_text) ;
X XtSetValues (lbl[m], lbl_args, ONE) ;
X }
Xfclose (fd) ;
Xreturn ;
X}
X
X/**
X *** Modifies the justification of the label of a widget
X **/
X
Xstatic void
XActivate_justify (w, closure, call_data)
X Widget w;
X caddr_t closure;
X caddr_t call_data;
X{
XFILE *fd ;
XCardinal i, n ;
Xint m ;
XXrmValue from, to ;
X
Xfrom.size = sizeof (String) ;
Xfrom.addr = (caddr_t) lbl_text ;
X
Xfd = fopen ("_justify_", "r") ;
Xif (fd <= 0)
X fprintf (stderr, "NO _justify_ file!\n") ;
Xfscanf (fd, "%d", &n) ;
X
Xfor (i=0; i < n; i++)
X {
X fscanf (fd, "%d", &m) ;
X fscanf (fd, "%s", lbl_text) ;
X if (m < 0 || m >= n_widgets)
X {
X fprintf (stderr, "Error: widget %d does not exist\n", m) ;
X continue ;
X }
X XtConvert (toplevel, XtRString, &from, XtRJustify, &to) ;
X XtSetArg(lbl_args[2], XtNjustify, (XtArgVal) (*((CuJustify *)to.addr)));
X XtSetValues (lbl[m], &lbl_args[2], ONE) ;
X }
Xfclose (fd) ;
Xreturn ;
X}
X
X/**
X *** Modifies the gravity of a widget
X **/
X
Xstatic void
XActivate_gravity (w, closure, call_data)
X Widget w;
X caddr_t closure;
X caddr_t call_data;
X{
XFILE *fd ;
XCardinal i, n ;
Xint m ;
XXrmValue from, to ;
X
Xfrom.size = sizeof (String) ;
Xfrom.addr = (caddr_t) lbl_text ;
X
Xfd = fopen ("_gravity_", "r") ;
Xif (fd <= 0)
X fprintf (stderr, "NO _gravity_ file!\n") ;
Xfscanf (fd, "%d", &n) ;
X
Xfor (i=0; i < n; i++)
X {
X CuLabelWidget lw ;
X
X fscanf (fd, "%d", &m) ;
X fscanf (fd, "%s", lbl_text) ;
X if (m < 0 || m >= n_widgets)
X {
X fprintf (stderr, "Error: widget %d does not exist\n", m) ;
X continue ;
X }
X XtConvert (toplevel, XtRString, &from, XtRGravity, &to) ;
X XtSetArg(lbl_args[2], XtNgravity, (XtArgVal) (*((CuGravity *)to.addr)));
X lw = (CuLabelWidget) lbl[m] ;
X XtSetValues (lbl[m], &lbl_args[2], ONE) ;
X }
Xfclose (fd) ;
Xreturn ;
X}
X
X/**
X *** Modifies the fill mode of a widget
X **/
X
Xstatic void
XActivate_fill (w, closure, call_data)
X Widget w;
X caddr_t closure;
X caddr_t call_data;
X{
XFILE *fd ;
XCardinal i, n ;
Xint m ;
XXrmValue from, to ;
X
Xfrom.size = sizeof (String) ;
Xfrom.addr = (caddr_t) lbl_text ;
X
Xfd = fopen ("_fill_", "r") ;
Xif (fd <= 0)
X fprintf (stderr, "NO _fill_ file!\n") ;
Xfscanf (fd, "%d", &n) ;
X
Xfor (i=0; i < n; i++)
X {
X CuLabelWidget lw ;
X
X fscanf (fd, "%d", &m) ;
X fscanf (fd, "%s", lbl_text) ;
X if (m < 0 || m >= n_widgets)
X {
X fprintf (stderr, "Error: widget %d does not exist\n", m) ;
X continue ;
X }
X XtConvert (toplevel, XtRString, &from, XtRBoolean, &to) ;
X XtSetArg(lbl_args[2], XtNfillColumn, (XtArgVal)(*((Boolean *)to.addr)));
X lw = (CuLabelWidget) lbl[m] ;
X XtSetValues (lbl[m], &lbl_args[2], ONE) ;
X }
Xfclose (fd) ;
Xreturn ;
X}
X
X/***** **** *** ** * convert_nl * ** *** **** *****/
X
X/*
X * convert instances of "\n" into '\n' and collapse the remainder of the text
X */
X
Xstatic void
Xconvert_nl (text)
X char *text ;
X{
XCardinal i, j ;
XCardinal len = strlen(text) ;
X
Xfor (i=0; i < len; i++)
X {
X if (text[i] == '\\' && text[i+1] == 'n')
X {
X text[i] = '\n' ;
X j = i+1 ;
X while (text[j] != 0)
X {
X text[j] = text[j+1] ;
X j++ ;
X }
X }
X }
Xreturn ;
X}
X
X
END_OF_FILE
echo shar: NEWLINE appended to \"'examples/xtbl/xtbl.c'\"
if test 7661 -ne `wc -c <'examples/xtbl/xtbl.c'`; then
echo shar: \"'examples/xtbl/xtbl.c'\" unpacked with wrong size!
fi
# end of 'examples/xtbl/xtbl.c'
fi
if test -f 'src/CuTbl.l' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'src/CuTbl.l'\"
else
echo shar: Extracting \"'src/CuTbl.l'\" \(6106 characters\)
sed "s/^X//" >'src/CuTbl.l' <<'END_OF_FILE'
X%{
X
X/* *
X * * This code is completely original. Permission is granted to do with
X * * it as one wishes. I disclaim any responsibility whatsoever for
X * * any bad things that may happen because of using it.
X * */
X
X#undef input
X#undef unput
X
Xstatic char *ttt ;
X
X%}
X
Xmodifiers [bBeEfFgGiInNpPtsSTuUvVwWzZ0-9\+\|\-\=\@]*
X
X%START format data final char_find int_find color_find participants_find
X
X%%
X
X if (new_menu_start)
X {
X BEGIN 0 ;
X new_menu_start = False ;
X }
X
X<INITIAL>\; /* Semicolon to end options */
X {
X BEGIN format ;
X return ';' ;
X }
X
X<INITIAL>equal_rows /* equal rows option */
X {
X return EQUAL_ROWS ;
X }
X
X<INITIAL>aligned_columns /* aligned_columns option*/
X {
X return ALIGNED_COLUMNS ;
X }
X
X<INITIAL>clip_on_shrink /* clip_on_shrink option*/
X {
X return CLIP_ON_SHRINK ;
X }
X
X<INITIAL>equal_columns|equal_cols /* equal columns option */
X {
X return EQUAL_COLUMNS ;
X }
X
X<INITIAL>tab /* item separator option */
X {
X BEGIN char_find ;
X return STRING_BREAKER ;
X }
X
X<INITIAL>lnl /* lexical newline equivalent */
X {
X BEGIN char_find ;
X return LNL_EQUIVALENT ;
X }
X
X<INITIAL>snl /* string newline equivalent */
X {
X BEGIN char_find ;
X return SNL_EQUIVALENT ;
X }
X
X<INITIAL>padding /* inter,internal_width & inter,internal_height option*/
X {
X BEGIN int_find ;
X return PADDING ;
X }
X
X<INITIAL>internals /* internal_width & internal_height option*/
X {
X BEGIN int_find ;
X return INTERNALS ;
X }
X
X<INITIAL>inters /* inter_width & inter_height option*/
X {
X BEGIN int_find ;
X return INTERS ;
X }
X
X<INITIAL>inter_width /* inter_width option*/
X {
X BEGIN int_find ;
X return INTER_WIDTH ;
X }
X
X<INITIAL>inter_height /* inter_height option*/
X {
X BEGIN int_find ;
X return INTER_HEIGHT ;
X }
X
X<INITIAL>internal_width /* internal_width option*/
X {
X BEGIN int_find ;
X return INTERNAL_WIDTH ;
X }
X
X<INITIAL>internal_height /* internal_height option*/
X {
X BEGIN int_find ;
X return INTERNAL_HEIGHT ;
X }
X
X<INITIAL>resize_participants /* resize_participants option*/
X {
X BEGIN participants_find ;
X return RESIZE_PARTICIPANTS ;
X }
X
X<INITIAL>([tpc]_)?background_color /* t_background_color option*/
X {
X BEGIN color_find ;
X if (*yytext == 'b')
X return BACKGROUND_COLOR ;
X else
X if (*yytext == 'c')
X return C_BACKGROUND_COLOR ;
X else
X return T_BACKGROUND_COLOR ;
X }
X
X<INITIAL>([tpc]_)?foreground_color /* t_foreground_color option*/
X {
X BEGIN color_find ;
X if (*yytext == 'f')
X return FOREGROUND_COLOR ;
X else
X if (*yytext == 'c')
X return C_FOREGROUND_COLOR ;
X else
X return T_FOREGROUND_COLOR ;
X }
X
X<INITIAL>([tpc]_)?border_color /* t_border_color option*/
X {
X BEGIN color_find ;
X if (*yytext == 'b')
X return BORDER_COLOR ;
X else
X if (*yytext == 'c')
X return C_BORDER_COLOR ;
X else
X return T_BORDER_COLOR ;
X }
X
X<INITIAL>([tpc]_)?border_width /* t_border_width option*/
X {
X BEGIN int_find ;
X if (*yytext == 'b')
X return BORDER_WIDTH ;
X else
X if (*yytext == 'c')
X return C_BORDER_WIDTH ;
X else
X return T_BORDER_WIDTH ;
X }
X
X<INITIAL>center|expand|box|allbox|doublebox|delim\(..\)|linesize\([0-9]+\) /* */
X {
X return IGNORED_OPTION ;
X /* ignored options */
X }
X
X<char_find,int_find,color_find,participants_find>[\(\)] /* parentheses */
X {
X if (*yytext == ')')
X BEGIN 0 ;
X return yytext[0] ;
X }
X
X<char_find,int_find,color_find,participants_find>[ \t] /* white space */
X {
X }
X
X<char_find>. /* single character */
X {
X yylval.c_val = yytext[0] ;
X return CHARACTER ;
X }
X
X<int_find>-?[0-9]+ /* integers */
X {
X yylval.i_val = atoi(yytext) ;
X return INTEGER ;
X }
X
X<color_find>[A-Za-z][^ \t\)]* /* string (color, font, etc.) */
X {
X XrmValue from, to ;
X
X from.size = sizeof (String) ;
X from.addr = (caddr_t) yytext ;
X XtConvert ((Widget)tw_, XtRString, &from, XtRPixel, &to) ;
X yylval.i_val = (int)(*((Pixel *)to.addr)) ;
X return INTEGER ;
X }
X
X<participants_find>\, /* ignore commas */
X {
X }
X
X<participants_find>inters /* resize_participants */
X {
X return INTERS ;
X }
X
X<participants_find>internals /* resize_participants */
X {
X return INTERNALS ;
X }
X
X<participants_find>children /* resize_participants */
X {
X return CHILDREN ;
X }
X
X<INITIAL>^\.TS /* table_start (optional) */
X {
X return TS ;
X }
X
X<INITIAL,format>{modifiers}[\_\=aAnN]{modifiers} /* illegal item element */
X {
X char *my_text1 = "CuTbl: Illegal lex item (one of _=aAnN) in (%s)\n%s" ;
X char *my_text2 = "Legal items are (lLrRcCsS^).\n" ;
X char *etext = XtMalloc (strlen(my_text1) + strlen(my_text2) +
X strlen(yytext)) ;
X sprintf (etext, my_text1, yytext, my_text2) ;
X XtError (etext) ;
X }
X
X<INITIAL,format>{modifiers}[lLrRcC]{modifiers} /* legal item element */
X {
X Cu_copy_ds (&ttt, yytext) ;
X yylval.s_val = ttt ;
X return ITEM_ELEMENT ;
X }
X
X<INITIAL,format>\.[ \t]*\n /* Dot to end formats */
X {
X BEGIN data ;
X return DOT_NL ;
X }
X
X<INITIAL,format>[sS] /* horizontal span element */
X {
X return HSPAN_ELEMENT ;
X }
X
X<INITIAL,format>\^ /* vertical span element */
X {
X return VSPAN_ELEMENT ;
X }
X
X<INITIAL,format>\\\n /* continuation */
X {
X return CONTINUATION ;
X }
X
X<INITIAL,format>\. /* period */
X {
X /* Kludge city! I don't know why the code commented out doesn't work */
X /* Lex fails to recognize the following string when it appears */
X unput ('\n') ;
X unput ('.') ;
X /***
X BEGIN data ;
X return '.' ;
X ***/
X }
X
X<INITIAL,format>\n /* newline */
X {
X return NL ;
X }
X
X<INITIAL,format>^[-=][ \t]*\n /* lines ignored */
X {
X }
X
X<INITIAL,format>^#.*\n /* comments */
X {
X }
X
X<INITIAL,format>[ \t]* /* white space */
X {
X }
X
X<INITIAL,format>. /* anything else */
X {
X ytblerror ("Lexical error") ;
X }
X
X<data>^\.T\& /* table_ampersand */
X {
X BEGIN format ;
X return TAMPERSAND ;
X }
X
X<data>^[^.].*\n /* data items */
X {
X if (yyleng >=2 && strcmp ("\\\n", &yytext[yyleng-2]) == 0)
X {
X yytext[yyleng-2] = '\0' ;
X yyleng -= 2 ;
X yymore () ;
X }
X else
X {
X yytext[yyleng-1] = '\0' ;
X Cu_copy_ds (&ttt, yytext) ;
X yylval.s_val = ttt ;
X if (yyleng > 1)
X return STRING ;
X }
X }
X
X<data>^\n /* trailing newlines */
X {
X }
X
X^\.TE[ \t\n]* /* table_end (optional) */
X {
X BEGIN final ;
X return TE ;
X }
X
X<final>[.\n] /* ignore all */
X {
X }
X
X%%
X
END_OF_FILE
echo shar: NEWLINE appended to \"'src/CuTbl.l'\"
if test 6107 -ne `wc -c <'src/CuTbl.l'`; then
echo shar: \"'src/CuTbl.l'\" unpacked with wrong size!
fi
# end of 'src/CuTbl.l'
fi
if test -f 'src/CuWlmP.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'src/CuWlmP.h'\"
else
echo shar: Extracting \"'src/CuWlmP.h'\" \(7279 characters\)
sed "s/^X//" >'src/CuWlmP.h' <<'END_OF_FILE'
X/* CuWlm widget private definitions */
X
X#ifndef _Cu_WlmP_h
X#define _Cu_WlmP_h
X
X#include <X11/IntrinsicP.h>
X#include <X11/StringDefs.h>
X
X#include <X11/CompositeP.h> /* Superclass Private Include File */
X#include "CuWlm.h" /* Class Public Include File */
X#include "CuProcedureR.h"
X#include "CuBmgrR.h"
X
X#define TAG_CLASS_ENTRY(ww,tag,wclass) \
X { \
X CuWlmTagClassList *save = ww->wlm.tag_class_list ; \
X ww->wlm.tag_class_list = (CuWlmTagClassList *) \
X XtMalloc (sizeof (CuWlmTagClassList)) ; \
X ww->wlm.tag_class_list->quark = XrmStringToQuark (tag) ; \
X ww->wlm.tag_class_list->class = wclass ; \
X ww->wlm.tag_class_list->next = save ; \
X }
X
X/*
X * Prelude
X */
X
Xtypedef enum {
X CuWlmCroakOnNotFound, CuWlmAddOnNotFound, CuWlmNullOnNotFound
X } CuWlmNotFoundAction ;
Xtypedef enum {
X CuWlmStringArg, CuWlmCharArg, CuWlmFloatArg, CuWlmArgValArg
X } CuWlmArgType ;
Xtypedef enum {
X CuWlmLocalContext, CuWlmGlobalContext
X } CuWlmContext ;
Xtypedef enum {
X CuWlmGetIntType, CuWlmGetFloatType, CuWlmGetStringType, CuWlmGetBoolType
X } CuWlmGetType ;
Xtypedef enum {
X CuWlmRequestNotSatisfied, CuWlmRequestSatisfied
X } CuWlmSREstatus ;
Xtypedef enum {
X CuWlmInactiveHistory, CuWlmRecordHistory
X } CuWlmHistoryMode ;
Xtypedef enum {
X CuWlmIndirectQueue, CuWlmSetFloatQueue, CuWlmSetIntQueue,
X CuWlmSetStringQueue, CuWlmGetQueue, CuWlmScanQueue,
X CuWlmSetBoolQueue
X } CuWlmQueueType ;
X
Xtypedef enum {
X CuWlmResourceInfoClass, CuWlmResourceInfoRepresentation
X } CuWlmResourceInfoType ;
X
Xtypedef struct CuWlmManageItem
X {
X String widget ;
X String type ;
X String value ;
X } CuWlmManageItem ;
X
Xtypedef struct CuWlmSreRecord
X {
X CuWlmSREstatus status ;
X struct CuWlmSreRecord *next ;
X } CuWlmSreRecord ;
X
Xtypedef struct CuWlmQueueRecord
X {
X CuWlmQueueType type ;
X Widget w ;
X caddr_t client ;
X caddr_t call ;
X struct CuWlmQueueRecord *next ;
X } CuWlmQueueRecord ;
X
Xtypedef struct
X {
X String name ;
X Widget id ;
X } CuWlmWidgetList ;
X
Xtypedef struct CuWlmTagClassList
X {
X XrmQuark quark ;
X WidgetClass class ;
X struct CuWlmTagClassList *next ;
X } CuWlmTagClassList ;
X
X/* TODO: make bigger temps in menu.y,main.c and then allocate and transfer */
X/* or save/null method */
X
X#define MAX_DIRECTIVE_ARGUMENTS 10
X#define MAX_DIRECTIVE_CALLDATA_ITEMS 10
X#define MAX_DIRECTIVE_CALLDATA_INDICES 2
X
Xtypedef union
X {
X Widget widget ;
X String string ;
X } UValues ;
X
Xtypedef enum
X {
X CuWlmDirectiveEquivalence
X ,CuWlmDirectiveNonEquivalence
X ,CuWlmDirectiveGreaterThan
X ,CuWlmDirectiveLessThan
X ,CuWlmDirectiveGreaterThanOrEqualTo
X ,CuWlmDirectiveLessThanOrEqualTo
X } CuWlmDirectiveOperator ;
X
Xtypedef struct CuWlmSampleList
X {
X XtProc sample_proc ;
X Widget id ;
X struct CuWlmSampleList *next ;
X } CuWlmSampleList ;
X
Xtypedef struct
X {
X XtCallbackProc callback_proc ;
X caddr_t client_data ;
X CuWlmWidget ww ;
X } CuWlmIndirectRecord ;
X
Xtypedef struct
X {
X float *target ;
X float value ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmSetFloatRecord ;
X
Xtypedef struct
X {
X Boolean *target ;
X Boolean value ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmSetBoolRecord ;
X
Xtypedef struct
X {
X int *target ;
X int value ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmSetIntRecord ;
X
Xtypedef struct
X {
X String *target ;
X String value ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmSetStringRecord ;
X
Xtypedef struct
X {
X CuWlmGetType type ;
X caddr_t target ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmGetRecord ;
X
Xtypedef struct
X {
X String format ;
X caddr_t t0, t1, t2, t3, t4, t5, t6, t7, t8, t9,
X t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 ;
X CuWlmWidget ww ;
X CuWlmConnectionType wlm_type ;
X } CuWlmScanRecord ;
X
Xtypedef struct CuWlmCallbackList
X {
X Widget widget_id ;
X XrmQuark widget_name_quark ;
X XrmQuark widget_class_quark ;
X XrmQuark callback_name_quark ;
X struct CuWlmCallbackList *next ;
X } CuWlmCallbackList ;
X
Xtypedef struct Resource
X {
X String name ;
X String class ;
X String value ;
X CuWlmContext context ;
X } Resource ;
X
Xtypedef struct Directive
X {
X String callback_name ;
X String *call_data_converter ;
X String *call_data ;
X CuWlmDirectiveOperator *call_data_operator ;
X int **call_data_index ;
X int n_call_comparisons ;
X Cardinal *n_call_indices ;
X String target_class ;
X String target_name ;
X Resource resource ;
X String procedure ;
X Cardinal n_arguments ;
X String *argument_converters ;
X String *argument_strings ;
X long client_data[3] ;
X } Directive ;
X
Xtypedef struct Fetus
X {
X WidgetClass class ;
X XrmQuark class_name ;
X String widget_name ;
X Cardinal n_resources ;
X Resource *resources ;
X Cardinal n_directives ;
X Directive *directives ;
X Cardinal n_children ;
X struct Fetus *children ;
X Cardinal n_manage_list ;
X CuWlmManageItem *manage_list ;
X Widget id ;
X } Fetus ;
X
Xtypedef struct CuWlmProcedureList
X {
X XrmQuark quark ;
X XtProc procedure ;
X struct CuWlmProcedureList *next ;
X } CuWlmProcedureList ;
X
Xtypedef struct WidgetIdList
X {
X Widget id ;
X struct WidgetIdList *next ;
X } WidgetIdList ;
X
Xtypedef struct WidgetNameList
X {
X XrmQuark quark ;
X WidgetIdList *widget_id_list ;
X struct WidgetNameList *next ;
X } WidgetNameList ;
X
Xtypedef struct WidgetClassList
X {
X XrmQuark quark ;
X WidgetNameList *widget_name_list ;
X CuWlmProcedureList *proc_list ;
X struct WidgetClassList *next ;
X } WidgetClassList ;
X
X/*
X * The new fields added to superclass widget structure
X */
X
Xtypedef struct _CuWlmPart
X {
X /* resources */
X String layout_file ; /* horizontal space surrounding children*/
X XtCallbackList expose_callbacks;
X
X /* private state */
X XrmQuark conversion_class ;
X Cardinal cur_depth ;
X Cardinal max_depth ;
X XrmQuark *quarks_list ;
X XrmBinding *bindings_list ;
X XrmDatabase *database ;
X CuWlmTagClassList *tag_class_list ;
X CuWlmProcedureList *proc_list ;
X CuWlmSampleList *sample_list ;
X WidgetClassList *widget_class_list ;
X CuWlmSreRecord *sre_status ;
X CuWlmQueueRecord *queue_ptr ;
X CuWlmQueueRecord *history_ptr ;
X CuWlmHistoryMode history_mode ;
X Boolean sampling_active ;
X Boolean first_device ;
X Fetus *child ;
X long event_stamp ;
X } CuWlmPart ;
X
X/*
X * The complete widget instance structure for this widget
X */
X
Xtypedef struct _CuWlmRec
X {
X CorePart core ;
X CompositePart composite ;
X CuWlmPart wlm ;
X } CuWlmRec ;
X
Xtypedef struct
X {
X int not_used ;
X } CuWlmClassPart ;
X
X/*
X * The complete widget class structure for the widget
X */
X
Xtypedef struct _CuWlmClassRec
X {
X CoreClassPart core_class ;
X CompositeClassPart composite_class ;
X CuWlmClassPart wlm_class ;
X } CuWlmClassRec ;
X
X/*
X * The name of a "constant" of the generic widget class structure
X */
X
Xextern CuWlmClassRec cuWlmClassRec ;
X
X#endif _Cu_WlmP_h
END_OF_FILE
echo shar: NEWLINE appended to \"'src/CuWlmP.h'\"
if test 7280 -ne `wc -c <'src/CuWlmP.h'`; then
echo shar: \"'src/CuWlmP.h'\" unpacked with wrong size!
fi
# end of 'src/CuWlmP.h'
fi
if test -f 'wlmCompiler/wlc.y' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'wlmCompiler/wlc.y'\"
else
echo shar: Extracting \"'wlmCompiler/wlc.y'\" \(8907 characters\)
sed "s/^X//" >'wlmCompiler/wlc.y' <<'END_OF_FILE'
X%{
X/* global declaractions */
X
XStack *fetus_stack ;
XStack *incl_stack ;
X
Xstatic Directive *directive ;
Xstatic Resource *resource ;
X
Xextern int yacc_bug ;
X
Xstatic char *resource_unify () ;
Xstatic char *perm_string = "String" ;
X
X%}
X
X%start init
X
X%union {
X float f_val ;
X int i_val ;
X char *s_val ;
X char c_val ;
X WlmDirectiveOperator op_val ;
X }
X
X%type <op_val> test_operator
X%type <s_val> resource_word
X%token <s_val> WORD
X%token <s_val> STRING
X%token IF_KEY
X%token SET_VALUES_KEY
X%token MANAGE_KEY
X%token INCL_KEY
X%token ERROR
X
X%%
X
Xinit :
X {
X Cu_stack_create ("Fetus", &fetus_stack, 100) ;
X Cu_stack_create ("Child", &ww->child_stack, 100) ;
X Cu_stack_create ("Include", &incl_stack, 10) ;
X ww->cur_depth = 0 ;
X ww->max_depth = 0 ;
X }
X | init widget_equivalent
X ;
X
Xwidget_equivalent : widget
X | inclusion
X ;
X
Xinclusion : INCL_KEY STRING
X {
X Cu_stack_push (incl_stack, (int) layout_input) ;
X layout_input = (WlmInputRecord *)XtCalloc(1, sizeof (WlmInputRecord)) ;
X read_layout ($2, layout_input) ;
X }
X ;
X
Xwidget : widget_header '{' widget_body '}'
X {
X Fetus *fetus ;
X Fetus *parent ;
X /*
X * pop off fetus stack,
X * pop children (if any) from child_stack
X * push the widget to child stack
X */
X fetus = (Fetus *) Cu_stack_pop (fetus_stack) ;
X parent = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X if (parent)
X {
X parent->n_children++ ;
X }
X if (fetus->n_children)
X {
X Cardinal i ;
X
X fetus->children = (Fetus **)
X XtMalloc (fetus->n_children * sizeof (Fetus *)) ;
X for (i=0; i < fetus->n_children; i++)
X {
X fetus->children[i] = (Fetus *) Cu_stack_pop (ww->child_stack) ;
X }
X }
X Cu_stack_push (ww->child_stack, (int) fetus) ;
X ww->cur_depth-- ;
X }
X ;
X
Xwidget_header : WORD
X {
X /* allocate and push onto fetus stack */
X Fetus *fetus = (Fetus *) XtMalloc (sizeof (Fetus)) ;
X fetus->class_name = $1 ;
X fetus->n_directives = 0 ;
X fetus->directives = NULL ;
X fetus->n_children = 0 ;
X fetus->n_resources = 0 ;
X fetus->resource = NULL ;
X fetus->n_manage_list = 0 ;
X fetus->manage_list = NULL ;
X Cu_stack_push (fetus_stack, (int) fetus) ;
X ww->cur_depth++ ;
X if (ww->cur_depth > ww->max_depth)
X ww->max_depth = ww->cur_depth ;
X }
X ;
X
Xwidget_body : widget_element
X | widget_body widget_element
X ;
X
Xwidget_element : directive
X {
X Fetus *fetus = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X Directive *save = fetus->directives ;
X fetus->directives = directive ;
X directive->next = save ;
X fetus->n_directives++ ;
X }
X | widget_resource
X | manage_resource
X | global_resource
X | widget_equivalent
X ;
X
Xglobal_resource : '*' resource_word STRING
X {
X Fetus *fetus = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X Resource *save = fetus->resource ;
X fetus->resource = (Resource *) XtMalloc (sizeof(Resource)) ;
X fetus->resource->name = resource_unify ($2) ;
X fetus->resource->value = $3 ;
X fetus->resource->context = WlmGlobalContext ;
X fetus->resource->next = save ;
X fetus->n_resources++ ;
X }
X ;
X
Xresource_word : WORD
X {
X }
X | WORD '*' resource_word
X {
X $$ = XtMalloc (strlen($1) + strlen($3) + 2) ;
X sprintf ($$, "%s*%s", $1, $3) ;
X }
X ;
X
Xwidget_resource : WORD STRING
X {
X Fetus *fetus = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X Resource *save = fetus->resource ;
X fetus->resource = (Resource *) XtMalloc (sizeof(Resource)) ;
X fetus->resource->name = resource_unify ($1) ;
X fetus->resource->value = $2 ;
X fetus->resource->context = WlmLocalContext ;
X fetus->resource->next = save ;
X fetus->n_resources++ ;
X }
X ;
X
Xmanage_resource : MANAGE_KEY manage_args
X ;
X
Xmanage_args : manage_arg
X | manage_args maybe_comma manage_arg
X ;
X
Xmanage_arg : STRING ':' WORD STRING
X {
X /* For now, presume that "Button" is the only valid class */
X Fetus *fetus = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X WlmManageItem *save = fetus->manage_list ;
X fetus->manage_list = (WlmManageItem *) XtMalloc (sizeof(WlmManageItem)) ;
X fetus->manage_list->widget = $1 ;
X fetus->manage_list->type = $3 ;
X fetus->manage_list->value = $4 ;
X fetus->manage_list->next = save ;
X fetus->n_manage_list++ ;
X }
X | STRING
X {
X Fetus *fetus = (Fetus *) Cu_stack_peek (fetus_stack, STACK_NEXT_POP) ;
X WlmManageItem *save = fetus->manage_list ;
X fetus->manage_list = (WlmManageItem *) XtMalloc (sizeof(WlmManageItem)) ;
X fetus->manage_list->widget = $1 ;
X fetus->manage_list->type = perm_string ;
X fetus->manage_list->value = $1 ;
X fetus->manage_list->next = save ;
X fetus->n_manage_list++ ;
X }
X ;
X
Xdirective : directive_head callback_name '(' test_group ')' r_target_info
X | directive_head callback_name '(' test_group ')' f_target_info
X ;
X
Xdirective_head : IF_KEY
X {
X /* Make sure that everything is zeroed */
X directive = (Directive *) XtCalloc (1, sizeof(Directive)) ;
X directive->n_call_comparisons = 0 ;
X }
X ;
X
Xcallback_name : WORD
X {
X directive->callback_name = $1 ;
X }
X ;
X
Xtest_group :
X | test_series
X ;
X
Xtest_series : test_pair
X | test_series test_conjunction test_pair
X ;
X
Xtest_pair : WORD STRING test_operator WORD test_indices
X {
X directive->call_data_converter[directive->n_call_comparisons] = $1 ;
X directive->call_data[directive->n_call_comparisons] = $2 ;
X directive->call_data_operator[directive->n_call_comparisons] = $3 ;
X directive->n_call_comparisons++ ;
X }
X | WORD test_indices test_operator WORD STRING
X {
X directive->call_data_converter[directive->n_call_comparisons] = $4 ;
X directive->call_data[directive->n_call_comparisons] = $5 ;
X directive->call_data_operator[directive->n_call_comparisons] = $3 ;
X directive->n_call_comparisons++ ;
X }
X ;
X
Xr_target_info : SET_VALUES_KEY '(' r_target_args ')'
X ;
X
Xr_target_args : target_class target_name ',' resource_name maybe_comma resource_value
X ;
X
Xf_target_info : procedure_name '(' f_target_args ')'
X ;
X
Xf_target_args : target_class target_name target_args
X ;
X
Xmaybe_comma :
X | ','
X ;
X
Xtarget_class : WORD
X {
X directive->target_class = $1 ;
X }
X
Xtarget_name : STRING
X {
X directive->target_name = $1 ;
X }
X
Xresource_name : WORD
X {
X directive->resource.name = resource_unify ($1) ;
X }
X
Xprocedure_name : WORD
X {
X directive->procedure = $1 ;
X directive->n_arguments = 0 ;
X }
X
Xresource_value : STRING
X {
X directive->resource.value = $1 ;
X }
X
Xtarget_args :
X | ',' argument_list
X ;
X
Xargument_list : argument
X | argument_list ',' argument
X ;
X
Xargument : WORD STRING
X {
X directive->argument_converters[directive->n_arguments] = $1 ;
X directive->argument_strings[directive->n_arguments] = $2 ;
X directive->n_arguments++ ;
X }
X ;
X
Xtest_conjunction : '&' '&'
X ;
X
Xtest_operator : '=' '='
X {
X $$ = WlmDirectiveEquivalence ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X | '!' '='
X {
X $$ = WlmDirectiveNonEquivalence ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X | '>'
X {
X $$ = WlmDirectiveGreaterThan ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X | '<'
X {
X $$ = WlmDirectiveLessThan ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X | '>' '='
X {
X $$ = WlmDirectiveGreaterThanOrEqualTo ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X | '<' '='
X {
X $$ = WlmDirectiveLessThanOrEqualTo ;
X directive->n_call_indices[directive->n_call_comparisons] = 0 ;
X }
X ;
X
Xtest_indices :
X | index_series
X ;
X
Xindex_series : test_index
X | index_series test_index
X ;
X
Xtest_index : '[' WORD ']'
X {
X directive->call_data_index[directive->n_call_comparisons]
X [directive->n_call_indices[directive->n_call_comparisons]] = atoi($2) ;
X directive->n_call_indices[directive->n_call_comparisons]++ ;
X }
X ;
X
X%%
X
X/*
X * -v => y.output
X * -d => y.tab.h
X * -l => no #lines (for -g (cc))
X *
X * left recursion is better (as in init above)
X */
X
X#include <ctype.h>
X
Xstatic char *
Xresource_unify (string)
X char *string ;
X{
X/* replace occurrences of "_x" with "X" */
Xint length = strlen (string) ;
XCardinal i, j ;
XCardinal start =0 ;
X
Xif (strncmp (string, "XtN", 3) == 0)
X start = 3 ;
X
Xfor (i=start; i < length-1; i++)
X {
X if (string[i] == '_' && islower(string[i+1]))
X {
X string[i] = toupper(string[i+1]) ;
X for (j=i+1; j < length-1; j++)
X string[j] = string[j+1] ;
X string[j] = '\0' ;
X }
X }
X
Xreturn &string[start] ;
X}
X
Xstatic int
Xyywrap ()
X{
XXtFree (layout_input->input_buffer) ;
XXtFree (layout_input) ;
X
Xif (Cu_stack_size (incl_stack) == 0)
X {
X return 1 ;
X }
X
Xlayout_input = (WlmInputRecord *) Cu_stack_pop (incl_stack) ;
Xreturn 0 ;
X}
X
X#include "wlc.lex.c"
END_OF_FILE
echo shar: NEWLINE appended to \"'wlmCompiler/wlc.y'\"
if test 8908 -ne `wc -c <'wlmCompiler/wlc.y'`; then
echo shar: \"'wlmCompiler/wlc.y'\" unpacked with wrong size!
fi
# end of 'wlmCompiler/wlc.y'
fi
echo shar: End of archive 9 \(of 12\).
cp /dev/null ark9isdone
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
More information about the Comp.sources.x
mailing list