#!/bin/sh
# this shellscript extracts:
#  after
#  bind
#  destroy
#  focus
#  option
#  options
#  pack
#  place
#  selection
#  send
#  tkerror
#  update
#  variables
#  winfo
#  wm
#
COL_CMD="col -b"
MAN_ARGS=""
MAN_CMD="man"
MAN_PATH=""
HELP_ROOT=./xfhelp/pages

ARGC=$#
while [ $ARGC -gt 0 ]; do
  C=$1
  shift
  ARGC=`expr $ARGC - 1`
  case $C in
  -c)
    if [ $ARGC -gt 0 ]; then
      C=$1
      shift
      ARGC=`expr $ARGC - 1`
      COL_CMD=$C
    else
      echo "makeTk error: expected col command for -c"
      exit 2
    fi;;
  -m)
    if [ $ARGC -gt 0 ]; then
      C=$1
      shift
      ARGC=`expr $ARGC - 1`
      MAN_PATH=$C
    else
      echo "makeTk error: expected pathnames for -m"
      exit 2
    fi;;
  *)
    echo "makeTk error: unknown option"
    echo "usage:"
    echo -n "makeTk "
    echo -n "[-c <col command>] "
    echo -n "[-m <man path>] "
    exit 2
  esac
done

if ( test "$COL_CMD" = "" ); then
  COL_CMD="col -b"
fi

if ( test "$MAN_PATH" = "" ); then
  MAN_PATH=$MANPATH
fi

mkdir $HELP_ROOT 1>/dev/null 2>&1
mkdir $HELP_ROOT/Tk 1>/dev/null 2>&1
mkdir $HELP_ROOT/Tk/widgets 1>/dev/null 2>&1

echo ""
echo "Extracting from: Tk-manuals"

for i in after bind destroy focus grab lbSingSel menubar option options \
	 pack place selection send tk tkerror tkwait update \
	 variables winfo wm; do
  (MANPATH=$MAN_PATH; export MANPATH; $MAN_CMD $MAN_ARGS $i 2>/dev/null) | $COL_CMD 2>/dev/null | sed -e '/^[ 	]*[0-9][0-9]*$/d' | sed -e "/$i(n)/d" | sed -e "/$i(1)/d" | sed -e "/$i(3)/d" | sed -e '/^_[_]*$/d' | uniq > $HELP_ROOT/Tk/$i.H
  LINE_NUMBER=`wc -l $HELP_ROOT/Tk/$i.H | awk '{print $1}'`
  if ( test -s $HELP_ROOT/Tk/$i.H -a $LINE_NUMBER -gt 10 ); then
    echo "Extracting: $i"
  else
    echo "I was not able to find: $i"
    rm $HELP_ROOT/Tk/$i.H 1>/dev/null 2>&1
  fi
done

