Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.6 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================//
  6. #ifndef SCENE_H
  7. #define SCENE_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. class CVCDFile;
  12. class CProject;
  13. #include "itreeitem.h"
  14. class CScene : public ITreeItem
  15. {
  16. public:
  17. CScene( CProject *proj, char const *name );
  18. ~CScene();
  19. CProject *GetOwnerProject();
  20. void SetComments( char const *comments );
  21. char const *GetComments( void ) const;
  22. char const *GetName() const;
  23. int GetVCDCount() const;
  24. CVCDFile *GetVCD( int index );
  25. void AddVCD( CVCDFile *vcd );
  26. void RemoveVCD( CVCDFile *vcd );
  27. CVCDFile *FindVCD( char const *filename );
  28. void ValidateTree( mxTreeView *tree, mxTreeViewItem* parent );
  29. virtual CWorkspace *GetWorkspace() { return NULL; }
  30. virtual CProject *GetProject() { return NULL; }
  31. virtual CScene *GetScene() { return this; }
  32. virtual CVCDFile *GetVCDFile() { return NULL; }
  33. virtual CSoundEntry *GetSoundEntry() { return NULL; }
  34. virtual CWaveFile *GetWaveFile() { return NULL; }
  35. bool IsCheckedOut() const;
  36. int GetIconIndex() const;
  37. virtual void Checkout( bool updatestateicons = true );
  38. virtual void Checkin( bool updatestateicons = true );
  39. virtual void MoveChildUp( ITreeItem *child );
  40. virtual void MoveChildDown( ITreeItem *child );
  41. void SetDirty( bool dirty )
  42. {
  43. }
  44. virtual bool IsChildFirst( ITreeItem *child );
  45. virtual bool IsChildLast( ITreeItem *child );
  46. private:
  47. enum
  48. {
  49. MAX_SCENE_NAME = 128,
  50. };
  51. char m_szName[ MAX_SCENE_NAME ];
  52. char *m_pszComments;
  53. CUtlVector< CVCDFile * > m_Files;
  54. CProject *m_pOwner;
  55. };
  56. #endif // SCENE_H