/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _CONFIGURATIONDISPLAY_H
#define _CONFIGURATIONDISPLAY_H
static char ConfigurationDisplay_h_id[] = "$Header: /u/oreilly/rov/tmacs/RCS/ConfigurationDisplay.h,v 1.2 1998/12/18 21:07:21 oreilly Exp $";

/*
$Log: ConfigurationDisplay.h,v $
Revision 1.2  1998/12/18 21:07:21  oreilly
Added documentation

Revision 1.1  1996/10/28 09:13:30  oreilly
Initial revision

*/

#include <Vk/VkWindow.h>
#include <Vk/VkNode.h>
#include <Vk/VkGraph.h>
#include <Vk/VkMenu.h>
#include "array.h"
#include "VehicleComponent.h"

/*
CLASS 
ConfigurationDisplay

DESCRIPTION
Display all VehicleComponent objects in current VehicleConfiguration

AUTHOR
Tom O'Reilly
*/
class ConfigurationDisplay : public VkWindow 
{
  public:
  ConfigurationDisplay(const char *name);
  ~ConfigurationDisplay();

  virtual const char *className()
  {
    return "ConfigurationDisplay";
  }

  protected:
  VkGraph *_graph;
  DynArray<VkNode *> _nodes;

  void createNodes(VehicleComponent *component, VkNode *node, int index);

  private:
  static void quitCallback(Widget w, XtPointer clientData, 
			   XtPointer callData);
  
  static VkMenuDesc _menuPane[];
};



#endif
