123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /* Copyright (c) 2002-2012 Croteam Ltd.
- This program is free software; you can redistribute it and/or modify
- it under the terms of version 2 of the GNU General Public License as published by
- the Free Software Foundation
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
- // Browser.h : header file
- //
- #ifndef BROWSER_H
- #define BROWSER_H 1
- #define VIRTUAL_TREE_VERSION "V008"
- #define DIRECTORY_SHORTCT_CT 10
- // Constants defining borders, tree and scroll bar sizes
- #define H_BORDER 8
- #define V_BORDER 8
- #define CLOSED_TREE 40
- #define OPEN_TREE 200
- class CBrowser : public CDialogBar
- {
- // Construction
- public:
- CBrowser();
- BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle,
- UINT nID, BOOL = TRUE);
-
- // Attributes
- public:
- CTString m_astrVTreeBuffer[DIRECTORY_SHORTCT_CT][32];
- INDEX m_aiSubDirectoriesCt[DIRECTORY_SHORTCT_CT];
- CSize m_Size;
- SLONG m_TreeHeight;
- PIXaabbox2D m_boxBrowseWnd;
- PIXaabbox2D m_boxTreeWnd;
- CBrowseWindow m_BrowseWindow;
- CImageList m_IconsImageList;
- CVirtualTreeCtrl m_TreeCtrl;
- CVirtualTreeNode m_VirtualTree; // Internal virtual tree structure list head
- BOOL m_bVirtualTreeChanged;
- // Operations
- void AddDirectoryRecursiv(CVirtualTreeNode *pOneDirectory, HTREEITEM hParent);
- void LoadVirtualTree_t( CTFileName fnVirtulTree, CVirtualTreeNode *pvtnRoot);
- // separate subdirectory names along current path
- INDEX GetSelectedDirectory( CTString strArray[]);
- // selects sub directory using given path
- void SelectVirtualDirectory( CTString strArray[], INDEX iSubDirsCt);
- HTREEITEM GetVirtualDirectoryItem( CTString strArray[], INDEX iSubDirsCt);
- // functions for finding items inside virtal tree
- void SelectItemDirectory( CTFileName fnItemFileName);
- CVirtualTreeNode *FindItemDirectory( CVirtualTreeNode *pvtnInDirectory, CTFileName fnItem);
- void SaveVirtualTree(CTFileName fnSave, CVirtualTreeNode *pvtn);
- void DeleteDirectory(void);
- CVirtualTreeNode *GetSelectedDirectory(void);
- void OpenSelectedDirectory(void);
- void CloseSelectedDirectory(void);
- void OnLoadVirtualTreeInternal(CTFileName fnVirtulTree, CVirtualTreeNode *pvtnRoot);
- CTFileName GetIOFileName(CTString strTitle, BOOL bSave);
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CBrowser)
- //}}AFX_VIRTUAL
-
- // Implementation
- public:
- virtual CSize CalcDynamicLayout( int nLength, DWORD dwMode );
- void OnUpdateVirtualTreeControl(void);
-
- // Generated message map functions
- //protected:
- //{{AFX_MSG(CBrowser)
- afx_msg void OnCreateDirectory();
- afx_msg void OnDeleteDirectory();
- afx_msg void OnSaveVirtualTree();
- afx_msg void OnLoadVirtualTree();
- afx_msg void OnRenameDirectory();
- afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- afx_msg void OnSaveAsVirtualTree();
- afx_msg void OnImportVirtualTree();
- afx_msg void OnExportVirtualTree();
- afx_msg void OnUpdateImportVirtualTree(CCmdUI* pCmdUI);
- afx_msg void OnUpdateExportVirtualTree(CCmdUI* pCmdUI);
- afx_msg void OnDumpVt();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
-
- /////////////////////////////////////////////////////////////////////
- #endif // BROWSER_H
|