summaryrefslogtreecommitdiff
path: root/utils/scenemanager/workspacebrowser.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/scenemanager/workspacebrowser.h')
-rw-r--r--utils/scenemanager/workspacebrowser.h67
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