reman3/Rayman_X/cpa/public/ITF/CPAHieEd.hpp

112 lines
4.0 KiB
C++

/*=========================================================================
*
* CPAHieEd.hpp CPA_HierarchyEditor - Definition
*
*
* Version 1.0
* Creation date
* Revision date
*
* Shaitan
*=======================================================================*/
#ifdef ACTIVE_EDITOR
#ifndef __CPA_HIE_EDITORBASE_HPP__
#define __CPA_HIE_EDITORBASE_HPP__
#include "CPADllB.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
/****************************************/
/* paste mode*/
typedef enum tdePasteMode_
{
E_pm_PasteDefault,
E_pm_PasteChoice,
E_pm_PasteSame
}
tdePasteMode;
class CPA_SuperObject;
class CPA_FileObject;
/*===========================================================================
* Description: Class CPA_HierarchyEditor
* Creation date:
* Author: Shaitan
*
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
class CPA_EXPORT CPA_HierarchyEditor : public CPA_DLLBase
{
public:
CPA_HierarchyEditor (void) { };
~CPA_HierarchyEditor (void) { };
virtual void Create (void);
/* for CPA_SpecificInterface (fn_vDisplayWorld)*/
virtual BOOL fn_bIsDisplayAllModeEnabled (void) { return FALSE; }
/* for CPA_Interface*/
virtual void fn_vUpdateEditor (tdeModeChange eMode) { }
virtual void fn_vCancelAllModes (void) { }
virtual BOOL fn_bIsMultiSelectModeEnabled (void) { return FALSE; }
virtual BOOL fn_bInsertObjectInHierarchy (CPA_SuperObject *pEdObj, CPA_SuperObject *pParent, BOOL bUseEditManager = TRUE, BOOL bUpdateModif = TRUE, BOOL bSelect = TRUE, BOOL pBlock = FALSE) { return FALSE; }
virtual BOOL fn_bInsertAsPreviousBrother (CPA_SuperObject *pEdObj, CPA_SuperObject *pBrother, BOOL bUseEditManager = TRUE, BOOL bUpdateModif = TRUE, BOOL bSelect = TRUE, BOOL pBlock = FALSE) { return FALSE; }
virtual BOOL fn_bDeleteObjectInHierarchy (CPA_SuperObject *pEdObj, BOOL bUseEditManager = TRUE, BOOL bUpdateModif = TRUE, BOOL bDestroySuperObject = FALSE, BOOL bSelect = TRUE, BOOL pBlock = FALSE) { return FALSE; }
/*ANNECY Shaitan EmptySectors 25/02/98*/
virtual BOOL fn_bCanBeParent (CPA_SuperObject *pParent, tdstPosition *p_stPosition, tdeTypeSO eTypeSO, tdeSaveStatus eStatus);
/*ENDANNECY Shaitan EmptySectors*/
virtual BOOL fn_bCanBeParentForAll (CPA_SuperObject *pEdObj) { return FALSE; }
virtual BOOL fn_bCanPasteAllObjects (tdePasteMode eMode, CPA_SuperObject *pNewParent = NULL, MTH3D_tdstVector *pNewPosition = NULL) { return FALSE; }
virtual CPA_SuperObject * GetEditorObject (HIE_tdxHandleToSuperObject hSupObj);
virtual void fn_vUpdateLink (CString csCurrentMode) { }
virtual void fn_vUpdateModel (void) { }
virtual void fn_vBeforeEngine (void);
virtual void fn_vBeforeEditor (void);
virtual CPA_SuperObject * GetNewSuperObject (HIE_tdxHandleToSuperObject hEngineSO,
tdeSaveStatus eStatus, tdeTypeSO eTypeSO = C_NoType,
CString csName = "", CString csEngineFileName = "");
virtual CPA_SuperObject * GetNewSuperObject (tdeSaveStatus eStatus, tdeTypeSO eTypeSO = C_NoType,
CString csName = "", CString csEngineFileName = "");
virtual CPA_SuperObject * GetCopyOfSuperObject (CPA_SuperObject *pModel);
virtual void fn_vOnActivateEditor (CPA_List<CPA_BaseObject> *pParams, BOOL bBackActivated=FALSE);
virtual void fn_vOnCloseEditor (void);
virtual CString GetLoadingMessage (void) { return "Editor Ready"; }
virtual int GetLoadingStatus (void) { return 3; }
CPA_FileObject * GetFileObject (CString csFileName);
/* Begin Silviu Simen september 1998 List of Objects in Sectors*/
virtual void fn_vBuildListOfSectors (void) {};
/* End Silviu Simen september 1998 List of Objects in Sectors*/
};
#endif /* __CPA_HIE_EDITORBASE_HPP__*/
#endif /* ACTIVE_EDITOR*/