#ifndef _SELECTABLECOMPONENT_H
#define _SELECTABLECOMPONENT_H

#include <Vk/VkComponent.h>

/*
SelectableComponent can be "selected" by a mouse-click within baseWidget
boundaries. SelectableComponent has two modes:

  normal:      all widgets within component behave "normally"

  selectable:  mouseclick anywhere within component causes 
               application-defined callback to be triggered;
               baseWidget of SelectableComponent is passed as clientData.

*/
class SelectableComponent : public VkComponent
{
  public:

  SelectableComponent(const char *name, Widget parent, 
		      XtCallbackProc callback);

  ~SelectableComponent();
  
  setSelectableMode(Boolean selectable);

  protected:

  XtCallbackProc _callback;

  static void selectCallback(Widget w,
			     XtPointer clientData,
			     XtPointer callData);
  
};


#endif

