// cpacvwms.hpp : header file
/////////////////////////////////////////////////////////////////////////////
#ifndef _CPACVWMS_HPP_
#define _CPACVWMS_HPP_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "EdAcIRes.h"

//External Modules
#include "CTL.h"
//End of External Modules

class EdActors_MiniStructure;
class EdActors_MiniStructureList;
class EdActors_EditorActor;
class EdActors_ActorMiniStructureList;
class EdActors_MyDocument;

/////////////////////////////////////////////////////////////////////////////
// EdActors_MiniStrucView form view

#ifndef __AFXEXT_H__
#include <afxext.h>
#endif

class EdActors_MiniStrucView : public CTL_Editor_BaseFormView
{
public:
	// protected constructor used by dynamic creation
	EdActors_MiniStrucView();


protected:
	DECLARE_DYNCREATE(EdActors_MiniStrucView)

// Attributes
public:
	CRect m_crEditionRect;

	BOOL m_bMustDragData;
	CTL_Editor_Data *m_pri_pclDataToDrop;

protected:

private:
	//Timer var.
	unsigned char m_ucTimerCounter;
	CTL_Editor_Control *m_pclControlTimerSender;
	CToolTipCtrl *m_pclToolTip;

	HCURSOR m_pri_hDragCursor;
	HCURSOR m_pri_hDisabledDragCursor;

// Implementation
public:
	void m_fn_vDisplayActor(EdActors_EditorActor *pclNewSelectedActor);
	void m_fn_vUpdateTree(EdActors_MiniStructure *pclMS = NULL);

	void m_fn_vUpdateAllDatas();

	EdActors_MyDocument *m_fn_pclGetDocument();
 
protected:

private:
	void m_fn_vCreateAllMS();
	void m_fn_vCreateMS(EdActors_MiniStructureList *pclList);

	void m_fn_vUpdateMSListDatas(	EdActors_MiniStructureList *pclEditorMSList,
																EdActors_ActorMiniStructureList *pclActorMSList);

	void m_fn_vUnhighliteControl();
	void m_fn_vHighliteControl();

// Form Data
public:
	//{{AFX_DATA(EdActors_MiniStrucView)
	enum { IDD = IDD_CAR_D_VIEW_MS };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(EdActors_MiniStrucView)
	public:
//	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual void OnInitialUpdate();
	//}}AFX_VIRTUAL

// Implementation
protected:
	virtual ~EdActors_MiniStrucView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	// Generated message map functions
	//{{AFX_MSG(EdActors_MiniStrucView)
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG
	afx_msg BOOL OnToolTipNotify(UINT id, NMHDR * pTTTStruct, LRESULT * pResult);

	
	DECLARE_MESSAGE_MAP()

friend class CTL_Editor_Control;
};

/////////////////////////////////////////////////////////////////////////////
#endif //_CPACVWMS_HPP_

