本文整理汇总了C++中wxDataViewItemArray::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDataViewItemArray::Add方法的具体用法?C++ wxDataViewItemArray::Add怎么用?C++ wxDataViewItemArray::Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxDataViewItemArray
的用法示例。
在下文中一共展示了wxDataViewItemArray::Add方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetChildren
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;
}
示例2: GetChildren
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;
}
示例3: GetChildren
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;
}
示例4: GetChildren
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();
}
示例5: wxDataViewItem
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();
}
}
示例6: GetChildren
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();
}
示例7:
//=====================================================================================
/*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();
}
示例8: GetChildren
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();
}
示例9: GetChildren
/**
* 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();
}
}
示例10: GetChildren
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;
}
示例11: GetChildren
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();
}