/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _COMBOTEXTFIELD_H
#define _COMBOTEXTFIELD_H

#include "TextField.h"

/*
CLASS 
ComboTextField

DESCRIPTION
Like TextField, but contains a ComboBox widget instead 
of an XmTextField widget

AUTHOR
Tom O'Reilly
*/
class ComboTextField : public TextField
{
  public:
  ComboTextField(const char *name, Widget parent, 
		 XmStringTable *listItems, int nItems);
  
  ~ComboTextField();
  
  virtual const char *className()
  {
    return "ComboTextField";
  }
  
  // Callback triggered when list item is selected. itemPosition is callData.
  static const char *const listSelectCallback;
  
  Widget comboBox()
  {
    return _comboBox;
  }

  virtual void set(char *string);
  
  protected:
  Widget _comboBox;

  private:
  static void selectCallback(Widget w,
			     XtPointer clientData,
			     XtPointer callData);

  static void verifyCallback(Widget w,
			     XtPointer clientData,
			     XtPointer callData);
  
};


#endif

