/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _VIEWINGPAGE_H
#define _VIEWINGPAGE_H

#include <Vk/VkComponent.h>
#include <Vk/VkOptionMenu.h>
#include "ErrorHandler.h"
#include "PanTiltControl.h"
#include "LightDialog.h"
#include "VideoSetup.h"
#include "IviewMonitor.h"
#include "MainCamera.h"

/*
CLASS 
ViewingPage

DESCRIPTION
GUI for control of cameras and lights. Contains MainCamera, 
PanTiltControl, VideoSetupDialog objects.

AUTHOR
Tom O'Reilly
*/
class ViewingPage : public VkComponent, public ErrorHandler
{
  public:
  
  ViewingPage(const char *name, Widget parent);
  ~ViewingPage();
  
  virtual const char *className()
  {
    return "ViewingPage";
  }
  
  protected:

  PanTiltControl *_joystick1, *_joystick2;

  LightDialog *_lightDialog;

  IviewMonitor *_monitor;
  
  VideoSetupDialog *_videoSetupDialog;

  MainCamera *_portCamera;
  MainCamera *_stbdCamera;

  private:

  static void brightButtonCallback(Widget w, 
				   XtPointer clientData,
				   XtPointer callData);

  static void videoSetupButtonCallback(Widget w, 
				       XtPointer clientData,
				       XtPointer callData);

  static void resetIviewCallback(Widget w, 
				 XtPointer clientData,
				 XtPointer callData);

  static void resetIviewOkCallback(Widget w, 
				   XtPointer clientData,
				   XtPointer callData);
};


#endif
