#if !defined(AFX_TABMANAGER_H__637B6769_76A0_4B1A_83F4_8DF8B542C8B2__INCLUDED_)
#define AFX_TABMANAGER_H__637B6769_76A0_4B1A_83F4_8DF8B542C8B2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TabManager.h : header file
//


//////////////////////////////
//include all dlgs here

#define NUM_TABS 7

/////////////////////////////////////////////////////////////////////////////
// CTabManager window

class CTabManager : public CTabCtrl
{
// Construction
public:
					CTabManager			(	void );
	virtual			~CTabManager		(	void );
	
	//TAB MANAGER DLG CONTAINER
	CDialog			*m_tabPages[NUM_TABS];

	//TAB MANAGER VARIABLES
    int				m_tabCurrent;

	//TAB MANAGER FXNS
	void			Init				(	void );
	
	void			SetRect				(	void );
	
	void			GoBack				(	void );
	
	void			Cleanup				(	void );
	
	void			UpdatePulseFile		(	UINT		type, 
											CString		fileName );		//Deliver pulse file strings

	void			UpdateSensorIdx		(	UINT		type,
											int			index );				//Deliver index assignment
	
	void			NotifyTab			(	UINT		index,
											DWORD		message );

	void			ShowPlayback		(	void );
	
	void			ClearAllSensors		(	void );
	
	void			ReplaceLastSensors	(	void );

	void			UpdateLoggingDir	(	char		*loggingDir );

	//These are the passthrough functions to manually update the
	//settings in the 7K control tabs.  The settings are updates
	//when another client makes changes to the system, etc.
	void			UpdateRange			( UINT   tabType, double range );
	void			UpdatePower			( UINT	 tabType, double power );
	void			UpdatePulse			( UINT   tabType, double pulseWidth );
	void			UpdateMaxRate		( UINT   tabType, double maxRate );
	void			UpdateGain			( UINT   tabType, double gain );
	void			UpdatePingState		( UINT   tabType, BOOL	 pingState );
	void			UpdateSBPDuration	( float	 duration );
	void			UpdateFilters		( float  minRange, float maxRange,
										  float	 minDepth, float maxDepth,
										  BOOL	 state );
										  

	void			Init7kControlTab	(	void );

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTabManager)
	//}}AFX_VIRTUAL
	

	// Generated message map functions
protected:
	//{{AFX_MSG(CTabManager)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()

	//This is just an index into an array, hardcoded for ease
	enum {TCP = 0, SETUPINDEX = 1, HFSSINDEX = 2, LFSSINDEX = 3, SBPINDEX = 4, SYS7KINDEX = 5};
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TABMANAGER_H__637B6769_76A0_4B1A_83F4_8DF8B542C8B2__INCLUDED_)
