 !!
!! $RCSfile: Text.uil,v $
!!
!! Copyright (C) 1992 by Adobe Systems Incorporated.
!! All rights reserved.
!!
!! Permission to use, copy, modify, and distribute this software and its
!! documentation for any purpose and without fee is hereby granted,
!! provided that the above copyright notices appear in all copies and that
!! both those copyright notices and this permission notice appear in
!! supporting documentation and that the name of Adobe Systems
!! Incorporated not be used in advertising or publicity pertaining to
!! distribution of the software without specific, written prior
!! permission.  If any portion of this software is changed, it cannot be
!! marketed under Adobe's trademarks and/or copyrights unless Adobe, in
!! its sole discretion, approves by a prior writing the quality of the
!! resulting implementation.
!!
!! ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
!! ANY PURPOSE.  IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
!! ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
!! IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND
!! NON-INFRINGEMENT OF THIRD PARTY RIGHTS.  IN NO EVENT SHALL ADOBE BE LIABLE
!! TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
!! DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
!! NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
!! CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  ADOBE WILL NOT
!! PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
!!
!! PostScript, Display PostScript, and Adobe are trademarks of Adobe Systems
!! Incorporated registered in the U.S.A. and other countries.
!!
!! Author: Adobe Systems Incorporated
!!

!!***************************************************************
!! MODULE DECLARATIONS
!!***************************************************************

!!
!! module Text
!!
module Text
	version = 'v1.0'
	names = case_sensitive
	objects =
	{
		XmCascadeButton	= gadget ;
		XmPushButton	= gadget ;
		XmSeparator	= gadget ;
		XmToggleButton	= gadget ;
        }


!!***************************************************************
!! PROCEDURE DECLARATIONS
!!***************************************************************

procedure
	resizeWindow	();
	refreshWindow	();
	createProc		(integer);
	quitApp			();
	errorOkProc		();

procedure
	infoProc		(integer);
	traceProc		();
	reshowProc		();
		
procedure
	justifySel		(integer);
	spacingSel		(integer);
	showSel			(integer);
	sizeSel			(integer);
	issuesSel		(integer);
	compSel			(integer);
	magSel			(integer);
	scrollProc		();

!!***************************************************************
!! VALUE DECLARATIONS
!!***************************************************************

!!
!! the following list is duplicated in patt.c for identification
!! of widgets as they are created
!!
value
cOptionBox			: 0;
cErrorBox			: 1;
cMainDrawArea		: 2;
cTextDrawArea		: 3;
cTimingText0		: 4;
cTimingText1		: 5;
cTimingText2		: 6;
cStatusText0		: 7;
cStatusText1		: 8;
cStatusText2		: 9;
cStatusText3		: 10;
cStatusText4		: 11;
cStatusText5		: 12;
cStatusText6		: 13;
cCompButton0		: 14;
cCompButton1		: 15;
cTraceToggle		: 16;
cHsb			: 17;
cVsb			: 18;

!!
!! ADOBE FONTS
!!
value
	hel_bold_font12 :
 	 font('-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1');
	hel_bold_font14 :
  	font('-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1');
	hel_bold_font18 :
	  font('-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1');
	newcenturyschlbk_bold24 :
	  font('-adobe-new century schoolbook-bold-r-normal--24-240-75-75-p-149-iso8859-1');

	dialogFont		: hel_bold_font12;
	textFont		: hel_bold_font12;
	labelFont		: hel_bold_font14;
	buttonFont		: hel_bold_font14;
	bigFont			: hel_bold_font18;
	jumboFont		: newcenturyschlbk_bold24;


!!
!! general constant values
!!
value
	vLabelOffset	: 7;	! pixels
	vFrameShadow	: XmSHADOW_ETCHED_IN;

!!
!! main window constant values
!!
value
	vMainWidth		: 550;	! pixels
	vMainHeight		: 700;	! pixels

!!
!! option box constant values
!!
value
	vTopPosition	: 2;	! percent
	vBottomPosition	: 98;	! percent

	vLeftPosition	: 2;	! percent
	vRightPosition	: 98;	! percent
	vLeftCenter	: 49;	! percent
	vRightCenter	: 51;	! percent

	vTimingTop	: 25;	! percent
	vArrowTop	: 2;	! percent

	vOptionMargin	: 20;	! pixels
	vSizeMargin	: 40;	! pixels

	vSizeMarginHt	: 3;	! pixels
	vCompMarginHt	: 1;	! pixels

	vJustifySpacing	: 20;	! pixels

