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.
90 lines
1.8 KiB
90 lines
1.8 KiB
5 years ago
|
//========= 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
|