diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /utils/hlfaceposer/vcdbrowser.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'utils/hlfaceposer/vcdbrowser.h')
| -rw-r--r-- | utils/hlfaceposer/vcdbrowser.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/utils/hlfaceposer/vcdbrowser.h b/utils/hlfaceposer/vcdbrowser.h new file mode 100644 index 0000000..d2e82ff --- /dev/null +++ b/utils/hlfaceposer/vcdbrowser.h @@ -0,0 +1,120 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef VCDBROWSER_H +#define VCDBROWSER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "mxtk/mxListView.h" +#include "commctrl.h" +#include "utldict.h" +#include "faceposertoolwindow.h" +#include "filesystem.h" +#include "tier1/UtlSortVector.h" + +class CVCDList; +class CUtlSymbolTree; +class CVCDOptionsWindow; +// class CChoreoEvent; + +struct _IMAGELIST; +typedef struct _IMAGELIST NEAR* HIMAGELIST; + +enum +{ +/// IMAGE_WORKSPACE = 0, +// IMAGE_WORKSPACE_CHECKEDOUT, +// IMAGE_PROJECT, +// IMAGE_PROJECT_CHECKEDOUT, +// IMAGE_SCENE, +// IMAGE_SCENE_CHECKEDOUT, +// IMAGE_VCD, +// IMAGE_VCD_CHECKEDOUT, +// IMAGE_WAV, +// IMAGE_WAV_CHECKEDOUT, +// IMAGE_SPEAK, +// IMAGE_SPEAK_CHECKEDOUT, + + VCD_NUM_IMAGES, +}; + +class CVCDBrowser : public mxWindow, public IFacePoserToolWindow +{ + typedef mxWindow BaseClass; +public: + + CVCDBrowser( mxWindow *parent ); + + virtual int handleEvent( mxEvent *event ); + virtual void OnDelete(); + + void RepopulateTree(); + + void BuildSelectionList( CUtlVector< FileNameHandle_t >& selected ); + + void OnOpen(); + + void JumpToItem( const FileNameHandle_t& vcd ); + + int GetVCDCount() const; + FileNameHandle_t GetVCD( int index ); + + void OnSearch(); + void OnCancelSearch(); + + HIMAGELIST CreateImageList(); + + void SetCurrent( char const *fn ); + +private: + + class CNameLessFunc + { + public: + bool Less( const FileNameHandle_t &name1, const FileNameHandle_t &name2, void *pContext ); + }; + + + void OpenVCD( const FileNameHandle_t& handle ); + + char const *GetSearchString(); + + bool LoadVCDsFilesInDirectory( CUtlSortVector< FileNameHandle_t, CNameLessFunc >& soundlist, char const* pDirectoryName, int nDirectoryNameLen ); + bool InitDirectoryRecursive( CUtlSortVector< FileNameHandle_t, CNameLessFunc >& soundlist, char const* pDirectoryName ); + + void PopulateTree( char const *subdirectory ); + + void ShowContextMenu( void ); + + void LoadAllSounds(); + void RemoveAllSounds(); + + CVCDList *m_pListView; + + enum + { + NUM_BITMAPS = 6, + }; + + CUtlSortVector< FileNameHandle_t, CNameLessFunc > m_AllVCDs; + CUtlSymbolTable m_ScriptTable; + + CUtlVector< CUtlSymbol > m_Scripts; + + CVCDOptionsWindow *m_pOptions; + CUtlSymbolTree *m_pFileTree; + + CUtlVector< FileNameHandle_t > m_CurrentSelection; + + int m_nPrevProcessed; + bool m_bTextSearch; +}; + +extern CVCDBrowser *g_pVCDBrowser; + +#endif // VCDBROWSER_H |