diff options
Diffstat (limited to 'utils/scenemanager/workspacebrowser.h')
| -rw-r--r-- | utils/scenemanager/workspacebrowser.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/utils/scenemanager/workspacebrowser.h b/utils/scenemanager/workspacebrowser.h new file mode 100644 index 0000000..a99a311 --- /dev/null +++ b/utils/scenemanager/workspacebrowser.h @@ -0,0 +1,67 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef WORKSPACEBROWSER_H +#define WORKSPACEBROWSER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "mxtk/mxTreeView.h" +#include "commctrl.h" + +class CWorkspace; +class CProject; +class CScene; +class CVCDFile; +class CSoundEntry; + +class CBrowserTree; +class ITreeItem; +class CWorkspaceManager; + +class CWorkspaceBrowser : public mxWindow +{ + typedef mxWindow BaseClass; +public: + + CWorkspaceBrowser( mxWindow *parent, CWorkspaceManager *manager, int id ); + + CWorkspace *GetWorkspace(); + void SetWorkspace( CWorkspace *w ); + void AddProject( CProject *project ); + + virtual int handleEvent( mxEvent *event ); + + ITreeItem *GetSelectedItem(); + + void PopulateTree(); + + static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); + + + void JumpTo( ITreeItem *item ); + +private: + + CWorkspaceManager *GetManager(); + + void OnTreeItemSelected( int x, int y, bool rightmouse, bool doubleclick ); + + CWorkspace *m_pCurrentWorkspace; + + CBrowserTree *m_pTree; + + enum + { + NUM_BITMAPS = 12, + }; + + ITreeItem *m_pLastSelected; + CWorkspaceManager *m_pManager; +}; + +#endif // WORKSPACEBROWSER_H |