#include <Xm/Frame.h>
#include <Xm/RowColumn.h>
#include <Xm/Label.h>
#include <Vk/VkErrorDialog.h>
#include "ValveFunctions.h"

ValveFunctions::ValveFunctions(const char *name, Widget parent, 
			       int nValves,
			       int firstValveNo,
			       const char *dmPrefix, Boolean hasEnable) 
  : DmGuiObject(name, parent)
{
  _baseWidget = XtVaCreateWidget(name, xmFrameWidgetClass, parent, 
				 NULL);
  
  installDestroyHandler();
  
  Widget mgr = 
    XtVaCreateWidget("mgr", xmRowColumnWidgetClass, _baseWidget,
		     XmNorientation, XmVERTICAL, 
		     NULL);
  
  Widget label = 
    XtVaCreateManagedWidget("label", xmLabelWidgetClass, mgr, NULL);
  
  Widget mgr2;

  mgr2 = 
    XtVaCreateWidget("mgr2", xmRowColumnWidgetClass, mgr,
		     XmNnumColumns, 2,
		     XmNpacking, XmPACK_COLUMN,
		     XmNorientation, XmHORIZONTAL,
		     NULL);


  _nValves = nValves;
  
  valves = new ValveSelector("valves", mgr2, 
			     _nValves,
			     firstValveNo,
			     dmPrefix,
			     hasEnable);
  valves->show();
  
  XtManageChild(mgr2);
  
  XtManageChild(mgr);


  if (setConsumePeriod(Aperiodic) == -1)
    return;

  updateGui();
}


ValveFunctions::~ValveFunctions()
{
  delete valves;
}


void ValveFunctions::updateGui(DM_Item)
{
}

