www.pudn.com > sancedit.rar > ControlDialog.h


#if !defined(AFX_TESTDIALOG_H__FB02E1E1_0066_11D2_98D4_444553540000__INCLUDED_) 
#define AFX_TESTDIALOG_H__FB02E1E1_0066_11D2_98D4_444553540000__INCLUDED_ 
 
#if _MSC_VER >= 1000 
#pragma once 
#endif // _MSC_VER >= 1000 
// TestDialog.h : header file 
// 
 
#include  
 
struct nodeinfo_struct { 
	char nodename[64]; 
	char entityname[64]; 
	char meshfile[128]; 
	bool isactive; 
}; 
 
enum eEditMode { 
	eNONE, 
	eROTATE, 
	eTRANSLATE, 
	eSCALE 
}; 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CControlDialog dialog 
 
class CControlDialog : public CDialog 
{ 
// Construction 
public: 
	void ClearScene(); 
	void incNodeInstance(char *nodeName); 
	bool importXMLScene(char *filename); 
	void ExportXMLScene(char *filename); 
	void Serialize(CArchive& ar); 
	bool SaveFile(LPCTSTR filename); 
	int CollectionIndexFromName(char *nodeName); 
 
	int m_NumberOfNodes; 
	std::vector m_vNodeCollection; 
	 
	bool IsUniqueEntityNode(char *entityName,char *nodeName); 
	bool AddNode(char *meshFile,char *entityName,char *nodeName); 
	CControlDialog(CWnd* pParent = NULL);   // standard constructor 
	 
	char m_SelectedNodeName[64]; 
	char *GetSelectedNodeName()  
	{ 
		if (m_SelectedNodeName[0] != 0)	return m_SelectedNodeName; 
		else return NULL; 
	} 
 
	eEditMode m_eEditMode; 
	eEditMode GetEditMode() { 
		return m_eEditMode; 
	} 
 
 
	static CControlDialog* m_Inst; 
		 
	static CControlDialog* GetInstance() { 
		return m_Inst; 
	} 
	void EditModeRotate() { 
		OnRotate(); 
	} 
	void EditModeTranslate() { 
		OnPosition(); 
	} 
	void EditModeScale() { 
		OnScale(); 
	} 
 
 
// Dialog Data 
	//{{AFX_DATA(CControlDialog) 
	enum { IDD = IDD_DIALOGBAR }; 
	//}}AFX_DATA 
 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CControlDialog) 
	protected: 
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support 
	//}}AFX_VIRTUAL 
 
// Implementation 
protected: 
	BOOL m_bInit; 
	CTreeCtrl	*m_Edit; 
 
	// Generated message map functions 
	//{{AFX_MSG(CControlDialog) 
	afx_msg void OnSize(UINT nType, int cx, int cy); 
	virtual BOOL OnInitDialog(); 
	virtual void OnOK(); 
	afx_msg void OnSelchangedEdit2(NMHDR* pNMHDR, LRESULT* pResult); 
	afx_msg void OnRotate(); 
	afx_msg void OnPosition(); 
	afx_msg void OnScale(); 
	afx_msg void OnDelete(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Developer Studio will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_TESTDIALOG_H__FB02E1E1_0066_11D2_98D4_444553540000__INCLUDED_)