hl2_src-leak-2017/src/utils/scenemanager/scene.h

76 lines
1.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef SCENE_H
#define SCENE_H
#ifdef _WIN32
#pragma once
#endif
class CVCDFile;
class CProject;
#include "itreeitem.h"
class CScene : public ITreeItem
{
public:
CScene( CProject *proj, char const *name );
~CScene();
CProject *GetOwnerProject();
void SetComments( char const *comments );
char const *GetComments( void ) const;
char const *GetName() const;
int GetVCDCount() const;
CVCDFile *GetVCD( int index );
void AddVCD( CVCDFile *vcd );
void RemoveVCD( CVCDFile *vcd );
CVCDFile *FindVCD( char const *filename );
void ValidateTree( mxTreeView *tree, mxTreeViewItem* parent );
virtual CWorkspace *GetWorkspace() { return NULL; }
virtual CProject *GetProject() { return NULL; }
virtual CScene *GetScene() { return this; }
virtual CVCDFile *GetVCDFile() { return NULL; }
virtual CSoundEntry *GetSoundEntry() { return NULL; }
virtual CWaveFile *GetWaveFile() { return NULL; }
bool IsCheckedOut() const;
int GetIconIndex() const;
virtual void Checkout( bool updatestateicons = true );
virtual void Checkin( bool updatestateicons = true );
virtual void MoveChildUp( ITreeItem *child );
virtual void MoveChildDown( ITreeItem *child );
void SetDirty( bool dirty )
{
}
virtual bool IsChildFirst( ITreeItem *child );
virtual bool IsChildLast( ITreeItem *child );
private:
enum
{
MAX_SCENE_NAME = 128,
};
char m_szName[ MAX_SCENE_NAME ];
char *m_pszComments;
CUtlVector< CVCDFile * > m_Files;
CProject *m_pOwner;
};
#endif // SCENE_H