/* X window interface for the file conversion utility */
/* Peter Webb, Summer 1990 */

#include <X11/copyright.h>

#ifndef  _MultiView_h
#define _MultiView_h

#include <X11/Xaw/Form.h>  /* Subclass of the form widget */

/****************************************************************
 *
 * MultiView widget - Two viewports that share a vertical scroll
 * bar.  Each viewport may scroll horizontally independent of the
 * other.  The viewports are placed side by side.  The one on the
 * left is read-only, while the one on the right allows input on
 * a line-by-line basis (i.e. no moving from one line directly to
 * another.  In the terms of the Athena Toolkit, this is a list
 * of dialog boxes, where the box label is placed in the left
 * viewport and the input area on a cooresponding line in the
 * right viewport.
 *
 * When the user clicks on one of the items in the left viewport,
 * a text input caret appears in the right viewport, and the user
 * enters a text string.  The vertical scrollbar moves both the
 * right and left viewports synchronously.  In this way, the data
 * entry fields are always directly opposite their labels.  Since
 * text items may be larger than the viewport, and labels and data
 * may have different lengths, each viewport has its own horizontal
 * scrollbar.  Each viewport may only display text items.
 *
 ****************************************************************/

/* Resources:

 Name		     Class		RepType		Default Value
 ----		     -----		-------		-------------
 background	     Background		Pixel		WhitePixel
 foreground	     Foreground 	Pixel		BlackPixel
 border		     BorderColor	Pixel		BlackPixel
 borderWidth	     BorderWidth	Dimension	1
 destroyCallback     Callback		Pointer		NULL
 mappedWhenManaged   MappedWhenManaged	Boolean		True
 sensitive	     Sensitive		Boolean		True
 width		     Width		Dimension	0
 height              Height             Dimension       0
 x		     Position		Position	0
 y		     Position		Position	0
 font                Font               FontStruct      XtDefaultFont
 rowSpacing          Spacing            Dimension       1
 leftList            List               Pointer         NULL
 leftLongest         Longest            int             0
 rightList           List               Pointer         NULL
 rightLongest        Longest            int             NULL
 leftPriTitle        Title              Pointer         NULL
 rightPriTitle       Title              Pointer         NULL
 leftSecTitle        Title              Pointer         NULL
 rightSecTitle       Title              Pointer         NULL
 leftSecWidth        Width              Dimension       0
 rightSecWidth       Width              Dimension       0
 scrollOffColor      ScrollOffColor     Pixel           WhitePixel
*/

/* 

#define XtNMultiViewResource "multiViewResource"

#define XtCMultiViewResource "MultiViewResource"

/* declare specific MultiViewWidget class and instance datatypes */

typedef struct _MultiViewClassRec*	MultiViewWidgetClass;
typedef struct _MultiViewRec*		MultiViewWidget;

/* declare the class constant */

extern WidgetClass MultiViewWidgetClass;

#endif /* _MultiView_h */
