! These two lines are just for prototyping the interface with Mri
Mri.wcChildren:         TransformFunctionMenu
Mri.geometry:       120x160

*TransformFunctionMenu.wcConstructor:        XtCreateTransientShell
*TransformFunctionMenu.geometry:      350x300
*TransformFunctionMenu.wcChildren:    bb
*TransformFunctionMenu.title:    Main Transform Function Menu

! Each possible transform which requires a configuration panel of its
! own should be added to this list of popups.

*TransformFunctionMenu.wcPopups:    LinearTransform, DataRangeTransform,\
                                    StepTransform, BooleanTransform, \
				    PassThroughTransform

*TransformFunctionMenu.bb.wcConstructor:   CreateTable
*TransformFunctionMenu.bb.wcChildren:    tfmenu, frame, dismiss
*TransformFunctionMenu.bb.layout:    tfmenu 0 0 ; frame 0 1 ; dismiss 0 2


! For each transform function (numbered X) tfmenu has a child 
! XmToggleButton with a name of the form funcX. This name is
! important, because the callback knows what function to pick based
! on the widget name. This is an awful kludge to get around the fact
! that the callback data holds the member object data.

! So add your child here.

! *TransformFunctionMenu.bb.tfmenu*XmToggleButton*fillOnSelect: false
*TransformFunctionMenu.bb.tfmenu.wcConstructor:	XmCreateRadioBox
*TransformFunctionMenu.bb.tfmenu.wcChildren:	func0, func1, func2, func3, func4

! DoneRunningCB means the end of the transform function configuration.

*TransformFunctionMenu.bb.tfmenu.func0.wcClassName:  XmToggleButton
*TransformFunctionMenu.bb.tfmenu.func0.labelString:  Pass Through
*TransformFunctionMenu.bb.tfmenu.func0.valueChangedCallback:  SelectTransformFunctionCB

! Linear sets its menu insensitive while it is configured, 
! calls SelectTransformFunctionCB, and pops up its own menu.

! Note that DoneRunningCB is *not* called until "OK" is clicked in the
! LinearTransform menu. This gives a person the option to "Cancel"
! and return to this menu, to select another transform.

*TransformFunctionMenu.bb.tfmenu.func1.wcClassName:  XmToggleButton
*TransformFunctionMenu.bb.tfmenu.func1.labelString:  Linear

*TransformFunctionMenu.bb.tfmenu.func1.valueChangedCallback:  SelectTransformFunctionCB


*TransformFunctionMenu.bb.tfmenu.func2.wcClassName:  XmToggleButton
*TransformFunctionMenu.bb.tfmenu.func2.labelString:  Data Range

*TransformFunctionMenu.bb.tfmenu.func2.valueChangedCallback:  SelectTransformFunctionCB

*TransformFunctionMenu.bb.tfmenu.func3.wcClassName:  XmToggleButton
*TransformFunctionMenu.bb.tfmenu.func3.labelString:  Step
*TransformFunctionMenu.bb.tfmenu.func3.valueChangedCallback:  \
            SelectTransformFunctionCB

*TransformFunctionMenu.bb.tfmenu.func4.wcClassName:  XmToggleButton 
*TransformFunctionMenu.bb.tfmenu.func4.labelString:  Boolean
*TransformFunctionMenu.bb.tfmenu.func4.valueChangedCallback:  \
	    SelectTransformFunctionCB

*frame.wcConstructor:    XmCreateFrame
*frame.wcChildren:       currentselection

*currentselection.wcConstructor:  XmCreateRowColumn
*currentselection.wcChildren:   dismisslabel, transformlabel

*dismisslabel.wcClassName: XmLabel
*dismisslabel.labelString: Currently Selected Transform Function:

*transformlabel.wcConstructor:   XmCreateScrolledText
*transformlabel.editable: False

*dismiss.wcConstructor:   XmCreatePushButton
*dismiss.labelString:     Selection OK
*dismiss.activateCallback:     \
	      revertTransformFunctionCB, doneRunningCB

! Finally, if you add a menu, write a file for it in this directory
! and add a line to specify the filename below

*LinearTransform.wcResFile:         Sound/LinearTransform
*DataRangeTransform.wcResFile:      Sound/DataRangeTransform
*StepTransform.wcResFile:           Sound/StepTransform
*BooleanTransform.wcResFile:        Sound/BooleanTransform
*PassThroughTransform.wcResFile:    Sound/PassThroughTransform
