#if !defined(AFX_EDIRSELE_HPP__4C2763E5_DDDB_11D1_95C3_00A02416A985__INCLUDED_)
#define AFX_EDIRSELE_HPP__4C2763E5_DDDB_11D1_95C3_00A02416A985__INCLUDED_

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


#include "EdIRCtSl.hpp"
/////////////////////////////////////////////////////////////////////////////
// CPA_EdIR_Select_IAObj dialog
class CPA_EdIR_Select_IAObj : public CDialog
{
// Construction
public:
	CString m_csRetWord;
	BOOL m_bParentsShow;
	CPA_EdIR_Select_IAObj(CWnd* pParent = NULL, BOOL bPShow = FALSE, CString csIncomplete = "" );   // standard constructor
    ~CPA_EdIR_Select_IAObj();

// Dialog Data
	//{{AFX_DATA(CPA_EdIR_Select_IAObj)
	enum { IDD = IDD_DIALOG_SELECT_IA_OBJECTS };
	CPA_EdIR_SelCtrlList	m_clCListTypes;
	CPA_EdIR_SelCtrlList	m_clCListParents;
	CPA_EdIR_SelCtrlList	m_clCListData;
	CButton	m_cbCButton;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CPA_EdIR_Select_IAObj)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CPA_EdIR_Select_IAObj)
	afx_msg void OnButtonShowHide();
	virtual BOOL OnInitDialog();
	afx_msg void OnClickListTypes(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnClickListParents(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnDblclkListData(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void OnOK();
	CString m_csIncompleteWord;
	void OnDataSelection();
	BOOL m_fn_bTrySelectModelOrFamily();
	void m_fn_vRefreshListData( );
	void m_fn_vRefreshListParents( );
	void OnParentsSelection();
	BOOL m_fn_bCheckComplete( CString );
	CString  m_csCurrentParent;
	CString m_csCurrentType;
	CString m_csCurrentFamily;
	CString m_csCurrentModel;
	void OnTypeSelection( );
	CStringList * m_pclTypesList;
	CStringList * m_pclParentsList;
	CStringList * m_pclDataList;
	void m_fn_vToggleParents();
	CRect m_crCRectData1;
	CRect m_crCRectTypes1;
	CRect m_crCRectData2;
	CRect m_crCRectTypes2;
};

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

#endif // !defined(AFX_EDIRSELE_HPP__4C2763E5_DDDB_11D1_95C3_00A02416A985__INCLUDED_)
