Resource[Tree]Item: made hidden-flag multi-model capable

The hidden flag has been moved from ResourceTreeItem to ResourceItem
and has been made multi-model capable, i.e. a ResourceModel pointer is
being used for looking up the flag in a hash table.
This commit is contained in:
Tobias Doerffel
2009-08-17 16:50:35 +02:00
parent dfae570700
commit dd42518bb9
3 changed files with 26 additions and 22 deletions

View File

@@ -31,7 +31,6 @@
ResourceTreeItem::ResourceTreeItem( ResourceTreeItem * _parent,
ResourceItem * _item ) :
m_parent( _parent ),
m_hidden( false ),
m_temporaryMarker( false ),
m_item( _item )
{
@@ -67,12 +66,12 @@ ResourceTreeItem::~ResourceTreeItem()
int ResourceTreeItem::rowCount() const
int ResourceTreeItem::rowCount( const ResourceModel * _model ) const
{
int rc = 0;
foreachConstResourceTreeItem( m_children )
{
if( !(*it)->isHidden() )
if( !(*it)->item()->isHidden( _model ) )
{
++rc;
}
@@ -83,12 +82,13 @@ int ResourceTreeItem::rowCount() const
ResourceTreeItem * ResourceTreeItem::getChild( int _row )
ResourceTreeItem * ResourceTreeItem::getChild( int _row,
const ResourceModel * _model )
{
int rc = 0;
foreachResourceTreeItem( m_children )
{
if( !(*it)->isHidden() )
if( !(*it)->item()->isHidden( _model ) )
{
if( rc == _row )
{
@@ -103,7 +103,7 @@ ResourceTreeItem * ResourceTreeItem::getChild( int _row )
int ResourceTreeItem::row() const
int ResourceTreeItem::row( const ResourceModel * _model ) const
{
if( !m_parent )
{
@@ -113,7 +113,7 @@ int ResourceTreeItem::row() const
int row = 0;
foreachConstResourceTreeItem( m_parent->m_children )
{
if( !(*it)->isHidden() )
if( !(*it)->item()->isHidden( _model ) )
{
if( *it == this )
{