#ifndef D1_ARGS_H
#define D1_ARGS_H
#include "res.h"
#include "rl.h"
#include "widgets.h"
#include "ed.h"

/* #include "/mit/lens/src/jbs/AlAssoc.h" */

/****************************************************
 *
 *          DISPLAY 1 ARGS
 *
 *       The Basic Rule Editor
 *
 *  Preix Code:  d1  for data
 *               D1  for code
 *
 ****************************************************/

#define D1_DEF_WIDTH  600
#define D1_DEF_HEIGHT 600

#define MENU_COL_WIDTH  20
#define MENU_COL_HEIGHT 15
#define STRING_COL_WIDTH 250
#define STRING_COL_HEIGHT 20

static Arg ShellArgs[]= {
  { XtNallowShellResize , (XtArgVal) TRUE },
  { XtNwmTimeout, (XtArgVal) 3 },     /* wait only 3 seconds for the window */
				      /*   manager to respond */
};

static Arg d1_OuterArgs[]={
  { XtNheight, (XtArgVal) 800 },
  { XtNwidth, (XtArgVal) D1_DEF_HEIGHT },
  { XtNlayout, (XtArgVal) XwMAXIMIZE },
  { NULL, (XtArgVal) NULL },
/*   { XtNtraversalOn, (XtArgVal) TRUE },  */
};

static Arg d1_TopTBArgs[]={
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { XtNheight, (XtArgVal) 20 },
  { XtNstring, (XtArgVal) "Rule Editor" },
  { NULL, NULL },
};

static Arg d1_AreaArgs[]={
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { XtNheight, (XtArgVal) 20 },
  { XtNtitleRegion, (XtArgVal) XwALIGN_LEFT },
  { XtNtitlePosition, (XtArgVal) 1 },
  { XtNtitlePrecedence, (XtArgVal) 5 },
  { XtNstring, (XtArgVal) "Rule Editor" },
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};


static Arg d1_DoingArgs[]={
  { XtNwidth, (XtArgVal) 0 },
  { XtNheight, (XtArgVal) 0 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};


static Arg d1_BotTBArgs[]={
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { XtNheight, (XtArgVal) 20 },
  { NULL, NULL },
};

static XtCallbackRec AbortCBRec[]={
  { ed_Abort_CB, NULL },
  { NULL, NULL },
};

static Arg d1_AbortArgs[]={
  { XtNwidth, (XtArgVal) 100 },
  { XtNheight, (XtArgVal) 20 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNlabel, (XtArgVal) "Quit" },
  { XtNcallback, (XtArgVal) AbortCBRec },
  { XtNregion, (XtArgVal) XwALIGN_LEFT },
  { XtNposition, (XtArgVal) 0 },
  { XtNprecedence, (XtArgVal) 0 },
  { XtNhighlightThickness, (XtArgVal) 2 },
  { NULL, NULL },
};


static XtCallbackRec DoneCBRec[]={
  { ed_Done_CB, NULL },
  { NULL, NULL },
};

static Arg d1_DoneArgs[]={
  { XtNwidth, (XtArgVal) 100 },
  { XtNheight, (XtArgVal) 20 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNlabel, (XtArgVal) "Save" },
  { XtNcallback, (XtArgVal) DoneCBRec },
  { XtNregion, (XtArgVal) XwALIGN_RIGHT },
  { XtNposition, (XtArgVal) 0 },
  { XtNprecedence, (XtArgVal) 1 },
  { XtNhighlightThickness, (XtArgVal) 2 },
  { NULL, NULL },
};

static Arg d1_AddMTArgs[]={
  { XtNwidth, (XtArgVal) 170 },
  { XtNheight, (XtArgVal) 20 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNstring, (XtArgVal) "Add A Message Type" },
  { XtNregion, (XtArgVal) XwALIGN_CENTER },
  { XtNposition, (XtArgVal) 3 },
  { XtNprecedence, (XtArgVal) 1 },
  { XtNhighlightThickness, (XtArgVal) 2 },
  { NULL, NULL },
};

static Arg d1_AddActionArgs[]={
  { XtNwidth, (XtArgVal) 100 },
  { XtNheight, (XtArgVal) 20 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNstring, (XtArgVal) "Add An Action" },
  { XtNregion, (XtArgVal) XwALIGN_CENTER },
  { XtNposition, (XtArgVal) 2 },
  { XtNprecedence, (XtArgVal) 1 },
  { XtNhighlightThickness, (XtArgVal) 2 },
  { NULL, NULL },
};

static XtCallbackRec AddFieldCBRec[]={
  { ed_AddField_CB, NULL },
  { NULL, NULL },
};

static Arg d1_AddFieldArgs[]={
  { XtNwidth, (XtArgVal) 100 },
  { XtNheight, (XtArgVal) 20 },
  { XtNjustify, (XtArgVal) XtJustifyCenter },
  { XtNlabel, (XtArgVal) "Add A Field" },
  { XtNregion, (XtArgVal) XwALIGN_CENTER },
  { XtNposition, (XtArgVal) 1 },
  { XtNprecedence, (XtArgVal) 3 },
  { XtNcallback, (XtArgVal) AddFieldCBRec },
  { XtNhighlightThickness, (XtArgVal) 2 },
  { NULL, NULL },
};

static Arg d1_IfArgs[]={
  { XtNheight, (XtArgVal) 25 },
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { XtNborderWidth, (XtArgVal) 0 },
  { XtNlayout, (XtArgVal) XwMAXIMIZE },
  { NULL, NULL },
};

static Arg d1_ThenColumnArgs[]={
  { XtNheight, (XtArgVal) 25 },
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH/2 },
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};

