/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _VBMODE_H
#define _VBMODE_H

#include "DmGuiObject.h"

/*
CLASS 
VbMode

DESCRIPTION
GUI to display/set mode of variable buoyancy system

AUTHOR
Tom O'Reilly
*/
class VbMode : public DmGuiObject
{
  public:
  
  VbMode(const char *name, Widget parent);

  ~VbMode()
  {
  }
  
  virtual const char *className()
  {
    return "VbMode";
  }
  
  virtual void updateGui(DM_Item handle = 0);
  
  protected:

  DmBooleanObject *_dmFlood;
  DmBooleanObject *_dmEmpty;
  VkRadioBox *_controls;
  Widget _floodButton, _emptyButton, _stopButton;
  Widget _status;
  Boolean _externalChange;
  
  static DM_Time _t;
  static struct timezone _tz;

  void setBuoy(Widget w);

  private:

  static void controlButtonCallback(Widget w, 
				    XtPointer clientData,
				    XtPointer callData);
};

#endif

