本文整理汇总了C++中wxDataViewItem::GetID方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDataViewItem::GetID方法的具体用法?C++ wxDataViewItem::GetID怎么用?C++ wxDataViewItem::GetID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxDataViewItem
的用法示例。
在下文中一共展示了wxDataViewItem::GetID方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateItem
void SettersGettersModel::UpdateItem(const wxDataViewItem& item, const wxVector<wxVariant>& data)
{
SettersGettersModel_Item* node = reinterpret_cast<SettersGettersModel_Item*>(item.GetID());
if ( node ) {
node->SetData( data );
ItemChanged( item );
}
}
示例2: 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;
}
示例3: 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;
}
示例4: 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;
}
}
}
示例5: 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;
}
}
}
示例6: IsContainer
virtual bool IsContainer(const wxDataViewItem &item) const
{
// the invisble root node can have children
if (!item.IsOk())
return true;
ReplayProvider* provider = (ReplayProvider*)item.GetID();
return !provider->provider.empty();
}
示例7: wxDataViewItem
wxDataViewItem GNC::GUI::AcquisitionTableModel::GetParent( const wxDataViewItem &item ) const
{
if (!item.IsOk()) {
return wxDataViewItem(0);
}
//if it's a study...
AcquisitionNode* pNode = (AcquisitionNode*)(item.GetID());
return wxDataViewItem( (void*) pNode->GetParent() );
}
示例8: IsContainer
bool MyMusicTreeModel::IsContainer( const wxDataViewItem &item ) const
{
// the invisble root node can have children
// (in our model always "MyMusic")
if (!item.IsOk())
return true;
MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID();
return node->IsContainer();
}
示例9: IsEnabled
bool MyMusicTreeModel::IsEnabled( const wxDataViewItem &item,
unsigned int col ) const
{
wxASSERT(item.IsOk());
MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID();
// disable Beethoven's ratings, his pieces can only be good
return !(col == 3 && node->m_artist.EndsWith("Beethoven"));
}
示例10: New
wxDataViewItem HotkeyDataViewModel::New(wxDataViewItem item) {
if (!item.IsOk()) return wxDataViewItem();
if (!IsContainer(item))
item = GetParent(item);
HotkeyModelCategory *ctx = static_cast<HotkeyModelCategory*>(item.GetID());
wxVariant name;
ctx->GetValue(name, 0);
return ctx->AddChild(Combo(from_wx(name.GetString()), "", std::vector<std::string>()));
}
示例11: IsContainer
bool ArtifactViewModel::IsContainer(const wxDataViewItem &item) const
{
if (!item) {
// Root has children
return true;
}
// Artifacts may have children
const auto& artifact = *reinterpret_cast<Artifact*>(item.GetID());
return !artifact.GetInfusedArtifacts().empty();
}
示例12: GetValue
void DownloadDataViewModel::GetValue(wxVariant& variant,
const wxDataViewItem& item, unsigned int column) const {
DownloadInfo * downloadInfo = static_cast<DownloadInfo*>(item.GetID());
wxASSERT(downloadInfo != nullptr);
const int MB = 1024 * 1024;
switch(column)
{
case NAME:
variant = wxVariant(downloadInfo->GetName());
break;
case STATUS:
if (downloadInfo->IsFinished()) {
variant = wxVariant(wxString(_("complete")));
} else {
variant = wxVariant(wxString(_("downloading")));
}
break;
case P_COMPLETE:
if (downloadInfo->GetSize() < 1) { /* Prevent from division by zero */
variant = wxVariant(wxString(_T("Indeterminate")));
} else {
variant = wxVariant(wxString::Format(wxT("%i%%"), downloadInfo->GetProgressPercent()));
}
break;
case SPEED:
//TODO: implement
variant = wxVariant(wxEmptyString);
break;
case ETA:
//TODO: implement
variant = wxVariant(wxEmptyString);
break;
case FILESIZE:
variant = wxVariant(downloadInfo->GetSize() > 0 ? wxString::Format(wxT("%i"), downloadInfo->GetSize() / MB) : wxString(_T("0")));
break;
case DEFAULT_COLUMN:
//Do nothing
break;
default:
wxASSERT(false);
break;
}
}
示例13: HasChildren
bool TreeListModel::HasChildren(const wxDataViewItem& item) const
{
if ( !item.IsOk() )
return false;
TreeListModel_Item* node = reinterpret_cast<TreeListModel_Item*>(item.GetID());
if ( !node ) {
return false;
}
return !node->GetChildren().empty();
}
示例14: IsContainer
bool ProjectViewModel::IsContainer( const wxDataViewItem& item ) const
{
// root node can have children
if ( !item.IsOk() )
{
return true;
}
ProjectViewModelNode *node = static_cast< ProjectViewModelNode* >( item.GetID() );
return node ? node->IsContainer() : false;
}
示例15:
wxVector<wxVariant> TreeListModel::GetItemColumnsData(const wxDataViewItem& item) const
{
if ( !item.IsOk() )
return wxVector<wxVariant>();
TreeListModel_Item* node = reinterpret_cast<TreeListModel_Item*>(item.GetID());
if ( !node ) {
return wxVector<wxVariant>();
}
return node->GetData();
}