static Arg d1_ThenArgs[]={
  { XtNheight, (XtArgVal) 25 },
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { XtNcolumns, (XtArgVal) 2 },
  { XtNborderWidth, (XtArgVal) 0 },
  { XtNlayout, (XtArgVal) XwMAXIMIZE },
  { NULL, NULL },
};

static Arg d1_IfColumnsArgs[]={
  { XtNcolumns, (XtArgVal) 1 },
  { XtNlayout, (XtArgVal) XwMAXIMIZE },
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};

static Arg d1_IfBoxArgs[]={
  { XtNwidth, (XtArgVal) D1_DEF_WIDTH },
  { NULL, NULL },
};

static Arg d1_MenuFormArgs[]={
  { XtNwidth, (XtArgVal) MENU_COL_WIDTH },
  { XtNheight, (XtArgVal) 0 },
  { XtNlPadding, (XtArgVal) 3 },
  { XtNrPadding, (XtArgVal) 3 },

/*   { XtNvSpace, (XtArgVal) 1 }, */
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL, },
};

static Arg d1_MenuRasterArgs[]={
  { XtNhighlightThickness, (XtArgVal) 1 },
  { XtNhighlightStyle, (XtArgVal) XwSHADOW_BORDER },
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};

static Arg d1_KeyArgs[]={
  { XtNwidth, (XtArgVal) STRING_COL_WIDTH },
  { XtNheight, (XtArgVal) STRING_COL_HEIGHT },
  { XtNborderWidth, (XtArgVal) 1 },
  { XtNlPadding, (XtArgVal) 3 },
  { XtNrPadding, (XtArgVal) 3 },

/*
  { XtNalignment, (XtArgVal) XwALIGN_RIGHT },

  { XtNwrapForm, (XtArgVal) XwDisplayForm},
  { XtNwrap, (XtArgVal) XwSoftWrap },
  { XtNscroll, (XtArgVal) XwAutoScrollHorizontal },
  { XtNgrow, (XtArgVal) XwGrowHorizontal },
  { XtNmaximumLength, (XtArgVal) VALUE_LENGTH },
  { XtNeditType, (XtArgVal) XwtextRead },
  { XtNtraversalType, (XtArgVal) XwHIGHLIGHT_TRAVERSAL }, 
*/
  { XtNborderWidth, (XtArgVal) 0 },
  { NULL, NULL },
};

static Arg d1_ValueArgs[]={
  { XtNwidth, (XtArgVal) STRING_COL_WIDTH },
  { XtNheight, (XtArgVal) STRING_COL_HEIGHT },
  { XtNborderWidth, (XtArgVal) 1 },
  { XtNlPadding, (XtArgVal) 3 },
  { XtNrPadding, (XtArgVal) 3 },
/*
  { XtNwrapForm, (XtArgVal) XwDisplayForm},
  { XtNwrap, (XtArgVal) XwSoftWrap },
  { XtNscroll, (XtArgVal) XwAutoScrollHorizontal },
  { XtNgrow, (XtArgVal) XwGrowHorizontal },
  { XtNmaximumLength, (XtArgVal) VALUE_LENGTH },
*/
	{XtNeditType, XttextEdit}, 
    	{XtNlength, VALUE_LENGTH},
    	{XtNtextOptions, resizeWidth|editable},
  { NULL, NULL },
};


#endif