!!
!! error box constant values
!!
value
		vErrorTitle		: "Text - ERROR";

value
    JustifyCt     : color_table ( background color =' ',
        foreground color = '.' );

value
    vJustifyIcon0 : icon (color_table=JustifyCt,
        '                                             ',
        '                                             ',
        '                                             ',
        '    ....................................     ',
        '                                             ',
        '                                             ',
        '    ................................         ',
        '                                             ',
        '                                             ',
        '    ..................................       ',
        '                                             ',
        '                                             ',
        '    ..........................               ',
        '                                             ',
        '                                             ',
        '                                             ');

    vJustifyIcon1 : icon (color_table=JustifyCt,
        '                                             ',
        '                                             ',
        '                                             ',
        '    ....................................     ',
        '                                             ',
        '                                             ',
        '    ....................................     ',
        '                                             ',
        '                                             ',
        '    ....................................     ',
        '                                             ',
        '                                             ',
        '    ....................................     ',
        '                                             ',
        '                                             ',
        '                                             ');

!!***************************************************************
!! TOP LEVEL WIDGETS
!!***************************************************************

!!
!! The main window widget.  This displays the pattern drawing.
!!
object MainWindow : XmMainWindow
{
    arguments
    {
        XmNheight   = vMainHeight;
        XmNwidth    = vMainWidth ;
    };
    controls
    {
        XmMenuBar           mMenuBar;
        XmScrolledWindow    mScrolled;
    };
};

!!
!! The option box is used to specify pattern drawing options
!!
object OptionBox : XmBulletinBoardDialog
{
    arguments
    {
        XmNdialogStyle	= XmDIALOG_MODELESS;

        XmNmarginWidth	= vOptionMargin;
    };
    controls
    {
		XmForm		oOptionBoxForm;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cOptionBox);
    };
};

!!***************************************************************
!! Main window menu bar
!!***************************************************************

object mMenuBar : XmMenuBar           
{
	controls
	{
		XmCascadeButton mCommandButton;
	};
};

object mCommandButton : XmCascadeButton
{
	arguments
    {
        XmNfontList    = buttonFont;
    };
    controls
    {
        XmPulldownMenu mCommandMenu;
    };
};

object mCommandMenu : XmPulldownMenu
{
    controls
    {
        XmToggleButton  mTraceButton;
        XmSeparator     {};
        XmPushButton    mQuitButton;
    };
};

object mTraceButton : XmToggleButton
{
    arguments
    {
        XmNfontList    = buttonFont;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cTraceToggle);
        XmNvalueChangedCallback = procedure traceProc ();
    };
};

object mQuitButton : XmPushButton
{
    arguments
    {
        XmNfontList    = buttonFont;
    };
    callbacks
    {
        XmNactivateCallback = procedure quitApp ();
    };
};
 
!!***************************************************************
!! Main window scrolled drawing area
!!***************************************************************
object mScrolled : XmScrolledWindow    
{
	arguments
	{
		XmNheight			= vMainHeight;
		XmNwidth			= vMainWidth ;
		XmNhorizontalScrollBar		= XmScrollBar mHsb;
		XmNverticalScrollBar		= XmScrollBar mVsb;
		XmNworkWindow			= XmDrawingArea mDrawArea;
	} ;
	controls
	{
		XmScrollBar		mHsb;
		XmScrollBar		mVsb;
		XmDrawingArea   mDrawArea ;
	} ;
} ;

object mHsb : XmScrollBar
{
	arguments
	{
		XmNorientation			= XmHORIZONTAL;
		XmNincrement			= 50;
		XmNpageIncrement		= 300;
	};
	callbacks
	{
        MrmNcreateCallback = procedure createProc (cHsb);
		XmNvalueChangedCallback	= procedure scrollProc();
		XmNdragCallback		= procedure scrollProc ();
	};
};

object mVsb : XmScrollBar
{
	arguments
	{
		XmNorientation			= XmVERTICAL;
		XmNincrement			= 50;
		XmNpageIncrement		= 300;
	};
	callbacks
	{
        MrmNcreateCallback = procedure createProc (cVsb);
		XmNvalueChangedCallback	= procedure scrollProc ();
		XmNdragCallback		= procedure scrollProc ();
	};
};

object mDrawArea : XmDrawingArea
{
	arguments
	{
	};
	callbacks
	{
        MrmNcreateCallback = procedure createProc (cMainDrawArea);
		XmNexposeCallback = procedure refreshWindow ();
		XmNresizeCallback = procedure resizeWindow();
	};
};

