bool wxGxContentView::AddObject(wxGxObject* const pObject) { wxCriticalSectionLocker locker(m_CritSectCont); if(pObject == NULL) return false; //check doubles for(long i = 0; i < GetItemCount(); ++i) { LPITEMDATA pItemData = (LPITEMDATA)GetItemData(i); if(pItemData == NULL) continue; if(pItemData->nObjectID == pObject->GetId()) return false; } //wxLogDebug(wxT("wxGxContentView::AddObject %d '%s'"), pObject->GetId(), pObject->GetFullName()); IGxObjectUI* pObjUI = dynamic_cast<IGxObjectUI*>(pObject); wxIcon icon_small, icon_large; if(pObjUI != NULL) { icon_small = pObjUI->GetSmallImage(); icon_large = pObjUI->GetLargeImage(); } int pos = GetIconPos(icon_small, icon_large); LPITEMDATA pData = new _itemdata; pData->nObjectID = pObject->GetId(); pData->iImageIndex = pos; wxString sName; if(m_pCatalog->GetShowExt()) sName = pObject->GetName(); else sName = pObject->GetBaseName(); wxString sType = pObject->GetCategory(); long ListItemID = InsertItem(0, sName, pos); if(m_current_style == enumGISCVReport) { SetItem(ListItemID, 1, sType); IGxDataset* pDSet = dynamic_cast<IGxDataset*>(pObject); if(pDSet) { wxCriticalSectionLocker locker(m_CritSectFillMeta); m_anFillMetaIDs.Add(pObject->GetId()); } } SetItemPtrData(ListItemID, (wxUIntPtr) pData); return true; }
void CFriendListCtrl::UpdateFriend(CFriend* toupdate) { if (!toupdate) { return; } sint32 itemnr = FindItem(-1, reinterpret_cast<wxUIntPtr>(toupdate)); if (itemnr == -1) { itemnr = InsertItem(GetItemCount(), wxEmptyString); SetItemPtrData(itemnr, reinterpret_cast<wxUIntPtr>(toupdate)); } SetItem(itemnr, 0, toupdate->GetName()); SetItemTextColour(itemnr, toupdate->GetLinkedClient().IsLinked() ? *wxBLUE : *wxBLACK); }
void CSharedFilesCtrl::DoShowFile(CKnownFile* file, bool batch) { wxUIntPtr ptr = reinterpret_cast<wxUIntPtr>(file); if ((!batch) && (FindItem(-1, ptr) > -1)) { return; } const long insertPos = (batch ? GetItemCount() : GetInsertPos(ptr)); long newitem = InsertItem(insertPos, wxEmptyString); SetItemPtrData( newitem, ptr ); if (!batch) { ShowFilesCount(); } }
void ChangeIconDialog::InstIconListCtrl::UpdateItems() { this->ClearAll(); auto iconList = InstIconList::Instance(); wxImageList *imgList = iconList->CreateImageList(); AssignImageList(imgList, wxIMAGE_LIST_NORMAL); SetImageList(imgList, wxIMAGE_LIST_SMALL); const InstIconMap &iconMap = iconList->GetIconMap(); int i = 0; for (InstIconMap::const_iterator iter = iconMap.begin(); iter != iconMap.end(); ++iter) { wxString key = iter->first; auto & icon = iter->second; InsertItem(i, icon.m_name, i); SetItemPtrData(i, (wxUIntPtr) &icon); i++; } SortItems(IconSortPredicate,0); }
bool ListCtrlImproved::SetItemClientData(long item, wxClientData* clientData) { return SetItemPtrData(item, (wxUIntPtr) clientData); }