/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _MONITOREDVALUE_H
#define _MONITOREDVALUE_H

#include <Vk/VkComponent.h>
#include "AlarmedText.h"

/*
CLASS 
MonitoredValue

DESCRIPTION
Displays value of DM item which is monitored by an alarm. Value text
is displayed in colors appropriate to current alarm state.

AUTHOR
Tom O'Reilly
*/
class MonitoredValue: public VkComponent
{
  public:
  MonitoredValue(const char *name, Widget parent);
  ~MonitoredValue();

  void setErrorLabel(char *buf);
  int createValue(GraduatedAlarm *alarm);
  void clear();
  
  protected:
  DM_Item findItem(const char *name, DM_Type *type);
  Widget _mgr;
  Widget _label;
  Widget _errorLabel;
  Pixel _errorFg, _errorBg;
  DmObject *_dmObject;
  AlarmedText *_value;
  Widget _plotButton;
  
  private:
  static void plotCallback(Widget w, XtPointer clientData, XtPointer callData);
  
};


#endif

