#pragma once #include "stdafx.h" #include "MBMenuSubscribeMgr.h" #include "MBDocSvrCommomFtn.h" class CMBDocWnd; /************************************************************************/ /* ÎĵµµÄͨÓù¦ÄÜ */ /************************************************************************/ class CMBDocCommomFtn { public: CMBDocCommomFtn(void); ~CMBDocCommomFtn(void); private: SOUI::SWindow *m_pPageRoot; // Ö÷´°¿Ú CMBDocWnd *m_pDocWnd; // Îĵµ´°Ìå HWND m_hWnd; CMBViewWndMgr *m_pViewWndMgr; // ä¯ÀÀ¹ÜÀíÆ÷ CMBQueryMgr *m_pQueryMgr; // ²éѯ¹ÜÀíÆ÷ private: CMBMenuSubscribeMgr *m_pMenuSubscribeMgr; // ²Ëµ¥¶©ÔĹÜÀíÆ÷ public: // ÅÅÐòËùʹÓà int m_nSortCol; // ÅÅÐòÁÐ SHDSORTFLAG m_stSortFlag; // ·´Ðò±êʶ public: void SetPageRootPtr( SOUI::SWindow *pPageRoot ); void OnItemButtonClick( CMBBaseObj *pObj ); // ÏÔʾÎĵµ¹ñ¹ÜÀíÔ±ÓëĿ¼¹ÜÀíÔ± void OnDbBtnClickInQuery(CMBBaseObj *pBaseObj); // ÔÚ²éѯÊý¾Ýʱ£¬Ë«»÷ void OnRItemBtnClick( CMBBaseObj *pObj ); // ÓÒ¼üÎĵµÊ± void OnQueryRItemBtnClick( CMBBaseObj *pObj ); // µ±²éѯʱ£¬ÓÒ¼üÎĵµ bool OnDbButtonClickDoc(SOUI::HTREEITEM hItem,CMBBaseDocObj *pDocInfo); // Ë«»÷µã»÷ÎĵµÊ± bool OnItemNameKillFocusClick(CMBBaseObj *pObj,CString strNewName,CString &strErrInfo); // ×ÓÏî½¹µãÏûʧʱ bool OnMcLstCheckClick(CMBBaseObj *pBaseObj); // checkÑ¡Ôñ bool OnTreeItemRClick( SStringT strType,SStringT strName,void *pData ); // Ê÷¿Ø¼þÏîÓÒ¼ü bool OnTreeItemDBClick(SOUI::HTREEITEM hItem, SStringT strType,SStringT strName,void *pData ); // Ê÷¿Ø¼þÏîÓÒ¼ü public: void EnableDownLoadToolBar( bool bDownload ); void EnableDeleteToolBar( bool bDelete ); public: void SetWnd(HWND hWnd); void SetDocWnd( CMBDocWnd *pDocWnd ); public: void SetQueryMgr( CMBQueryMgr *pQueryMgr ); public: bool IsCanientAdmin( CString strAdmin ); // ÊÇ·ñÊÇÎĵµ¹ñ¹ÜÀíÔ± bool IsCanientRecycleAdmin( CString strAdmin, CString strRecycleAdmin ); // ÊÇ·ñÊÇÎĵµ¹ñ»ØÊÕÕ¾¹ÜÀíÔ± bool IsCatalogAdmin( CString strMasterID ); // ÊÇ·ñÊÇĿ¼¹ÜÀíÔ± bool IsTreePrevsCatalogAdmin( ); // Éϼ¶ÊÇĿ¼¹ÜÀíÔ± bool IsTreePrevsCaninetAdmin( ); // Éϼ¶ÊÇ·ñÎĵµ¹ñ¹ÜÀíÔ± bool IsTreePrevsCaninetAdmin( SOUI::HTREEITEM &hItem ); // Éϼ¶ÊÇ·ñÎĵµ¹ñ¹ÜÀíÔ± bool IsHasTreePrevsCatalogAdmin( SOUI::HTREEITEM &hItem ); // Éϼ¶ÊÇ·ñÓÐĿ¼¹ÜÀíÔ± bool IsItemTypeApp( SOUI::HTREEITEM hItem ); // App bool IsItemTypeCabinet( SOUI::HTREEITEM hItem ); // Cabinet bool IsItemTypeCatalog( SOUI::HTREEITEM hItem ); // Catalog CMBBaseCabinetObj *GetTreeCabinetInfo( SOUI::HTREEITEM hItem ); // µÃµ½Îĵµ¹ñÐÅÏ¢ CMBBaseCabinetObj *GetTreeCabinetInfo(); // µÃµ½Îĵµ¹ñÐÅÏ¢ CString GetTreeCabinetID( SOUI::HTREEITEM hItem ); // µÃµ½Îĵµ¹ñÐÅÏ¢ CString GetTreeCabinetID( ); // µÃµ½Îĵµ¹ñÐÅÏ¢ bool IsPsnCabinet( ); // µ±Ç°ÊǸöÈËÎĵµ¹ñ CMBBaseCatalogObj *GetTreeCatalogInfo( SOUI::HTREEITEM hItem ); // µÃµ½Ä¿Â¼ÐÅÏ¢ CMBBaseCatalogObj *GetCatalogInfoAdmin( SOUI::HTREEITEM hItem ); // µÃµ½Ä¿Â¼¹ÜÀíÔ±ÐÅÏ¢ CMBBaseCatalogObj *GetCatalogInfo( SOUI::HTREEITEM hItem ); // µÃµ½Ä¿Â¼ÐÅÏ¢ CString GetCurTreeCatalogName(); // µÃµ½Ä¿Â¼Ãû³Æ CString GetAdminTreeItem( SOUI::HTREEITEM &hItem ); // µÃµ½Ê÷½ÚµãµÄÏîµÄ¹ÜÀíÔ± CString GetTreeItemID( SOUI::HTREEITEM hItem ); // µÃµ½tree¶ÔÓ¦µÄ¶ÔÏóID public: CMBBaseObj *GetTreeSelItemObj(); CString GetTreeSelItemID(); CString GetNdTreeSelItemObjID( ); // µÃµ½Ñ¡Ôñ¶ÔÏóµÄID void GetCabinetIDAndCatalogID(const SOUI::HTREEITEM &hItem,CString &strCabinetID,int &nCabinetType,CString &strCatalogID,CString &strFileSFlag); void GetCabinetIDAndCatalogID(const SOUI::HTREEITEM &hItem,CString &strCabinetID,CString &strCatalogID); void GetCabinetInfo(CString &strCabinetID,int &nCabinetType,CString &strFileSFlag); CString GetServerPath( const SOUI::HTREEITEM &hItem ); // µÃµ½·þÎñÆ÷·¾¶ CString GetServerPath( CMBBaseObj *pBaseObj ); // µÃµ½·þÎñÆ÷·¾¶ void SelfAddCount( const SOUI::HTREEITEM &hItem ); // ×ÔÔöµ±Ç°×ÓÏî SOUI::HTREEITEM GetTreeChildItem( SOUI::HTREEITEM &hItem,CString &strCabineID,CString &strCatalogID); // µÃµ½×ÓÏî public: SOUI::HTREEITEM TreeInsertCatalogItem(SOUI::HTREEITEM &hItem,CMBBaseCatalogObj * pBaseCatalogObj); // ÏòTREE²åÈëcatalog bool AddCatalogToObj(CMBBaseObj *pObj, CMBBaseCatalogObj *pBaseCatalogObj ); // ÏòobjÖÐÔö¼Ócatalog bool AddDocToObj(CMBBaseObj *pObj, CMBBaseDocObj *pBaseDocObj ); // ÏòobjÖÐÔö¼ÓDoc bool IsAddDocToObj(CMBBaseObj *pObj); // ÊÇ·ñÌí¼Óobj¶ÔÏó bool ChangeFileLstStyle(int nStyle); // Çл»ÎļþÁбíµÄ·ç¸ñ bool ChangeStyleIn(int nStyle); // Çл»ÎļþÁбíµÄ·ç¸ñ£¬ÔÚ²»²éѯÇé¿öÏ bool ChangeStyleInQuery(int nStyle); // Çл»ÎļþÁбíµÄ·ç¸ñ£¬ÔÚ²éѯÇé¿öÏ public: bool AssociateDldFile(int nStyle,CString strFrom,CMBDownloadFileMgr *pDownloadFileMgr,CString strCabinetID,CString strPath ); // ¹ØÁªÏÂÔØÎļþ bool AssociateQueryDldFile(int nStyle,CString strFrom,CMBDownloadFileMgr *pDownloadFileMgr,CString strCabinetID,CString strPath ); bool AssociateDldFileToFtnEd(CMBDownloadFileMgr *pDownloadFileMgr,CMBBaseObj *pObj,CString strCabinetID,CString strPath,CString strFrom ); bool SetDldFile(CMBBaseObj *pObj,CMBDownloadFileMgr *pDownloadFileMgr,CString strCabinetID,CString strPath,CString strFrom ); // ÉèÖÃÏÂÔØÎļþ bool SetDldFileToFtnEd(CMBBaseObj *pObj,CMBDownloadFileMgr *pDownloadFileMgr,CString strCabinetID,CString strPath,CString strFrom ); // ÉèÖÃÏÂÔØÎļþ bool AssociateSelFile(int nStyle,CMBSelObjMgr *pSelObjMgr); // ¹ØÁªÑ¡ÔñµÄÎļþ bool AssociateSelFile(CMBSelObjMgr *pSelObjMgr); // ¹ØÁªÑ¡ÔñµÄÎļþ bool AssociateSelQueryFile(int nStyle,CMBSelObjMgr *pSelObjMgr); // ¹ØÁªÑ¡ÔñµÄÎļþ bool AddAssociateSelFile( CMBBaseObj *pObj,CMBSelObjMgr *pSelObjMgr ); // Ôö¼ÓÑ¡ÔñµÄÎļþ public: bool GetSelITem( int nStyle,CObList &lstObj ); // »ñµÃÑ¡ÔñµÄdocÎļþ bool ViewDoc( SOUI::HTREEITEM & hItem,CMBBaseDocObj *pDoc,CString &strErrInfo ); // ä¯ÀÀÎļþ bool ViewPsnDoc( SOUI::HTREEITEM & hItem,CMBBaseDocObj *pDoc,CString &strErrInfo ); // ä¯ÀÀ¸öÈËÎļþ bool ViewCommonDoc( SOUI::HTREEITEM & hItem,CMBBaseDocObj *pDoc,CString &strErrInfo ); // ä¯ÀÀͨÓÃÎļþ void ViewImage( SOUI::HTREEITEM hItem,CMBBaseDocObj *pDocObj ); // ä¯ÀÀͼƬ public: bool CancelCmderFileAsyn( CString strSvrFlag,long nTrID ); // È¡ÏûÉÏ´«»òÕßÏÂÔØ public: // Ñ¡ÖÐʱ£¬ÉèÖÃ״̬ void SelItemSetToolBarEnable( int nSelItemCount ); public: int GetDeleteMark(); CString GetCurPermit(); public: // ´ÓĿ¼·¾¶ÖУ¬µÃµ½Òª´´½¨µÄĿ¼ÐÅÏ¢ void GetCatalogInfoOnCatalogPath( CString strCatalogPath,CString strMatchPath,CString &strCatalogID,CString &strCatalogName ); public: void TreeRemoveAllItem(); // Çå³ýËùÓÐÏî public: // ¹¤¾ßÌõ void ToolBarCreateCatalog( CString strCatalogName ); // ´´½¨Ä¿Â¼ private: bool DeleteSelCatalog(int nDeleteMark,CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CMBBaseObj *pObj,CString &strErrInfo ); bool DeleteSelDoc(int nDeleteMark,CString strCabinetID,CMBSelObjMgr *pSelObjMgr, CMBBaseObj *pObj,CString &strErrInfo ); bool DeleteSelPsnCatalog(CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CMBBaseObj *pObj,CString &strErrInfo ); bool DeleteSelPsnDoc(CString strCabinetID,CMBSelObjMgr *pSelObjMgr, CMBBaseObj *pObj,CString &strErrInfo ); bool DeleteSelQueryCatalog(int nDeleteMark,CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); bool DeleteSelQueryDoc(int nDeleteMark,CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); bool DeleteSelPsnQueryCatalog(CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); bool DeleteSelPsnQueryDoc(CString strCabinetID,CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); public: bool DeleteSelObj( CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); // ɾ³ýÑ¡ÔñµÄ¶ÔÏó bool DeleteSelObj2( CMBSelObjMgr *pSelObjMgr ); // ɾ³ýÑ¡ÔñµÄ¶ÔÏó bool DeleteSelQueryObj( CMBSelObjMgr *pSelObjMgr,CString &strErrInfo ); // ɾ³ýÑ¡ÔñµÄ²éѯ¶ÔÏó public: bool DeleteTreeSubItem(SOUI::HTREEITEM hItem,CString strID); // ɾ³ýÊ÷¿Ø¼þ×ÓÏî bool DeleteTreeSubItem(CString strID); // ɾ³ýÊ÷¿Ø¼þ×ÓÏî bool SetItemCanEdit(CMBBaseObj *pObj,CString &strErrInfo); // ÉèÖöÔÏó¿É±à¼­ public: void TreeInsertItem( SOUI::HTREEITEM hItem,CMBBaseCatalogObj *pCatalogObj); // ÔÚtreeÉÏÌí¼ÓĿ¼ public: bool QueryDocOpenTheCatalog(CMBBaseObj *pBaseObj,CString &strErrInfo); // ÔÚ²éѯÊý¾Ýʱ£¬´ò¿ªËùÔÚĿ¼ void TreeItemClick( bool bIsDms,CString strCatalogPath ); // ¸ù¾ÝÖ¸¶¨µÄĿ¼£¬µãtreeÏî public: CString GetFromFctn( ); // »ñÈ¡¹¦ÄܵãÀ´Ô´ private: bool MoveCatalogTo(CMBSelObjMgr *pSelObjMgr,CMBBaseObj *pTargetObj,CString &strErrInfo); // ÒÆ¶¯µ½ bool MoveDocTo(CMBSelObjMgr *pSelObjMgr,CMBBaseObj *pTargetObj,CString &strErrInfo); // ÒÆ¶¯µ½ public: void SetReload( CMBBaseObj *pBaseObj,CMBSelObjMgr *pSelObjMgr ); // ÉèÖöÔÏóÖØÐ¼ÓÔØ bool MoveTo(CMBSelObjMgr *pSelObjMgr,CMBBaseObj *pTargetObj,CString &strErrInfo); // ÒÆ¶¯µ½ public: void GetSendDir( CString &strDir,CString strTitle ); bool ReName( CMBBaseObj *pObj,CString strNewName,CString &strErrInfo ); };