mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-24 19:30:26 +01:00
104 lines
3.5 KiB
C++
104 lines
3.5 KiB
C++
/* 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
|