reman3/Rayman_X/cpa/tempgrp/Edt/inc/edtdedit.hpp

211 lines
5.4 KiB
C++

/*=========================================================================
*
* EDTdEdit.h : class EDT_DialogEdit
*
*
* Version 1.0
* Creation date
* Revision date
*
* Shaitan
*=======================================================================*/
#ifdef ACTIVE_EDITOR
#ifndef __DIALOGEDIT_HPP__
#define __DIALOGEDIT_HPP__
#include "EDTRes.h"
#include "EDTModif.hpp"
#define C_AxeX 0
#define C_AxeY 1
#define C_AxeZ 2
//**************************************
#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
//**************************************
class EDT_HierarchyEditor;
class EDT_SuperObject;
class CPA_Interface;
/*===========================================================================
* Description: EDT_DialogEdit dialog
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
class EDT_DialogEdit : public CFormView
{
protected:
EDT_HierarchyEditor *m_pEditor;
// super object
EDT_SuperObject *m_pEditedObject;
// move
EDT_ModifMove *m_pEditMove;
// position
MTH3D_tdstVector m_stTranslation;
MTH3D_tdstVector m_stAngles;
MTH3D_tdstVector m_stScales;
// flags for update
BOOL m_bUpdatingPos;
BOOL m_bUpdatingRot;
BOOL m_bUpdatingScale;
// flag for move
BOOL m_bGlobalMove;
BOOL m_bInitialised;
private:
// moves
void fn_vSetNewPosition (char cAxe);
void fn_vSetNewRotation (char cAxe);
void fn_vSetNewScale (char cAxe);
void fn_vRotateX (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
void fn_vRotateY (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
void fn_vRotateZ (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
void fn_vConvertAnglesToRotateMatrix (POS_tdstCompletePosition * pMatrix, MTH3D_tdstVector * pAngles);
void fn_vConvertRotateMatrixToAngles (MTH3D_tdstVector * pAngles, POS_tdstCompletePosition * pMatrix);
public:
// parent editor
EDT_HierarchyEditor * GetParentEditor (void) { return m_pEditor; }
EDT_SuperObject * GetEditedSupObj (void) { return m_pEditedObject; }
CPA_Interface * GetInterface (void);
// standard constructor
EDT_DialogEdit (CWnd* pParent = NULL);
// dialog
void fn_vInitDialog (EDT_HierarchyEditor *pEditor, FRMBase *pFrame);
void fn_vUpdateDialog (void);
void fn_vUpdatePosition (void);
void fn_vUpdateRotation (void);
void fn_vUpdateScale (void);
void fn_vUpdateSuperObject (void);
void fn_vUpdateObject (void);
void fn_vUpdateParent (void);
void fn_vSendMessageMove (void);
BOOL fn_bCanTranslate (void);
BOOL fn_bCanRotate (void);
BOOL fn_bCanScale (void);
//ANNECY Shaitan SPOFlags 17/02/98
BOOL fn_bZoomForScale (void);
//ENDANNECY Shaitan SPOFlags
BOOL fn_bCanRenameObject (void);
BOOL fn_bCanRenameSuperObject (void);
//ROMTEAM StickObjects (Nicolae Suparatu 10/02/98)
void fn_vSetNewPositionAndRotation (EDT_SuperObject *obj, POS_tdstCompletePosition matrix);
//ENDROMTEAM StickObjects (Nicolae Suparatu)
// Dialog Data
//{{AFX_DATA(EDT_DialogEdit)
enum { IDD = EDT_IDD_DIALOGEDIT };
// super-object
CEdit m_cSupObjName;
CButton m_cSupObjGo;
CStatic m_cSupObjOwner;
CStatic m_cSupObjLevel;
//ANNECY CO SPOFLAG 03/02/98
CButton m_cSupObjFlags;
//ENDANNECY CO SPOFLAG
//ANNECY Shaitan Transparency 26/03/98 {
CEdit m_cEditTransparency;
CSliderCtrl m_cSliderTransparency;
//ENDANNECY Shaitan Transparency }
CButton m_cTemp;
// object
CEdit m_cObjectName;
CStatic m_cObjectType, m_cObjectOwner;
CStatic m_cObjectDesc;
// parent
CStatic m_cParentName;
CStatic m_cParentObject;
CStatic m_cParentType, m_cParentOwner;
CButton m_cParentGo;
// position
CEdit m_cPosX, m_cPosY, m_cPosZ;
CEdit m_cScaleX, m_cScaleY, m_cScaleZ;
CEdit m_cRotX, m_cRotY, m_cRotZ;
CSliderCtrl m_cSliderX, m_cSliderY, m_cSliderZ;
CButton m_cGlobalMode, m_cApply;
// default button
CButton m_cDefault;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(EDT_DialogEdit)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(EDT_DialogEdit)
afx_msg void OnChangeSupObjName();
afx_msg void OnObjectGo();
//ANNECY CO SPOFLAG 03/02/98
afx_msg void OnFlags();
//ENDANNECY CO SPOFLAG
//ANNECY Shaitan Transparency 26/03/98 {
afx_msg void OnChangeTransparency();
afx_msg void OnHScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
//ENDANNECY Shaitan Transparency }
afx_msg void OnChangeEditName();
afx_msg void OnLink();
afx_msg void OnParentGo();
afx_msg void OnChangePosx();
afx_msg void OnChangePosy();
afx_msg void OnChangePosz();
afx_msg void OnChangeScalex();
afx_msg void OnChangeScaley();
afx_msg void OnChangeScalez();
afx_msg void OnChangeRotx();
afx_msg void OnChangeRoty();
afx_msg void OnChangeRotz();
afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnGlobalMode();
afx_msg void OnApply();
afx_msg void OnDefaultButton();
afx_msg void OnSize(UINT, int, int);
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif //__DIALOGEDIT_HPP__
#endif // ACTIVE_EDITOR