使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 0408576e9da10015ffa9da0079b8c985113ce4b3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#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  );
};