本文整理汇总了C++中wxDataViewItem类的典型用法代码示例。如果您正苦于以下问题:C++ wxDataViewItem类的具体用法?C++ wxDataViewItem怎么用?C++ wxDataViewItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了wxDataViewItem类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parent
void MyMusicTreeModel::Delete( const wxDataViewItem &item )
{
MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID();
if (!node) // happens if item.IsOk()==false
return;
wxDataViewItem parent( node->GetParent() );
if (!parent.IsOk())
{
wxASSERT(node == m_root);
// don't make the control completely empty:
wxLogError( "Cannot remove the root item!" );
return;
}
// is the node one of those we keep stored in special pointers?
if (node == m_pop)
m_pop = NULL;
else if (node == m_classical)
m_classical = NULL;
else if (node == m_ninth)
m_ninth = NULL;
// first remove the node from the parent's array of children;
// NOTE: MyMusicTreeModelNodePtrArray is only an array of _pointers_
// thus removing the node from it doesn't result in freeing it
node->GetParent()->GetChildren().Remove( node );
// free the node
delete node;
// notify control
ItemDeleted( parent, item );
}
示例2: GetItemRect
wxRect wxDataViewCtrl::GetItemRect(wxDataViewItem const& item, wxDataViewColumn const* columnPtr) const
{
if (item.IsOk() && (columnPtr != NULL))
return GetDataViewPeer()->GetRectangle(item,columnPtr);
else
return wxRect();
}
示例3: wxDataViewItem
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;
}
示例4: SetClientObject
void LLDBBreakpointModel::SetClientObject(const wxDataViewItem& item, wxClientData *data)
{
LLDBBreakpointModel_Item* node = reinterpret_cast<LLDBBreakpointModel_Item*>(item.GetID());
if ( node ) {
node->SetClientObject(data);
}
}
示例5: SetClientObject
void SettersGettersModel::SetClientObject(const wxDataViewItem& item, wxClientData *data)
{
SettersGettersModel_Item* node = reinterpret_cast<SettersGettersModel_Item*>(item.GetID());
if ( node ) {
node->SetClientObject(data);
}
}
示例6: EnsureVisible
void wxDataViewCtrl::EnsureVisible(wxDataViewItem const& item, wxDataViewColumn const* columnPtr)
{
if (item.IsOk())
{
ExpandAncestors(item); // make sure that the item exists in the control
GetDataViewPeer()->EnsureVisible(item,columnPtr);
}
}
示例7: Select
void wxDataViewCtrl::Select(wxDataViewItem const& item)
{
if (item.IsOk())
{
ExpandAncestors(item); // make sure that the item exists in the control
GetDataViewPeer()->Select(item);
}
}
示例8: GetArtist
wxString MyMusicTreeModel::GetArtist( const wxDataViewItem &item ) const
{
MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID();
if (!node) // happens if item.IsOk()==false
return wxEmptyString;
return node->m_artist;
}
示例9: GetYear
int MyMusicTreeModel::GetYear( const wxDataViewItem &item ) const
{
MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID();
if (!node) // happens if item.IsOk()==false
return 2000;
return node->m_year;
}
示例10: IsContainer
bool vvStampsModel::IsContainer(
const wxDataViewItem& cItem
) const
{
// only the invisible root is a container
// none of our actual nodes are hierarchical
return !cItem.IsOk();
}
示例11: UpdateItem
void TreeListModel::UpdateItem(const wxDataViewItem& item, const wxVector<wxVariant>& data)
{
TreeListModel_Item* node = reinterpret_cast<TreeListModel_Item*>(item.GetID());
if ( node ) {
node->SetData( data );
ItemChanged( item );
}
}
示例12: Delete
void Delete(wxDataViewItem const& item) {
for (std::list<HotkeyModelCombo>::iterator it = children.begin(); it != children.end(); ++it) {
if (&*it == item.GetID()) {
model->ItemDeleted(wxDataViewItem(this), wxDataViewItem((void*)&*it));
children.erase(it);
return;
}
}
}
示例13: Delete
void Delete(wxDataViewItem const& item) {
for (auto it = children.begin(); it != children.end(); ++it) {
if (&*it == item.GetID()) {
model->ItemDeleted(wxDataViewItem(this), wxDataViewItem((void*)&*it));
children.erase(it);
return;
}
}
}
示例14: wxDataViewItem
unsigned int DIALOG_LIB_EDIT_PIN_TABLE::DataViewModel::GetChildren( const wxDataViewItem& aItem,
wxDataViewItemArray& aItems ) const
{
if( !aItem.IsOk() )
{
for( std::map<wxString, Group>::iterator i = m_Groups.begin(); i != m_Groups.end(); ++i )
if( i->second.GetCount() > 1 )
aItems.push_back( wxDataViewItem( &i->second ) );
for( std::list<Pin>::iterator i = m_Pins.begin(); i != m_Pins.end(); ++i )
if( !i->GetParent().IsOk() )
aItems.push_back( wxDataViewItem( &*i ) );
return aItems.size();
}
else
return reinterpret_cast<Item const*>( aItem.GetID() )->GetChildren( aItems );
}
示例15: wxDataViewItem
wxDataViewItem ProjectViewModel::GetParent( const wxDataViewItem& item ) const
{
if ( !item.IsOk() )
{
return wxDataViewItem( 0 );
}
ProjectViewModelNode *node = static_cast< ProjectViewModelNode* >( item.GetID() );
if ( !node
|| node == m_RootNode.Ptr()
|| !node->GetParent()
|| node->GetParent() == m_RootNode.Ptr() )
{
return wxDataViewItem( 0 );
}
return wxDataViewItem( (void*) node->GetParent() );
}