/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _MICROSELECT_H
#define _MICROSELECT_H

#include <Vk/VkComponent.h>
#include "VehicleComponent.h"
#include "Micro.h"
#include "array.h"

/*
CLASS 
MicroSelect

DESCRIPTION
Select a particular micro for detailed view

AUTHOR
Tom O'Reilly
*/
class MicroSelect : public VkComponent
{
  public:
  
  MicroSelect(const char *name, Widget parent);
  ~MicroSelect();
  
  virtual const char *className()
  {
    return "MicroSelect";
  }
  
  protected:
  Widget _selectedMicro;
  Widget _ibcMgr;
  Widget _motorMgr;
  Widget _threeByFiveMgr;
  Widget _workArea;
  Widget _scrolledWindow;
  
  MicroGui *_microGui;
  DynArray<Micro *> _micros; 
  static const int _dividerPosition;
  
  void addButtons(VehicleComponent *parent);
  void displaySelectedGui(Widget w);
  void displayTestPanel();
  
  private:
  static void buttonCallback(Widget w, 
			     XtPointer clientData, XtPointer callData);
  
};

#endif