!!***************************************************************
!! Option box top form
!!***************************************************************
object oOptionBoxForm : XmForm
{
    controls
    {
        XmFrame     oOptionFrame;
        XmFrame     oStatFrame;
    };
};

object oOptionFrame : XmFrame
{
    arguments
    {
	XmNshadowType           = vFrameShadow ;
	XmNleftAttachment       = XmATTACH_FORM ;
	XmNrightAttachment      = XmATTACH_FORM ;
	XmNtopAttachment        = XmATTACH_FORM ;
    };
    controls
    {
		XmForm			oOptionForm;
    };
};

object oOptionForm : XmForm
{
    controls
    {
                XmForm                  oLeftOptionForm;
                XmForm                  oRightOptionForm;
    };
};

object oLeftOptionForm : XmForm
{
    arguments
	{
		XmNleftAttachment   = XmATTACH_POSITION ;
		XmNleftPosition		= vLeftPosition;
		XmNrightAttachment  = XmATTACH_POSITION ;
		XmNrightPosition	= vLeftCenter;

		XmNtopAttachment	= XmATTACH_FORM ;
		XmNbottomAttachment	= XmATTACH_FORM ;
    };
    controls
    {
        XmLabel         oJustifyTitle;
        XmFrame         oJustifyFrame;
        XmLabel         oShowTitle;
        XmFrame         oShowFrame;
        XmLabel         oCompTitle;
        XmFrame         oCompFrame;
        XmPushButton    oReshowButton;
    };
};

object oRightOptionForm : XmForm
{
    arguments
	{
		XmNleftAttachment   = XmATTACH_POSITION ;
		XmNleftPosition		= vRightCenter;
		XmNrightAttachment  = XmATTACH_POSITION ;
		XmNrightPosition	= vRightPosition;

		XmNtopAttachment	= XmATTACH_FORM ;
		XmNbottomAttachment	= XmATTACH_FORM ;
    };
    controls
    {
        XmLabel         oSizeTitle;
        XmFrame         oSizeFrame;
        XmLabel         oSpacingTitle;
        XmFrame         oSpacingFrame;
        XmLabel         oIssuesTitle;
        XmFrame         oIssuesFrame;
        XmLabel         oMagTitle;
        XmFrame         oMagFrame;
    };
};

!!***************************************************************
!! Option box justification selection
!!***************************************************************
object oJustifyTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_FORM ;
    };
};

object oJustifyFrame : XmFrame
{
	arguments
	{
		XmNmarginHeight		=	1;
		XmNmarginWidth		=	vOptionMargin;
		XmNshadowType		=	vFrameShadow ;
		XmNleftAttachment	=	XmATTACH_FORM ;
		XmNrightAttachment	=	XmATTACH_FORM ;

		XmNtopAttachment	=	XmATTACH_WIDGET ;
		XmNtopWidget		=	XmLabel oJustifyTitle ;
	};
	controls
	{
		XmRadioBox				oJustifyRadioBox ;
	};
};

object oJustifyRadioBox : XmRadioBox
{
    arguments
    {
                XmNorientation          = XmHORIZONTAL;
                XmNpacking                      = XmPACK_COLUMN ;
                XmNspacing              = vJustifySpacing;
    };
    controls
    {
        XmToggleButton  oJustifyButton0;
        XmToggleButton  oJustifyButton1;
    };
};

object oJustifyButton0 : XmToggleButton
{
    arguments
    {
        XmNset         = true;

        XmNlabelType            = XmPIXMAP;
        XmNlabelPixmap          = vJustifyIcon0;
        XmNselectPixmap     	= vJustifyIcon0;
		XmNshadowThickness		= 4;
        XmNindicatorOn          = false;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure justifySel (0);
    };
};

object oJustifyButton1 : XmToggleButton
{
    arguments
    {
        XmNset         = false;

        XmNlabelType            = XmPIXMAP;
        XmNlabelPixmap          = vJustifyIcon1;
        XmNselectPixmap       	= vJustifyIcon1;
		XmNshadowThickness		= 4;
        XmNindicatorOn          = false;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure justifySel (1);
    };
};

!!***************************************************************
!! Option box Show Manner selection
!!***************************************************************
object oShowTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_WIDGET ;
		XmNtopWidget      	= XmFrame oJustifyFrame;
    };
};

object oShowFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vOptionMargin;
		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment   = XmATTACH_FORM ;
		XmNrightAttachment  = XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget      	= XmLabel oShowTitle;
    };
	controls
    {
		XmRadioBox				oShowRadioBox;
    };
};

object oShowRadioBox : XmRadioBox
{
    arguments
    {
        XmNorientation   = XmVERTICAL;
        XmNisHomogeneous = true;
    };
    controls
    {
        XmToggleButton   oShowButton0;
        XmToggleButton   oShowButton1;
        XmToggleButton   oShowButton2;
    };
};

object oShowButton0 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = true;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure showSel (0);
    };
};

object oShowButton1 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure showSel (1);
    };
};

object oShowButton2 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure showSel (2);
    };
};

!!***************************************************************
!!***************************************************************
!! Option box comparisons selection
!!***************************************************************
object oCompTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_WIDGET ;
		XmNtopWidget      	= XmFrame oShowFrame;
    };
};

object oCompFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vOptionMargin;
		XmNmarginHeight		= vCompMarginHt;
		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment   = XmATTACH_FORM ;
		XmNrightAttachment  = XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget      	= XmLabel oCompTitle;
    };
    controls
    {
                XmRadioBox          oCompRadioBox ;
    };
};

object oCompRadioBox : XmRadioBox
{
    arguments
    {
	XmNradioAlwaysOne	= false;
    };
    controls
    {
        XmToggleButton  oCompButton0;
        XmToggleButton  oCompButton1;
        XmToggleButton  oCompButton2;
    };
};

object oCompButton0 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {  
        MrmNcreateCallback = procedure createProc (cCompButton0);
        XmNvalueChangedCallback = procedure compSel (0);
    };
};

object oCompButton1 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cCompButton1);
        XmNvalueChangedCallback = procedure compSel (1);
    };
};

object oCompButton2 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cCompButton1);
        XmNvalueChangedCallback = procedure compSel (2);
    };
};

!!***************************************************************
!! Option box reshow button
!!***************************************************************
object oReshowButton : XmPushButton
{
    arguments
	{
		XmNfontList    = buttonFont;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;
                XmNtopAttachment        = XmATTACH_WIDGET;
                XmNtopWidget            = XmFrame oCompFrame;
		XmNtopOffset            = vLabelOffset;
	};
    callbacks
	{
		XmNactivateCallback = procedure reshowProc ();
	};
};

!!***************************************************************
!! Option box size issues selection
!!***************************************************************
object oSizeTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_FORM ;
    };
};

object oSizeFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vSizeMargin;
		XmNmarginHeight		= vSizeMarginHt;
		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment   = XmATTACH_FORM ;
		XmNrightAttachment  = XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget      	= XmLabel oSizeTitle;
    };
    controls
    {
        XmOptionMenu		oSizeOptionMenu;
    };
};

object oSizeOptionMenu : XmOptionMenu
{
    arguments
    {
        XmNmenuHistory    = XmPushButton oSizeButton2;
    };
    controls
    {
        XmPulldownMenu oSizeMenu;
    };
};

object oSizeMenu : XmPulldownMenu
{
    controls
    {
        XmPushButton    oSizeButton0;
        XmPushButton    oSizeButton1;
        XmPushButton    oSizeButton2;
    };
};

object oSizeButton0 : XmPushButton
{
    arguments
    {
        XmNfontList    = buttonFont;
    };
    callbacks
    {
        XmNactivateCallback = procedure sizeSel (0);
    };
};
        
object oSizeButton1 : XmPushButton
{
    arguments
    {
        XmNfontList    = buttonFont;
    };
    callbacks
    {
        XmNactivateCallback = procedure sizeSel (1);
    };
};
        
object oSizeButton2 : XmPushButton
{
    arguments
    {
        XmNfontList    = buttonFont;
    };
    callbacks
    {
        XmNactivateCallback = procedure sizeSel (2);
    };
};
        

!!***************************************************************
!! Option box spacing selection
!!***************************************************************
object oSpacingTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment        = XmATTACH_WIDGET ;
		XmNtopWidget        	= XmFrame oSizeFrame ;
    };
};

object oSpacingFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vOptionMargin;
		XmNshadowType           = vFrameShadow ;
		XmNleftAttachment       = XmATTACH_FORM ;
		XmNrightAttachment      = XmATTACH_FORM ;

		XmNtopAttachment        = XmATTACH_WIDGET ;
		XmNtopWidget        	= XmLabel oSpacingTitle ;
    };
    controls
    {
                XmRowColumn               oSpacingRowColumn ;
    };
};

