#ifndef AFX_PAGEGENERAL_HPP__
#define AFX_PAGEGENERAL_HPP__

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// pagegeneral.hpp : header file
//

#include "camera.hpp"
#include "pagebase.hpp"

/////////////////////////////////////////////////////////////////////////////
// PageGeneral dialog

class PageGeneral : public PageBase
{
// Construction
public:
	PageGeneral(Camera *p_oCameraL);   // standard constructor

	void			MakeChangesAvailable();
	BOOL			IsPageValid();
	void			DoUpdate();

	float			GetTrans() { return m_fTransValue; };
	float			GetRot() { return m_fRotValue; };
	tdeAxisSystem	GetTransAxis() {return m_eTranslationAxis; };
	tdeAxisSystem	GetRotAxis() {return m_eRotationAxis; };
	
// Dialog Data
	//{{AFX_DATA(PageGeneral)
	enum { IDD = IDD_PROPPAGE_GENERAL };
	int		m_iTranslationAxis;
	int		m_iRotationAxis;
	CString	m_csRotationValue;
	CString	m_csTranslationValue;
	int		m_iTranslationStep;
	int		m_iRotationStep;
	BOOL	m_bPrivilegeMode;
	//}}AFX_DATA

private:
	long			m_lIDofCurrentEdit;
	Camera			*m_p_oCamera;
	float			m_fTransValue;
	float			m_fRotValue;
	tdeAxisSystem	m_eRotationAxis;
	tdeAxisSystem	m_eTranslationAxis;


	BOOL UpdateTransRadioButtons(float fTransValue = -1);
	BOOL UpdateRotRadioButtons(float fRotValue = -1);
	void UpdateRotText();
	void UpdateTransText();


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(PageGeneral)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(PageGeneral)
	afx_msg void OnSetfocusEditRotvalue();
	afx_msg void OnKillfocusEditRotvalue();
	afx_msg void OnKillfocusEditTransvalue();
	afx_msg void OnSetfocusEditTransvalue();
	afx_msg void OnBtReturn();
	virtual BOOL OnInitDialog();
	afx_msg void OnRbTranslationStep();
	afx_msg void OnRbTranslationstep();
	afx_msg void OnRbRotationStep();
	afx_msg void OnChkPrivilegemode();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_PAGEGENERAL_HPP__2DF0418B_DCB9_11D0_BE58_00609775AC86__INCLUDED_)
