00001 #include <QtCore/QtDebug> 00002 #include <QtCore/QList> 00003 00004 #include "ACE/foldertreeitem.h" 00005 00006 FolderTreeItem::FolderTreeItem( QList<QVariant>& data, FolderTreeItem* parent ) 00007 { 00008 parentTreeItem = parent; 00009 treeItemData = data; 00010 } 00011 00012 FolderTreeItem::~FolderTreeItem() 00013 { 00014 qDeleteAll( childTreeItems ); 00015 } 00016 00017 void FolderTreeItem::appendChild( FolderTreeItem* item ) 00018 { 00019 childTreeItems.append(item); 00020 } 00021 00022 void FolderTreeItem::insertChild( FolderTreeItem* item, int row ) 00023 { 00024 childTreeItems.insert( row, item ); 00025 } 00026 00027 void FolderTreeItem::removeChildAt( int row ) 00028 { 00029 childTreeItems.removeAt( row ); 00030 } 00031 00032 FolderTreeItem* FolderTreeItem::child( int row ) 00033 { 00034 return childTreeItems.value( row ); 00035 } 00036 00037 int FolderTreeItem::childCount() const 00038 { 00039 return childTreeItems.count(); 00040 } 00041 00042 int FolderTreeItem::columnCount() const 00043 { 00044 return treeItemData.count(); 00045 } 00046 00047 QVariant FolderTreeItem::data( int column ) const 00048 { 00049 return treeItemData.value( column ); 00050 } 00051 00052 bool FolderTreeItem::setData( const QVariant& data, int column ) 00053 { 00054 treeItemData.replace( column, data ); 00055 return true; 00056 } 00057 00058 FolderTreeItem* FolderTreeItem::parent() 00059 { 00060 return parentTreeItem; 00061 } 00062 00063 int FolderTreeItem::row() const 00064 { 00065 if ( parentTreeItem ) 00066 return parentTreeItem->childTreeItems.indexOf( const_cast<FolderTreeItem*>( this ) ); 00067 00068 return 0; 00069 } 00070 00071 int FolderTreeItem::pos( QString& subFolder ) const 00072 { 00073 int fPos( -1 ); 00074 foreach ( FolderTreeItem* childTreeItem, childTreeItems ) 00075 { 00076 if ( childTreeItem->treeItemData[ 0 ] == subFolder ) 00077 return ++fPos; 00078 ++fPos; 00079 } 00080 return -1; 00081 }