bool wxOSXDataViewModelNotifier::ValueChanged(wxDataViewItem const& item, unsigned int col) { wxCHECK_MSG(item.IsOk(), false,"Passed item is invalid."); wxCHECK_MSG(GetOwner() != NULL,false,"Owner not initialized."); if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(item),item)) { wxDataViewEvent dataViewEvent(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED,m_DataViewCtrlPtr->GetId()); dataViewEvent.SetEventObject(m_DataViewCtrlPtr); dataViewEvent.SetColumn(col); dataViewEvent.SetItem(item); // send the equivalent wxWidget event: m_DataViewCtrlPtr->HandleWindowEvent(dataViewEvent); AdjustAutosizedColumns(); // done return true; } else return false; }
bool wxOSXDataViewModelNotifier::ItemChanged(wxDataViewItem const& item) { wxCHECK_MSG(item.IsOk(), false,"Changed item is invalid."); wxCHECK_MSG(GetOwner() != NULL,false,"Owner not initialized."); if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(item),item)) { // sent the equivalent wxWidget event: wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_VALUE_CHANGED,m_DataViewCtrlPtr->GetId()); dataViewEvent.SetEventObject(m_DataViewCtrlPtr); dataViewEvent.SetItem(item); // sent the equivalent wxWidget event: m_DataViewCtrlPtr->HandleWindowEvent(dataViewEvent); // row height may have to be adjusted: AdjustRowHeight(item); AdjustAutosizedColumns(); // done return true; } else return false; }
bool wxOSXDataViewModelNotifier::ItemsChanged(wxDataViewItemArray const& items) { size_t const noOfItems = items.GetCount(); wxDataViewEvent dataViewEvent(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED,m_DataViewCtrlPtr->GetId()); dataViewEvent.SetEventObject(m_DataViewCtrlPtr); for (size_t indexItem=0; indexItem<noOfItems; ++indexItem) if (m_DataViewCtrlPtr->GetDataViewPeer()->Update(GetOwner()->GetParent(items[indexItem]),items[indexItem])) { // send for all changed items a wxWidget event: dataViewEvent.SetItem(items[indexItem]); m_DataViewCtrlPtr->HandleWindowEvent(dataViewEvent); } else return false; // if this location is reached all items have been updated: AdjustRowHeights(items); AdjustAutosizedColumns(); // done: return true; }