// DlgZA.hpp : header file
//

/////////////////////////////////////////////////////////////////////////////
// CDlgZonesActivation form view

#ifndef __DLGZA_HPP__
#define __DLGZA_HPP__

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

#ifndef __AFXEXT_H__
#include <afxext.h>
#endif

class TAction_Interface;
class CPA_State;
class CDlgZAList;

#include "TAct_res.h"

class CDlgZonesActivation : public CFormView
{
protected:
    CDlgZonesActivation();           // protected constructor used by dynamic creation
	DECLARE_DYNCREATE(CDlgZonesActivation)

// Form Data
public:
	//{{AFX_DATA(CDlgZonesActivation)
	enum { IDD = IDD_DLG_ZA };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

// Attributes
protected:
    TAction_Interface       *m_p_oDLL;
    CDlgZAList              *m_p_oDlgZAList;
    CPA_tdoNameList         *m_p_oCurrentNamesList;
    CPA_ZonesActivating     *m_p_oCurrentZA;
    CDC                      m_oCrossDC;
    CBitmap                  m_oCrossBitmap;
    BOOL                     m_bFirstShow;
    CFont                    m_oItalicFont;
    CFont                    m_oBoldFont;
// Attributes
protected:
	BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName,
				DWORD dwRequestedStyle, const RECT& rect, CWnd* pParentWnd, UINT nID,
				CCreateContext* pContext);
// Operations
public:
    void mfn_vSetParentDLL			(TAction_Interface *_p_oDLL)    { m_p_oDLL = _p_oDLL ; }
    void mfn_vSetDlgZAList          (CDlgZAList *_p_oDlgZAList)     { m_p_oDlgZAList = _p_oDlgZAList; }
	void mfn_vSetCurrentNamesList	(CPA_tdoNameList *_p_oNamesList);
    void mfn_vUpdateDisplay			(CPA_ZonesActivating *_p_oZA, int _iIndex);
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDlgZonesActivation)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
protected:
	virtual ~CDlgZonesActivation();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	// Generated message map functions
	//{{AFX_MSG(CDlgZonesActivation)
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
	afx_msg void OnDestroy();
	afx_msg void OnSelchangeZAList();
	afx_msg void OnBtAdd();
	afx_msg void OnBtRename();
	afx_msg void OnBtCopy();
	afx_msg void OnBtDelete();
	afx_msg void OnBtDefault();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDblclkListZa();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

protected:
    void OnDrawZonesListItem        (LPDRAWITEMSTRUCT lpDIS);
    void OnDrawZAListItem           (LPDRAWITEMSTRUCT lpDIS);
    BOOL mfn_bOnLButtonDownLBZones  (MSG *pMsg);
    BOOL mfn_bOnKeyDownLBZones      (MSG *pMsg);
    BOOL mfn_bOnRButtonDownLBZA     (MSG *pMsg);

    void mfn_vFillLBZA                  (CPA_tdoNameList *_p_oNamesList);
    void mfn_vFillLBZones               (CPA_tdoNameList *_p_oNamesList);
    void mfn_vUpdateFlags               (CPA_ZonesActivating *_p_oZA);
    void mfn_vUpdateButtons             (void);
    int  mfn_iSelectStringExact         (CListBox *_pLB, CString _csEntry);
    BOOL mfn_bVerifyNamesListCoherence  (BOOL _bUpdateDisplay = TRUE);

};

#endif  //__DLGZA_HPP__

/////////////////////////////////////////////////////////////////////////////