/*=========================================================================
*
* CPAdSel.h :  class CPA_DialogSelect
*
*
* Version			1.0
* Creation date
* Revision date
*
* Shaitan
*=======================================================================*/
#ifdef ACTIVE_EDITOR
 
 
#ifndef __DIALOGSELECT_H__
#define __DIALOGSELECT_H__
 
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
 
#include "CPARes.h"
#include "CPAMCapt.hpp"
#include "CPASObj.hpp"
#include "CPAEnum.hpp"
 
 
class CPA_Interface;
 
/*///////////////////////////////////////////////////////////////////////////*/
/* CPA_DialogSelect dialog*/
 
class CPA_EXPORT CPA_DialogSelect : public CDialog, public CPA_MouseCapturer
{
protected:
	CPA_Interface	*m_pInterface;
	tdeSelectMode	m_eMode;
	CString			m_csTypeName;
	CString			m_a_csValidTypes[20];
	long			m_lNbTypes;
 
public:
 /*any class deriving from CPA_MouseCapturer one must declare this method as is*/
	CWnd *m_p_oGrabCapture() { return m_p_oGrabCaptureFor(this); }
 
/* parent editor*/
	CPA_Interface * GetInterface (void) { return m_pInterface; }
 
/* standard constructor*/
	CPA_DialogSelect(CWnd* pParent = NULL);
/* dialog*/
	void fn_vDoDialog (CPA_Interface *pInterface, tdeSelectMode eMode, CString csTypeName = "", CString a_csValidType[] = NULL, long lNbTypes = 0);
	void fn_vInitDialog (void);
	void fn_vInitHierarchy (void);
	void fn_vCloseDialog (void);
 
/* list of selected objets*/
	CPA_List<CPA_SuperObject> m_stListSelect;
	CPA_List<CPA_SuperObject> m_stHierarchy;
	CPA_SuperObject			  *m_pSelection;
	CPA_SuperObject			  *m_pObjectToSelect;
	BOOL					  m_bDoDialog;
 
/* Dialog Data*/
	/*{{AFX_DATA(CPA_DialogSelect)*/
	enum { IDD = CPA_IDD_DIALOGCHOICE };
	CListBox	m_cListSelect2;
	CListBox	m_cListSelect;
	CListBox	m_cHierarchy2;
	CListBox	m_cHierarchy;
	/*}}AFX_DATA*/
 
 
/* Overrides*/
	/* ClassWizard generated virtual function overrides*/
	/*{{AFX_VIRTUAL(CPA_DialogSelect)*/
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    /* DDX/DDV support*/
	/*}}AFX_VIRTUAL*/
 
/* Implementation*/
protected:
 
	/* Generated message map functions*/
	/*{{AFX_MSG(CPA_DialogSelect)*/
	virtual void OnOK();
	virtual void OnCancel();
	virtual BOOL OnInitDialog();
	afx_msg void OnSelchangeListSelect();
	afx_msg void OnDblClkListSelect();
	afx_msg void OnSelchangeHierarchy();
	afx_msg void OnDblClkHierarchy();
	/*}}AFX_MSG*/
	DECLARE_MESSAGE_MAP()
};
 
#endif /*__DIALOGSELECT_H__*/
#endif /* ACTIVE_EDITOR*/
