#pragma once #include "stdafx.h" #include "MBAMContactCommomFunction.h" // CMBContactTreeViewAdapter command target struct ContactTreeItemData { int nType; // ¸Ã½ÚµãµÄÀàÐÍ CString strID; CString strName; CString strDate; void *pData; ContactTreeItemData(){ nType =0; } }; /************************************************************************/ /* UserTreeViewµÄnodeµÄAdapter */ /************************************************************************/ class CMBContactTreeViewAdapter : public STreeAdapterBase { public: CMBContactTreeViewAdapter(); virtual ~CMBContactTreeViewAdapter(); private: virtual void getView(SOUI::HTREEITEM loc, SWindow * pItem, pugi::xml_node xmlTemplate); ; private: CMBAMContactCommomFunction *m_pAMCommomFunction; SUserTreeView *m_pTreeView; public: void SetTreeView( SUserTreeView *pTreeView ); void SetAMContactCommomFunctonPtr( CMBAMContactCommomFunction *pAMCommomFunction); ; ContactTreeItemData &GetItemData( SOUI::HTREEITEM hItem ); void GetLstPathToTreeItem( SOUI::HTREEITEM &hItem,list & lstObj); SOUI::HTREEITEM GetItemByID( SOUI::HTREEITEM & hSelItem,CString strID ); CString GetIDByItem( SOUI::HTREEITEM hItem ); public: void ExpandTreeItem( SOUI::HTREEITEM hItem ); void ExpandParentTreeItem( SOUI::HTREEITEM hItem ); void RemoveChildTreeItem( SOUI::HTREEITEM hItem ); void GetOrgItemIdAndType(const SOUI::HTREEITEM &hItem,CString &strID, int &nType); void GetOrgItemIdNameAndType(const SOUI::HTREEITEM &hItem,CString &strID,CString &strName, int &nType); SOUI::HTREEITEM GetTreeChildItem( SOUI::HTREEITEM &hItem,CString strID, int nType); void SortTreeChildItem( SOUI::HTREEITEM &hItem); private: bool OnItemClick(EventArgs *pEvt); bool OnItemDblClick(EventArgs *pEvt); // Ë«»÷ bool OnItemRClick(EventArgs *pEvt); // ÓÒ¼ü };