
static char ArtificialHorizon_xrt_id[] = "$Header: /usr/tiburon/unix/gui/tmacs/RCS/ArtificialHorizon_xrt.cc,v 1.1 1996/10/28 09:11:47 oreilly Exp $";

/*
$Log: ArtificialHorizon_xrt.cc,v $
Revision 1.1  1996/10/28 09:11:47  oreilly
Initial revision

*/
/*
 *  ArtificialHorizon_xrt.c - XRT/graph object creation.
 *  This file was generated by `xrt_gmf' from `ArtificialHorizon.XRT'.
 *  DO NOT EDIT BY HAND.
*/

#include <stdio.h>
#include <stdarg.h>
#include <malloc.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <Xm/Xm.h>
#include <Xm/XrtGraph.h>
#include "ArtificialHorizon_xrt.h"

static char		***list = NULL;
static int		elements = 0;
static int		allocated = 0;

static void
AddToList(char **strings)
{
	if (elements >= allocated) {
		allocated += 8;
		if (list) {
			list = (char ***) realloc((void *) list, allocated * sizeof(char **));
		}
		else {
			list = (char ***) calloc(allocated, sizeof(char **));
		}
	}
	list[elements] = strings;
	elements++;
}

static void
FreeList()
{
	int         i;

	if (list) {
		for (i = 0; i < elements; i++) {
			free((void *) list[i]);
		}
		free((void *) list);
	}
	list = NULL;
	elements = 0;
	allocated = 0;
}

static char **
StringsToArray(char *str1, ...)
{
	register i, j;
	char *str, **array;
	va_list pvar;
	
	va_start(pvar, str1);
	for (i=1; ;i++)	{
		str = (char *) va_arg(pvar, char *);
		if (!str)	{
			break;
		}
	}
	va_end(pvar);

	array = (char **) calloc(i+1, sizeof(char *));
	va_start(pvar, str1);
	array[0] = str1;
	for (j=1; j<i;j++)	{
		str = (char *) va_arg(pvar, char *);
		array[j] = str;
	}
	va_end(pvar);

	AddToList(array);

	return(array);
}

static Font
UseFont(Widget parent, char *font_name)
{
	Font		fid;
	XFontStruct	*fs;

	fs = XLoadQueryFont(XtDisplay(parent), font_name);
	if (! fs)	{
		fprintf(stderr, "Warning:  Can't load font '%s'.\n", font_name);
		fprintf(stderr, "Warning:  Using fixed font instead.\n");
		fs = XLoadQueryFont(XtDisplay(parent), "fixed");
		if (! fs)	{
			fprintf(stderr, "Error: no fixed font - using 0\n");
			return(0);
		}
	}

	fid = fs->fid;
	XFreeFontInfo((char **) NULL, fs, 1);

	return(fid);
}

static XrtDataStyle ArtificialHorizon_xrt_dstyles[] = {
	{ XRT_LPAT_SOLID, XRT_FPAT_SOLID, "Coral", 1, XRT_POINT_NONE, "black", 7 },
	{ XRT_LPAT_SOLID, XRT_FPAT_NONE, "black", 1, XRT_POINT_NONE, "black", 7 },
};

static XrtDataStyle *ArtificialHorizon_xrt_dstyles_ptr[] = {
	&ArtificialHorizon_xrt_dstyles[0],
	&ArtificialHorizon_xrt_dstyles[1],
	0,
};