object oSpacingRowColumn : XmRowColumn
{
    controls
    {
        XmToggleButton  oSpacingButton0;
        XmToggleButton  oSpacingButton1;
    };
};

object oSpacingButton0 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure spacingSel (0);
    };
};

object oSpacingButton1 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure spacingSel (1);
    };
};

!!***************************************************************
!! Option box font issues selection
!!***************************************************************
object oIssuesTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_WIDGET ;
		XmNtopWidget      	= XmFrame oSpacingFrame;
    };
};

object oIssuesFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vOptionMargin;
		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment   = XmATTACH_FORM ;
		XmNrightAttachment  = XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget      	= XmLabel oIssuesTitle;
    };
    controls
    {
                XmRowColumn           oIssuesRowColumn;
    };
};

object oIssuesRowColumn : XmRowColumn
{
    controls
    {
        XmToggleButton  oIssuesButton0;
        XmToggleButton  oIssuesButton1;
    };
};

object oIssuesButton0 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = true;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure issuesSel (0);
    };
};

object oIssuesButton1 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
        XmNset         = false;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure issuesSel (1);
    };
};

!!***************************************************************
!! Option box magnification selection
!!***************************************************************
object oMagTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_WIDGET ;
		XmNtopWidget      	= XmFrame oIssuesFrame;
    };
};

object oMagFrame : XmFrame
{
    arguments
    {
		XmNmarginWidth		= vOptionMargin;

		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment   = XmATTACH_FORM ;
		XmNrightAttachment  = XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget      	= XmLabel oMagTitle;
		XmNbottomAttachment	= XmATTACH_FORM ;
		XmNbottomOffset		= 10;
    };
    controls
    {
        XmRadioBox      oMagRadioBox;
    };
};

object oMagRadioBox : XmRadioBox
{
    arguments
    {
        XmNorientation  	= XmVERTICAL;
        XmNisHomogeneous	= true;
		XmNpacking			= XmPACK_COLUMN;
		XmNnumColumns		= 2;
    };
    controls
    {
        XmToggleButton  oMagButton0;
        XmToggleButton  oMagButton1;
        XmToggleButton  oMagButton2;
        XmToggleButton  oMagButton3;
        XmToggleButton  oMagButton4;
        XmToggleButton  oMagButton5;
        XmToggleButton  oMagButton6;
        XmToggleButton  oMagButton7;
    };
};

object oMagButton0 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (25);
    };
};

object oMagButton1 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (50);
    };
};

object oMagButton2 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (100);
    };
};

object oMagButton3 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (200);
    };
};

object oMagButton4 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (400);
    };
};

object oMagButton5 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (600);
    };
};

object oMagButton6 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (1000);
    };
};

object oMagButton7 : XmToggleButton
{
    arguments
    {
	XmNfontList    = labelFont ;
    };
    callbacks
    {
        XmNvalueChangedCallback = procedure magSel (1700);
    };
};

!!***************************************************************
!! Option box stats display
!!***************************************************************
object oStatFrame : XmFrame
{
    arguments
    {
		XmNshadowType           = vFrameShadow ;
		XmNleftAttachment       = XmATTACH_FORM ;
		XmNrightAttachment      = XmATTACH_FORM ;

                XmNtopAttachment        = XmATTACH_WIDGET;
                XmNtopWidget            = oOptionFrame;
		XmNtopOffset		= 15;
		XmNbottomAttachment	= XmATTACH_FORM ;
    };
    controls
    {
		XmForm			oStatForm;
    };
};

object oStatForm : XmForm
{
    controls
    {
                XmForm                  oLeftStatForm;
                XmForm                  oRightStatForm;
    };
};

object oLeftStatForm : XmForm
{
    arguments
	{
		XmNleftAttachment   = XmATTACH_POSITION ;
		XmNleftPosition		= vLeftPosition;
		XmNrightAttachment  = XmATTACH_POSITION ;
		XmNrightPosition	= vLeftCenter;

		XmNtopAttachment  = XmATTACH_POSITION ;
		XmNtopPosition	= vTimingTop;
    };
    controls
    {
        XmLabel         oTimingTitle;
        XmFrame         oTimingFrame;
    };
};

