#
#	Create an option menu with labels, callbacks, and separators
#
#	I.E.:
#		XrerCreateOptionMenu handle $parent \
#				        "Item 1" "Callback 1" \
#				        SEP \
#			       		 "Item 2" "Callback 2" \
#				        "Item 3" "Callback 3" \
#
function XrerCreateOptionMenu # var parent [label cb] ...
{
	typeset Var=$1 menu
	typeset Parent=$2
	typeset ${Var}_pd pd
	typeset ${Var}_item i

	shift 2

	XmCreatePulldownMenu ${Var}_pd $Parent ${Var}_pd \

	eval pd=\$${Var}_pd

	((i=0))
	while (($# != 0))
	do
		if [ "$1" == "SEP" ]; then
			cmw ${Var}_item[$i] ${Var}_item$i separator $pd \

			shift
		else
			cmw ${Var}_item[$i] ${Var}_item$i pushButton $pd \
                                labelString:"$1" \
                                activateCallback:"$2" \

			shift 2
		fi
		((i=i+1))
	done

	XmCreateOptionMenu ${Var} $Parent ${Var} \
                                subMenuId:$pd \

	eval menu=\$${Var}
	XtManageChildren $menu
}
