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.
|
|
//========= 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
|