object oRightStatForm : XmForm
{
    arguments
	{
		XmNleftAttachment   = XmATTACH_POSITION ;
		XmNleftPosition		= vRightCenter;
		XmNrightAttachment  = XmATTACH_POSITION ;
		XmNrightPosition	= vRightPosition;

		XmNtopAttachment	= XmATTACH_FORM ;
		XmNbottomAttachment	= XmATTACH_FORM ;
    };
    controls
    {
        XmLabel         oStatusTitle;
        XmFrame         oStatusFrame;
    };
};


!!***************************************************************
!! Option box timing display 
!!***************************************************************
object oTimingTitle : XmLabel
{
    arguments
	{
		XmNalignment   = XmALIGNMENT_CENTER;
		XmNfontList    = labelFont ;
		XmNmarginTop        = vLabelOffset;

		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment	= XmATTACH_FORM ;
    };
};

object oTimingFrame : XmFrame
{
	arguments
	{
		XmNshadowType       = vFrameShadow ;
                XmNleftAttachment       = XmATTACH_FORM;
                XmNrightAttachment      = XmATTACH_FORM;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget		= XmLabel oTimingTitle;
		XmNbottomAttachment = XmATTACH_POSITION ;
		XmNbottomPosition	= vBottomPosition;
	};
	controls
	{
		XmRowColumn      oTimingRowColumn;
	};
};

object oTimingRowColumn : XmRowColumn
{
	arguments
	{
		XmNnumColumns = 3;
		XmNorientation = XmHORIZONTAL;
		XmNpacking = XmPACK_COLUMN;
	};
	controls
	{
		XmLabel     oTimingLabel0;
		XmLabel      oTimingText0;
		XmLabel     oTimingLabel1;
		XmLabel      oTimingText1;
		XmLabel     oTimingLabel2;
		XmLabel      oTimingText2;
	};
};

object oTimingLabel0 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oTimingText0 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cTimingText0);
    };
};

object oTimingLabel1 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oTimingText1 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cTimingText1);
    };
};

object oTimingLabel2 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oTimingText2 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cTimingText2);
    };
};

!!***************************************************************
!! Option box status display 
!!***************************************************************
object oStatusTitle : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_CENTER;
	XmNfontList    = labelFont ;
	XmNmarginTop        = vLabelOffset;
	XmNleftAttachment	= XmATTACH_FORM ;
	XmNrightAttachment	= XmATTACH_FORM ;
	XmNtopAttachment	= XmATTACH_FORM ;
    };
};

object oStatusFrame : XmFrame
{
	arguments
	{
		XmNshadowType       = vFrameShadow ;
		XmNleftAttachment	= XmATTACH_FORM ;
		XmNrightAttachment	= XmATTACH_FORM ;

		XmNtopAttachment    = XmATTACH_WIDGET ;
		XmNtopWidget		= XmLabel oStatusTitle;
		XmNbottomAttachment = XmATTACH_FORM ;
		XmNbottomOffset	= 10;
	};
	controls
	{
		XmRowColumn      oStatusRowColumn;
	};
};

object oStatusRowColumn : XmRowColumn
{
	arguments
	{
		XmNnumColumns = 7;
		XmNorientation = XmHORIZONTAL;
		XmNpacking = XmPACK_COLUMN;
	};
	controls
	{
		XmLabel oStatusLabel0;
		XmLabel oStatusText0;
		XmLabel oStatusLabel1;
		XmLabel oStatusText1;
		XmLabel oStatusLabel2;
		XmLabel oStatusText2;
		XmLabel oStatusLabel3;
		XmLabel oStatusText3;
		XmLabel oStatusLabel4;
		XmLabel oStatusText4;
		XmLabel oStatusLabel5;
		XmLabel oStatusText5;
		XmLabel oStatusLabel6;
		XmLabel oStatusText6;
	};
};

object oStatusLabel0 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText0 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText0);
    };
};

object oStatusLabel1 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText1 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText1);
    };
};

object oStatusLabel2 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText2 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText2);
    };
};

object oStatusLabel3 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText3 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText3);
    };
};

object oStatusLabel4 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText4 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText4);
    };
};

object oStatusLabel5 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText5 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText5);
    };
};

object oStatusLabel6 : XmLabel
{
    arguments
	{
	XmNalignment   = XmALIGNMENT_END;
	XmNfontList    = labelFont ;
    };
};

object oStatusText6 : XmLabel
{
    arguments
    {
        XmNlabelString      = "      "; ! space for 6 digits
        XmNfontList         = textFont ;
    };
    callbacks
    {
        MrmNcreateCallback = procedure createProc (cStatusText6);
    };
};


!!***************************************************************
end module;

