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.
89 lines
1.8 KiB
89 lines
1.8 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef ITREEITEM_H |
|
#define ITREEITEM_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class CWorkspace; |
|
class CProject; |
|
class CScene; |
|
class CVCDFile; |
|
class CSoundEntry; |
|
class CWaveFile; |
|
class mxTreeView; |
|
|
|
class ITreeItem |
|
{ |
|
public: |
|
ITreeItem() |
|
{ |
|
m_bExpanded = false; |
|
m_nOrdinal = -1; |
|
} |
|
|
|
virtual char const *GetName() const = 0; |
|
|
|
ITreeItem *GetParentItem(); |
|
|
|
virtual CWorkspace *GetWorkspace() = 0; |
|
virtual CProject *GetProject() = 0; |
|
virtual CScene *GetScene() = 0; |
|
virtual CVCDFile *GetVCDFile() = 0; |
|
virtual CSoundEntry *GetSoundEntry() = 0; |
|
virtual CWaveFile *GetWaveFile() = 0; |
|
|
|
virtual int GetIconIndex() const = 0; |
|
|
|
bool IsExpanded() const |
|
{ |
|
return m_bExpanded; |
|
} |
|
|
|
void SetExpanded( bool exp ) |
|
{ |
|
m_bExpanded = exp; |
|
} |
|
|
|
mxTreeViewItem *FindItem( mxTreeView *tree, mxTreeViewItem *parent, bool recurse = false ); |
|
|
|
virtual void Checkout( bool updatestateicons = true ) = 0; |
|
virtual void Checkin( bool updatestateicons = true ) = 0; |
|
|
|
virtual void MoveChildUp( ITreeItem *child ) = 0; |
|
virtual void MoveChildDown( ITreeItem *child ) = 0; |
|
|
|
virtual bool IsFirstChild() |
|
{ |
|
if ( !GetParentItem() ) |
|
return false; |
|
|
|
return GetParentItem()->IsChildFirst( this ); |
|
} |
|
|
|
virtual bool IsLastChild() |
|
{ |
|
if ( !GetParentItem() ) |
|
return false; |
|
|
|
return GetParentItem()->IsChildLast( this ); |
|
} |
|
|
|
virtual bool IsChildFirst( ITreeItem *child ) = 0; |
|
virtual bool IsChildLast( ITreeItem *child ) = 0; |
|
|
|
void SetOrdinal( int ordinal ) { m_nOrdinal = ordinal; } |
|
int GetOrdinal( void ) const { return m_nOrdinal; } |
|
|
|
virtual void SetDirty( bool dirty ) = 0; |
|
private: |
|
bool m_bExpanded; |
|
int m_nOrdinal; |
|
}; |
|
|
|
#endif // ITREEITEM_H
|
|
|