unsigned int ArtifactViewModel::GetChildren(const wxDataViewItem &item, wxDataViewItemArray &children) const { // Root item if (!item) { for (auto& slot : m_artifactBag) { auto artifactPtr = slot.second.get(); children.Add(wxDataViewItem(artifactPtr)); } return m_artifactBag.size(); } const auto& artifact = *reinterpret_cast<Artifact*>(item.GetID()); if (!artifact.GetInfusedArtifacts().empty()) { const auto& infusedArtifacts = artifact.GetInfusedArtifacts(); for (auto& infusedArtifact : infusedArtifacts) { auto artifactPtr = infusedArtifact.get(); children.Add(wxDataViewItem(artifactPtr)); } return infusedArtifacts.size(); } assert(!!"Should not happen"); return 0; }
unsigned int MyMusicTreeModel::GetChildren( const wxDataViewItem &parent, wxDataViewItemArray &array ) const { MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) parent.GetID(); if (!node) { array.Add( wxDataViewItem( (void*) m_root ) ); return 1; } if (node == m_classical) { MyMusicTreeModel *model = (MyMusicTreeModel*)(const MyMusicTreeModel*) this; model->m_classicalMusicIsKnownToControl = true; } if (node->GetChildCount() == 0) { return 0; } unsigned int count = node->GetChildren().GetCount(); for (unsigned int pos = 0; pos < count; pos++) { MyMusicTreeModelNode *child = node->GetChildren().Item( pos ); array.Add( wxDataViewItem( (void*) child ) ); } return count; }
unsigned int ProjectViewModel::GetChildren( const wxDataViewItem& item, wxDataViewItemArray& items ) const { int count = 0; Asset *pAsset = NULL; if (!item.IsOk()) { ForciblyFullyLoadedPackageManager::GetStaticInstance()->ForceFullyLoadRootPackages(); pAsset = Asset::GetFirstTopLevelAsset(); } else { Asset* pParentAsset = static_cast< Asset* >( item.GetID() ); if ( pParentAsset->IsPackage() ) { ForciblyFullyLoadedPackageManager::GetStaticInstance()->ForceFullyLoadPackage( pParentAsset->GetPath() ); } pAsset = pParentAsset->GetFirstChild(); } while (pAsset) { //if ( m_AssetsInTree.Insert( pAsset ).Second() ) { items.Add( wxDataViewItem( pAsset ) ); ++count; } pAsset = pAsset->GetNextSibling(); } return count; }
unsigned int TreeListModel::GetChildren(const wxDataViewItem& item, wxDataViewItemArray& children) const { if(item.GetID() == NULL) { // Root for(size_t i=0; i<m_data.size(); ++i) { children.Add( wxDataViewItem( m_data.at(i) ) ); } return children.size(); } children.Clear(); TreeListModel_Item* node = reinterpret_cast<TreeListModel_Item*>(item.m_pItem); if ( node ) { for(size_t i=0; i<node->GetChildren().size(); ++i) { children.Add( wxDataViewItem( node->GetChildren().at(i) ) ); } } return children.GetCount(); }
unsigned int GNC::GUI::AcquisitionNode::GetChildren(wxDataViewItemArray &array ) { if (IsSeriesNode()) { return 0; } else { for (TMapIndex::const_iterator it = seriesMap.begin(); it != seriesMap.end(); ++it) { array.Add( wxDataViewItem( (void*) (*it).second) ); } return seriesMap.size(); } }
virtual unsigned int GetChildren(const wxDataViewItem &parent, wxDataViewItemArray &array) const { const ReplayProvider* provider = (ReplayProvider*)parent.GetID(); if (!provider) provider = m_root; for (auto it = provider->provider.begin(); it != provider->provider.end(); ++it) { ReplayProvider* childProvider = (ReplayProvider*)it->get(); array.Add(wxDataViewItem((void*)childProvider)); } return provider->provider.size(); }
unsigned int GNC::GUI::AcquisitionTableModel::GetChildren( const wxDataViewItem &parent, wxDataViewItemArray &array ) const { AcquisitionNode *node = (AcquisitionNode*) parent.GetID(); if (!node) { unsigned int count = studyMap.size(); for (TMapIndex::const_iterator it = studyMap.begin(); it != studyMap.end(); ++it) { array.Add( wxDataViewItem( (void*) (*it).second) ); } return count; } else if (node->IsStudyNode()) { //return series from study... node->GetChildren(array); return array.Count(); } return 0; }
//===================================================================================== /*virtual*/ unsigned int WinnerPanel::WinEntryDataViewModel::GetChildren( const wxDataViewItem& item, wxDataViewItemArray& children ) const { if( item.IsOk() ) return 0; for( Mongo::WinEntryList::const_iterator iter = winEntryList.cbegin(); iter != winEntryList.cend(); iter++ ) { const Mongo::WinEntry* winEntry = *iter; wxDataViewItem item; item.m_pItem = ( void* )winEntry; children.Add( item ); } return winEntryList.size(); }
unsigned int vvStampsModel::GetChildren( const wxDataViewItem& cItem, wxDataViewItemArray& cChildren ) const { // if this isn't the invisible root, it has no children if (cItem.IsOk()) { return 0u; } // return a list of all of our items for (stlDataItemMap::const_iterator it = this->mcDataItems.begin(); it != this->mcDataItems.end(); ++it) { cChildren.Add(this->ConvertDataItem(it)); } return this->mcDataItems.size(); }
/** * Push all children of the supplied item into the list * If the supplied item is invalid, push all the top-level items */ unsigned int BOM_TABLE_MODEL::GetChildren( const wxDataViewItem& aItem, wxDataViewItemArray& aChildren ) const { auto row = aItem.IsOk() ? ItemToRow( aItem ) : nullptr; // Valid row, return its children if( row ) { return row->GetChildren( aChildren ); } else { for( auto& group : Groups ) { aChildren.Add( RowToItem( &*group ) ); } return aChildren.size(); } }
unsigned int ProjectViewModel::GetChildren( const wxDataViewItem& item, wxDataViewItemArray& items ) const { ProjectViewModelNode *parentNode = static_cast< ProjectViewModelNode* >( item.GetID() ); if ( !parentNode ) { parentNode = m_RootNode.Ptr(); } if ( parentNode->GetChildren().size() < 1 ) { return 0; } uint32_t numAdded = 0; for ( S_ProjectViewModelNodeChildren::const_iterator itr = parentNode->GetChildren().begin(), end = parentNode->GetChildren().end(); itr != end; ++itr, ++numAdded ) { items.Add( wxDataViewItem( (void*) (*itr) ) ); } return numAdded; }
unsigned int TreeModelFilter::GetChildren(const wxDataViewItem& item, wxDataViewItemArray& children) const { if (_filterColumn == NULL && !_customVisibleFunc) { return _childModel->GetChildren(item, children); } // Get the raw child list wxDataViewItemArray unfilteredChildren; _childModel->GetChildren(item, unfilteredChildren); // Only add the visible ones to the result set std::for_each(unfilteredChildren.begin(), unfilteredChildren.end(), [&] (const wxDataViewItem& item) { if (ItemIsVisible(item)) { children.Add(item); } }); return children.size(); }