🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x
Article #37302

Shell script to extract default widget resources

#37302
From: Vic Lortz
Date: Sat, 24 Feb 1990 01:58
108 lines
4104 bytes
Hi.  This little tool makes it easy to keep the default resource
comments in public widget header files up to date.  I hope fellow
widget writers find it useful.

Vic Lortz

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  resources
# Wrapped by vbl@dip.eecs.umich.edu on Sun Feb  4 10:56:23 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f resources -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"resources\"
else
echo shar: Extracting \"resources\" \(2268 characters\)
sed "s/^X//" >resources <<'END_OF_resources'
X:
X# NAME:		resources
X#
X# USAGE:	resources widget_source.c 
X#
X# AUDIENCE:	Xt widget writers
X#
X# DESCRIPTION:
X#
X#	This /bin/sh script extracts a summary of Xt widget
X#	resource declarations from a widget source file.  The output
X#	is in the form of a C comment suitable for inclusion in the
X#	widget's public ".h" file.  Multiple resource declarations in
X#	the same file are allowed.  For example:
X#
X#	static XtResource resources[] = {
X#	#define offset(field) XtOffset(MapWidget, map.field)
X#	{ XtNcolorLabels, XtCColorLabels, XtRBoolean, sizeof(Boolean),
X# 	  offset(color_labels), XtRString, (caddr_t) "False" },
X#	{ XtNcursor, XtCCursor, XtRCursor, sizeof(Cursor),
X# 	  XtOffset(MapWidget, simple.cursor), XtRString, "gumby" },
X#	{ XtNhighlightWidth, XtCHighlightWidth, XtRDimension, sizeof(Dimension),
X# 	  offset(highlight_width), XtRImmediate, (caddr_t) 10 },
X#	#undef offset
X#	};
X#
X#	The output given the above declaration is:
X#
X#	/************************  Default Widget Resources  *****************
X#	
X#	static XtResource resources[] = {
X#	Name                 Class              RepType          Default Value  
X#	----                 -----              -------          ------------- 
X#	XtNcolorLabels       ColorLabels        Boolean          "False"        
X#	XtNcursor            Cursor             Cursor           "gumby"        
X#	XtNhighlightWidth    HighlightWidth     Dimension        10            
X#	*/
X#
X# AUTHOR:  Vic Lortz  (vbl@dip.eecs.umich.edu)
X#	   2/2/90
X#
X
Xcase $# in
X  1) ;;
X  *) echo "usage: $0 widget_source.c"; exit 1;;
Xesac
X    
Xsed -n '/XtResource.*\[\]/,/} *;/p' $1 | sed -n '
X/XtResource.*\[\]/p
X/^[ 	]*{/ {
X   N
X   /^$/d
X   /^[^}][^}]*$/N
X   s/[	 \n{}]//g
X   s/\([{,] *\)Xt[NRC]/\1/g
X   s/[(]caddr_t[)]//
X   s/[(]XtPointer[)]//
X   s/XtOffset[	 (a-zA-Z_0-9]*,//
X   p
X   }' | awk -f"," '
X    BEGIN { printf "%s\n",\
X    "/************************  Default Widget Resources  *****************"
X    }
X    /XtResource.*\[\]/ { 
X      printf "\n%s\n",$0
X      printf "%-20s %-18s %-16s %-18s\n",\
X	 "Name","Class","RepType","Default Value"
X      printf "%-20s %-18s %-16s %-18s\n",\
X	 "----","-----","-------","-------------" 
X    }
X    ! /XtResource.*\[\]/ { printf "%-20s %-18s %-16s %-18s\n",$1,$2,$3,$7 }
X    END { print "*/" }'
X
END_OF_resources
if test 2268 -ne `wc -c <resources`; then
    echo shar: \"resources\" unpacked with wrong size!
fi
chmod +x resources
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0

##
##  Disclaimer:  My company hasn't the faintest what I do... I'm at
##		 graduate school now.
Technical Details
Message-ID: <1542@zipeecs.umich.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!yale!umich!umeecs!dip.eecs.umich.edu!vbl

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!yale!umich!umeecs!dip.eecs.umich.edu!vbl
From: vbl@dip.eecs.umich.edu (Vic Lortz)
Newsgroups: comp.windows.x
Subject: Shell script to extract default widget resources
Message-ID: <1542@zipeecs.umich.edu>
Date: 24 Feb 90 01:58:18 GMT
Sender: news@zip.eecs.umich.edu
Reply-To: vbl@dip.eecs.umich.edu (Vic Lortz)
Organization: University of Michigan EECS Dept., Ann Arbor, MI
Lines: 108