// Start =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// General information section.
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// $Author:yongkiang$ User who last changed the file
// $Date:1/2/2013 12:16:38 PM$ Date and time of last check in
// $Revision:1.0$ Visual SourceSafe version number
// $Workfile::   MyPropertyPage.h                                      $ Filename
// End =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// {{AFX_INCLUDES()
// }}AFX_INCLUDES
#if !defined(AFX_MYPROPERTYPAGE_H__16513476_5909_11D7_A8A2_005004C029CA__INCLUDED_)
#define AFX_MYPROPERTYPAGE_H__16513476_5909_11D7_A8A2_005004C029CA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SubSheet.h"

// MyPropertyPage.h : header file
//
#ifdef  BUILD_GUIDLL
#define     DLLCLASS    __declspec(dllexport)
#else
#define     DLLCLASS    __declspec(dllimport)
#endif

#define _UNKNOWN_RESOURCE_ID_ 128

/////////////////////////////////////////////////////////////////////////////
// CMyPropertyPage dialog

class CMainDoc;
class CMotionController;
class CInputController;
class COutputController;
struct stModule;

class DLLCLASS CMyPropertyPage : public CPropertyPage
{
//  DECLARE_DYNCREATE(CMyPropertyPage)

// Construction
public:
    CMyPropertyPage();
    CMyPropertyPage(UINT nID);
    ~CMyPropertyPage();

// Dialog Data
// {{AFX_DATA(CMyPropertyPage)
    enum {
        IDD = _UNKNOWN_RESOURCE_ID_
    };
// NOTE - ClassWizard will add data members here.
//    DO NOT EDIT what you see in these blocks of generated code !
// }}AFX_DATA

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

// Implementation
protected:
// Generated message map functions
// {{AFX_MSG(CMyPropertyPage)
    virtual BOOL OnInitDialog(BOOL bSubPage = FALSE);
// }}AFX_MSG
    virtual LRESULT OnPropertyPageMessage(WPARAM wp, LPARAM lp);
//  DECLARE_MESSAGE_MAP()
public:
    void ShowWizCancelButton(int nCmdShow);
    void ShowWizFinishButton(int nCmdShow);
    void ShowWizNextButton(int nCmdShow);
    void ShowWizBackButton(int nCmdShow);
// can set upto 50 chars text
    void SetOtherTabText(int nTabNo, CString csText);

// can set upto 50 chars text
    void SetTabText(CString csText);

    void CreateSubSheet();
    void OnMoveSub(int nX, int nY);
    void SetTitle(LPCTSTR lpString);
    void SetPageTitle(CString title, BOOL bSubPage = FALSE);

protected:
    virtual void OnExit()
    {
    }

    void        ExitSubPage();
    CSubSheet * GetSubSheet();
    void        DisplaySubPages(CString csPackage);
    void        DeleteSubPage(CPropertyPage *pPage);
    void        InsertSubPage(CPropertyPage *pPage);
    void        SetDlgItemFont(void);

//  Indicate that motor has been moved before
    void SetMvMtrFlag();

    CFont     m_fontLogo;
    CMainDoc* m_pDoc;

    CMotionController* m_MotionController;
    COutputController* m_OutputController;
    CInputController * m_InputController;
    stModule         * m_stModule;

private:
    void CreateDlgFont(CString Name = "MS Sans Serif");
    CSubSheet m_subSheet;
};

// {{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MYPROPERTYPAGE_H__16513476_5909_11D7_A8A2_005004C029CA__INCLUDED_)
