//////////////////////////////////////////////////////////////////////////////
// SimpleShell.C
//////////////////////////////////////////////////////////////////////////////
#include "SimpleShell.hh"

#include <Xm/Separator.h>
#include <Xm/PushB.h>
#include <Xm/Form.h>
#include <Xm/RowColumn.h>

void SimpleShell::okCallback (Widget button, XtPointer clientData, 
			      XtPointer callData)
{
  SimpleShell *obj = (SimpleShell*) clientData;
  obj->ok(button, callData);
}

  
Widget SimpleShell::createWorkArea (Widget parent)
{
  _shell = XtCreateWidget (_name, xmFormWidgetClass, parent, NULL, 0);

  _okButton = XtVaCreateManagedWidget ("OK", xmPushButtonWidgetClass, _shell,  
				       XmNbottomAttachment, XmATTACH_FORM,
				       NULL);

  XtAddCallback (_okButton, XmNactivateCallback, 
		 &SimpleShell::okCallback, (XtPointer) this);

  Widget sep = XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass,
				       _shell, 
				       XmNrightAttachment,  XmATTACH_FORM,
				       XmNleftAttachment,   XmATTACH_FORM,
				       XmNbottomAttachment, XmATTACH_WIDGET,
				       XmNbottomWidget,     _okButton,
				       NULL);

  Widget shellArea = createShellArea(_shell);
  XtVaSetValues(shellArea,
		XmNrightAttachment,  XmATTACH_FORM, 
		XmNleftAttachment,   XmATTACH_FORM,
		XmNtopAttachment,    XmATTACH_FORM,
		XmNbottomAttachment, XmATTACH_WIDGET,
		XmNbottomWidget,     sep,
		NULL);

  return (_shell);
}

