#if !defined(AFX_OBJTREEVIEW_H__9133D0A3_EFD0_4B49_B5E0_9EE0047C8114__INCLUDED_)
#define AFX_OBJTREEVIEW_H__9133D0A3_EFD0_4B49_B5E0_9EE0047C8114__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ObjTreeView.h : header file
//
#include "ObjManTreeTarget.h"
class GUIObjectList;
class CObjListView;
class ObjectManager;
class EdGUIObject;

/////////////////////////////////////////////////////////////////////////////
// CObjTreeView view

class CObjTreeView : public CView
{
friend class CObjManTreeTarget;
protected:
	CObjTreeView();           // protected constructor used by dynamic creation
	DECLARE_DYNCREATE(CObjTreeView)
	CObjManTreeTarget DropTarget;
	GUIObjectList *ObjectAtPoint(CPoint &pnt);
	void ListDropAt(CPoint &pnt);
	bool CanListDropAt(CPoint &pnt);
	// Attributes
public:
	void ExpandAll(HTREEITEM itm=TVI_ROOT);
	void Refresh(GUIObjectList *objman,bool expandlist=false);
	GUIObjectList *GetSelList();
	CTreeCtrl m_Tree;
	ObjectManager *ObjMan;
	CObjListView *MyList;
	void SetImageList(CImageList *ilist);
	bool DrillDownTo(EdGUIObject *gobj);
	bool InTree(EdGUIObject *gobj);
	// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CObjTreeView)
	protected:
	virtual void OnDraw(CDC* pDC);      // overridden to draw this view
	virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
	//}}AFX_VIRTUAL

// Implementation
protected:
	HTREEITEM FindItem(EdGUIObject *gobj,HTREEITEM itm=TVI_ROOT);
	virtual ~CObjTreeView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	// Generated message map functions
protected:
	//{{AFX_MSG(CObjTreeView)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_OBJTREEVIEW_H__9133D0A3_EFD0_4B49_B5E0_9EE0047C8114__INCLUDED_)
