/*=========================================================================
*
* CPAPopM.hpp
*
*
* Version			1.0
* Creation date
* Revision date
*
* FBF
*=======================================================================*/
#ifdef ACTIVE_EDITOR
 
#ifndef __EDTPOPM_HPP__
#define __EDTPOPM_HPP__
 
/****************************************/
#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 "CPASubM.hpp"
#include "DEVVP3D.hpp"
 
/*#########################*/
/* the popup entry*/
/*#########################*/
class CPA_EXPORT EDT_PopUpMenuEntry : public EDT_SubMenuEntry
{
public:
    EDT_PopUpMenuEntry(CPA_EditorBase *p_oDLL, char *p_cName, UINT uiMsgID, UINT uiIntID, BOOL _bCheck = FALSE, BOOL _bEnable = TRUE);
 
    UINT SendCommand  (EDT_SubMenu *_p_oSubMenu);
};
 
/*#########################*/
/* the popup menu*/
/*#########################*/
class CPA_EXPORT EDT_PopUpMenu : public EDT_SubMenu
{
protected:
	CMenu	m_oMenu;
 
public:
    EDT_PopUpMenu   (UINT _uiIDStart = C_EDTPopUpMenuIDStart);
 
    void            Build               (CMenu *pPopupMenu = NULL);
	void            Draw                (DEV_ViewPort *_p_oViewPort,tdstMousePos *p_stCoords);
    EDT_SubMenu*    fn_p_oGetNewSubMenu (char *_szName, tde_SubMenu _eMenuType = C_SubSubMenu);
    void            AddAnEntry          (CPA_EditorBase *p_oOwner = NULL, char *p_cText = NULL, UINT uiEntryID = 0, BOOL _bCheck = FALSE, BOOL _bEnable = TRUE);
};
 
#endif /* __EDTPOPM_HPP__*/
#endif /* ACTIVE_EDITOR*/
