#ifndef _DMBOOLEANBUTTON_H
#define _DMBOOLEANBUTTON_H

#include "DmGuiObject.h"

/*
CLASS 
DmBooleanButton

DESCRIPTION
Display and set a Boolean DataManager item value using a 
Motif PushButton widget

AUTHOR
Tom O'Reilly
*/

class DmBooleanButton : public DmGuiObject {

public:

  DmBooleanButton(const char *name, Widget parent, DmBooleanObject *dmObject,
		  int period = AperiodicGuaranteed);

  ~DmBooleanButton();


  virtual const char *className() {
    return "DmBooleanButton";
  }

  virtual void updateGui(DM_Item dmItem = 0);

protected:

  Widget _button;

  Boolean _armed;

  DmBooleanObject *_dmObject;

  Pixel _armColor, _background, _lightEdgeColor, _darkEdgeColor;

private:

  static void buttonCallback(Widget w, 
			     XtPointer clientData,
			     XtPointer callData);

};


#endif