Widget
ArtificialHorizon_xrt_create(Widget parent)
{
	char        **stringlist;
	int         n;
	Arg         args[200];
	Widget      ArtificialHorizon_xrt;

	n = 0;

	XtSetArg(args[n], XtNxrtAxisBoundingBox, False); n++;
//	XtSetArg(args[n], XtNxrtBackgroundColor, "White"); n++;
	XtSetArg(args[n], XtNxrtBarClusterOverlap, 100); n++;
	XtSetArg(args[n], XtNxrtBarClusterWidth, 50); n++;
	XtSetArg(args[n], XtNxrtDataAreaBackgroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtDoubleBuffer, True); n++;
	XtSetArg(args[n], XtNxrtFooterAdjust, XRT_ADJUST_CENTER); n++;
	XtSetArg(args[n], XtNxrtFooterBackgroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtFooterBorder, XRT_BORDER_NONE); n++;
	XtSetArg(args[n], XtNxrtFooterBorderWidth, 2); n++;
	XtSetArg(args[n], XtNxrtFooterForegroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtFooterStrings, 0); n++;
	XtSetArg(args[n], XtNxrtFooterX, 150); n++;
	XtSetArg(args[n], XtNxrtFooterY, 296); n++;
	XtSetArg(args[n], XtNxrtForegroundColor, "Black"); n++;
	XtSetArg(args[n], XtNxrtFrontDataset, 1); n++;
	XtSetArg(args[n], XtNxrtGraphBackgroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtGraphBorder, XRT_BORDER_NONE); n++;
	XtSetArg(args[n], XtNxrtGraphBorderWidth, 2); n++;
	XtSetArg(args[n], XtNxrtGraphDepth, 0); n++;
	XtSetArg(args[n], XtNxrtGraphForegroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtGraphHeight, 272); n++;
	XtSetArg(args[n], XtNxrtGraphInclination, 0); n++;
	XtSetArg(args[n], XtNxrtGraphMarginBottom, 75); n++;
	XtSetArg(args[n], XtNxrtGraphMarginLeft, 37); n++;
	XtSetArg(args[n], XtNxrtGraphMarginRight, 32); n++;
	XtSetArg(args[n], XtNxrtGraphMarginTop, 17); n++;
	XtSetArg(args[n], XtNxrtGraphRotation, 0); n++;
	XtSetArg(args[n], XtNxrtGraphWidth, 272); n++;
	XtSetArg(args[n], XtNxrtGraphX, 14); n++;
	XtSetArg(args[n], XtNxrtGraphY, 14); n++;
	XtSetArg(args[n], XtNxrtHeaderAdjust, XRT_ADJUST_CENTER); n++;
	XtSetArg(args[n], XtNxrtHeaderBackgroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtHeaderBorder, XRT_BORDER_NONE); n++;
	XtSetArg(args[n], XtNxrtHeaderBorderWidth, 2); n++;
	XtSetArg(args[n], XtNxrtHeaderForegroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtHeaderStrings, 0); n++;
	XtSetArg(args[n], XtNxrtHeaderX, 150); n++;
	XtSetArg(args[n], XtNxrtHeaderY, 2); n++;
	XtSetArg(args[n], XtNheight, 300); n++;
	XtSetArg(args[n], XtNxrtInvertOrientation, False); n++;
	XtSetArg(args[n], XtNxrtLegendAnchor, XRT_ANCHOR_EAST); n++;
	XtSetArg(args[n], XtNxrtLegendBackgroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtLegendBorder, XRT_BORDER_NONE); n++;
	XtSetArg(args[n], XtNxrtLegendBorderWidth, 2); n++;
	XtSetArg(args[n], XtNxrtLegendForegroundColor, 0); n++;
	XtSetArg(args[n], XtNxrtLegendOrientation, XRT_ALIGN_VERTICAL); n++;
	XtSetArg(args[n], XtNxrtLegendShow, True); n++;
	XtSetArg(args[n], XtNxrtLegendX, 283); n++;
	XtSetArg(args[n], XtNxrtLegendY, 148); n++;
	XtSetArg(args[n], XtNxrtOtherLabel, "Other"); n++;
	XtSetArg(args[n], XtNxrtPieMinSlices, 1); n++;
	XtSetArg(args[n], XtNxrtPieOrder, XRT_PIEORDER_DATA_ORDER); n++;
	XtSetArg(args[n], XtNxrtPieThresholdMethod, XRT_PIE_SLICE_CUTOFF); n++;
	XtSetArg(args[n], XtNxrtPieThresholdValue, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtPointLabels, 0); n++;
	XtSetArg(args[n], XtNxrtPointLabels2, 0); n++;
	XtSetArg(args[n], XtNxrtSetLabels, 0); n++;
	XtSetArg(args[n], XtNxrtSetLabels2, 0); n++;
	XtSetArg(args[n], XtNxrtTimeBase, 0); n++;
	XtSetArg(args[n], XtNxrtTimeFormat, 0); n++;
	XtSetArg(args[n], XtNxrtTimeUnit, XRT_TMUNIT_SECONDS); n++;
	XtSetArg(args[n], XtNxrtTransposeData, False); n++;
	XtSetArg(args[n], XtNxrtType, XRT_TYPE_AREA); n++;
	XtSetArg(args[n], XtNxrtType2, XRT_TYPE_PLOT); n++;
	XtSetArg(args[n], XtNwidth, 300); n++;
	XtSetArg(args[n], XtNxrtXAnnoPlacement, XRT_ANNO_AUTO); n++;
	XtSetArg(args[n], XtNxrtXAnnotationMethod, XRT_ANNO_VALUES); n++;
	XtSetArg(args[n], XtNxrtXAnnotationRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtXAxisLogarithmic, False); n++;
	XtSetArg(args[n], XtNxrtXAxisMax, XrtFloatToArgVal(10.000000)); n++;
	XtSetArg(args[n], XtNxrtXAxisMin, XrtFloatToArgVal(-10.000000)); n++;
	XtSetArg(args[n], XtNxrtXAxisReversed, False); n++;
	XtSetArg(args[n], XtNxrtXAxisShow, True); n++;
	XtSetArg(args[n], XtNxrtXGrid, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtXMax, XrtFloatToArgVal(10.000000)); n++;
	XtSetArg(args[n], XtNxrtXMin, XrtFloatToArgVal(-10.000000)); n++;
	XtSetArg(args[n], XtNxrtXNum, XrtFloatToArgVal(10.000000)); n++;
	XtSetArg(args[n], XtNxrtXNumMethod, XRT_NUM_ROUND); n++;
	XtSetArg(args[n], XtNxrtXOrigin, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtXOriginPlacement, XRT_ORIGIN_AUTO); n++;
	XtSetArg(args[n], XtNxrtXPrecision, 1); n++;
	XtSetArg(args[n], XtNxrtXTick, XrtFloatToArgVal(5.000000)); n++;
	XtSetArg(args[n], XtNxrtXTitleRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtY2AnnotationMethod, XRT_ANNO_VALUES); n++;
	XtSetArg(args[n], XtNxrtY2AnnotationRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtY2AxisLogarithmic, False); n++;
	XtSetArg(args[n], XtNxrtY2AxisMax, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2AxisMin, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2AxisShow, True); n++;
	XtSetArg(args[n], XtNxrtY2Max, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2Min, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2Num, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2NumMethod, XRT_NUM_ROUND); n++;
	XtSetArg(args[n], XtNxrtY2Precision, 27241); n++;
	XtSetArg(args[n], XtNxrtY2Tick, XrtFloatToArgVal(340282346638528860000000000000000000000.000000)); n++;
	XtSetArg(args[n], XtNxrtY2Title, 0); n++;
	XtSetArg(args[n], XtNxrtYAnnoPlacement, XRT_ANNO_AUTO); n++;
	XtSetArg(args[n], XtNxrtYAnnotationMethod, XRT_ANNO_VALUES); n++;
	XtSetArg(args[n], XtNxrtYAnnotationRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtY2AxisReversed, False); n++;
	XtSetArg(args[n], XtNxrtYAxisConst, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtYAxisLogarithmic, False); n++;
	XtSetArg(args[n], XtNxrtYAxisMax, XrtFloatToArgVal(120.000000)); n++;
	XtSetArg(args[n], XtNxrtYAxisMin, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtYAxisMult, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtYAxisReversed, False); n++;
	XtSetArg(args[n], XtNxrtYAxisShow, True); n++;
	XtSetArg(args[n], XtNxrtYGrid, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtYMax, XrtFloatToArgVal(115.000000)); n++;
	XtSetArg(args[n], XtNxrtYMin, XrtFloatToArgVal(85.000000)); n++;
	XtSetArg(args[n], XtNxrtYNum, XrtFloatToArgVal(20.000000)); n++;
	XtSetArg(args[n], XtNxrtYNumMethod, XRT_NUM_ROUND); n++;
	XtSetArg(args[n], XtNxrtYOrigin, XrtFloatToArgVal(0.000000)); n++;
	XtSetArg(args[n], XtNxrtYOriginPlacement, XRT_ORIGIN_AUTO); n++;
	XtSetArg(args[n], XtNxrtYPrecision, -1); n++;
	XtSetArg(args[n], XtNxrtYTick, XrtFloatToArgVal(10.000000)); n++;
	XtSetArg(args[n], XtNxrtYTitle, 0); n++;
	XtSetArg(args[n], XtNxrtY2TitleRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtYTitleRotation, XRT_ROTATE_NONE); n++;
	XtSetArg(args[n], XtNxrtDataStyles, ArtificialHorizon_xrt_dstyles_ptr); n++;
	XtSetArg(args[n], XtNxrtDataStyles2UseDefault, True); n++;
	XtSetArg(args[n], XtNxrtDataStylesUseDefault, False); n++;
	XtSetArg(args[n], XtNxrtFooterXUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtFooterYUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphHeightUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphMarginBottomUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphMarginLeftUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphMarginRightUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphMarginTopUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphWidthUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphXUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtGraphYUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtHeaderXUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtHeaderYUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtLegendXUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtLegendYUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtMarkerDataStyleUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtOtherDataStyleUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtTimeFormatUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXAxisMaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXAxisMinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXGridDataStyleUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXGridUseDefault, False); n++;
	XtSetArg(args[n], XtNxrtXMaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXMinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXNumUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXOriginUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtXPrecisionUseDefault, False); n++;
	XtSetArg(args[n], XtNxrtXTickUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2AxisMaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2AxisMinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2MaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2MinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2NumUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2PrecisionUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtY2TickUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYAxisMaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYAxisMinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYGridDataStyleUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYGridUseDefault, False); n++;
	XtSetArg(args[n], XtNxrtYMaxUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYMinUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYNumUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYOriginUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYPrecisionUseDefault, True); n++;
	XtSetArg(args[n], XtNxrtYTickUseDefault, True); n++;

	ArtificialHorizon_xrt = XtCreateManagedWidget("graph", xtXrtGraphWidgetClass, parent, args, n);

	FreeList();

	return(ArtificialHorizon_xrt);
}
