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

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// SetupLightPage.h : header file
//
#ifdef  BUILD_GUIDLL
#define     DLLCLASS    __declspec(dllexport)
#else
#define     DLLCLASS    __declspec(dllimport)
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetupLightPage dialog

class DLLCLASS CSetupLightPage : public CMyPropertyPage
{
DECLARE_DYNCREATE(CSetupLightPage)

// Construction
public:
    CSetupLightPage();
    ~CSetupLightPage();

    static BOOL m_bModified;
// Dialog Data
// {{AFX_DATA(CSetupLightPage)
    enum {
        IDD = IDD_SETUP_LIGHT_PAGE
    };
    CShadeButtonST m_undoBtn;
    CShadeButtonST m_saveBtn;
    CStatic        m_lampRed;
    CStatic        m_lampGreen;
    CStatic        m_lampAmber;
// }}AFX_DATA

// Overrides
// ClassWizard generate virtual function overrides
// {{AFX_VIRTUAL(CSetupLightPage)
public:
    virtual BOOL OnSetActive();
    virtual BOOL OnKillActive();
protected:
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// }}AFX_VIRTUAL

// Gary 2Aug11, V1.24.05
// let's override this virtual function
    LRESULT OnPropertyPageMessage(WPARAM wp, LPARAM lp);

// Implementation
protected:
// Generated message map functions
// {{AFX_MSG(CSetupLightPage)
    virtual BOOL OnInitDialog();
    afx_msg void OnGridCtrl();
    afx_msg void OnSaveButton();
    afx_msg void OnDestroy();
    afx_msg void OnTimer(UINT nIDEvent);
    afx_msg void OnUndoButton();
// }}AFX_MSG
    DECLARE_MESSAGE_MAP()

private:
    void    SaveChanges(void);
    void    CheckAnyChanges(void);
    short   GetType(CString csType);
    CString GetString(int nType);
    void    InitIconButtons();
    void    InitGridCtrlBox();

    class CGridEx : public CGridTable
    {
// Override this function to fill InPlaceListBoxes
    void FillListItems(int nCol, LPARAM cltList);
    };

    CGridEx        m_gridTable;
    CLightConfigRS m_lightConfigRS;
    BOOL           m_bBlink;
    BOOL           m_bLightBlink;
};

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

#endif // !defined(AFX_SETUPLIGHTPAGE_H__354718B3_657B_11D7_A8A7_005004C029CA__INCLUDED_)
