X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b11752c4f9e1fd4b11ba3d184246267facb3ad3..d5e71e81ecc15691d10b992867e08375c69c7b63:/src/common/datavcmn.cpp diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index 74021deb98..57c2aaecd0 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -38,13 +38,6 @@ bool operator == (const wxDataViewItem &left, const wxDataViewItem &right) return (left.GetID() == right.GetID() ); } -#ifdef __WXDEBUG__ -void wxDataViewItem::Print(const wxString& text) const -{ - wxPrintf(wxT("item %s: %lu\n"), text.GetData(), wxPtrToUInt(m_id)); -} -#endif - // --------------------------------------------------------- // wxDataViewModelNotifier // --------------------------------------------------------- @@ -233,7 +226,7 @@ void wxDataViewModel::RemoveNotifier( wxDataViewModelNotifier *notifier ) } int wxDataViewModel::Compare( const wxDataViewItem &item1, const wxDataViewItem &item2, - unsigned int column, bool ascending ) + unsigned int column, bool ascending ) const { // sort branches before leaves bool item1_is_container = IsContainer(item1); @@ -432,7 +425,7 @@ bool wxDataViewIndexListModel::HasDefaultCompare() const int wxDataViewIndexListModel::Compare(const wxDataViewItem& item1, const wxDataViewItem& item2, unsigned int WXUNUSED(column), - bool ascending) + bool ascending) const { if (m_ordered) { @@ -587,7 +580,7 @@ bool wxDataViewVirtualListModel::HasDefaultCompare() const int wxDataViewVirtualListModel::Compare(const wxDataViewItem& item1, const wxDataViewItem& item2, unsigned int WXUNUSED(column), - bool ascending) + bool ascending) const { unsigned int pos1 = wxPtrToUInt(item1.GetID()); unsigned int pos2 = wxPtrToUInt(item2.GetID()); @@ -702,6 +695,10 @@ bool wxDataViewRendererBase::StartEditing( const wxDataViewItem &item, wxRect la m_editorCtrl->PushEventHandler( handler ); + // there might be no editor control for the given item + if (!m_editorCtrl) + return false; + #if defined(__WXGTK20__) && !defined(wxUSE_GENERICDATAVIEWCTRL) handler->SetFocusOnIdle(); #else @@ -1218,6 +1215,7 @@ wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED, wxDataViewEvent ); wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDING, wxDataViewEvent ); wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDED, wxDataViewEvent ); wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_START_EDITING, wxDataViewEvent ); wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEvent ); wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEvent ); @@ -1415,7 +1413,8 @@ void wxDataViewListStore::PrependItem( const wxVector &values, wxClie RowPrepended(); } -void wxDataViewListStore::InsertItem( unsigned int row, const wxVector &values, wxClientData *data ) +void wxDataViewListStore::InsertItem( unsigned int row, const wxVector &values, + wxClientData *data ) { wxDataViewListStoreLine *line = new wxDataViewListStoreLine( data ); line->m_values = values; @@ -1424,7 +1423,7 @@ void wxDataViewListStore::InsertItem( unsigned int row, const wxVector::iterator it = m_data.begin() + row; m_data.erase( it ); @@ -1441,6 +1440,8 @@ void wxDataViewListStore::DeleteAllItems() delete line; } + m_data.clear(); + Reset( 0 ); } @@ -1935,7 +1936,7 @@ unsigned int wxDataViewTreeStore::GetChildren( const wxDataViewItem &item, wxDat } int wxDataViewTreeStore::Compare( const wxDataViewItem &item1, const wxDataViewItem &item2, - unsigned int WXUNUSED(column), bool WXUNUSED(ascending) ) + unsigned int WXUNUSED(column), bool WXUNUSED(ascending) ) const { wxDataViewTreeStoreNode *node1 = FindNode( item1 ); wxDataViewTreeStoreNode *node2 = FindNode( item2 );