X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8c2654ce3d3db6e87cc0a33f3f38eb2f5bf95134..4b14a2f79bbabc128c72cba399f11e394aa656b2:/src/common/datavcmn.cpp?ds=sidebyside diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index 386f529720..8aa0657ce5 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -27,6 +27,7 @@ #endif #include "wx/spinctrl.h" +#include "wx/choice.h" #include "wx/imaglist.h" const char wxDataViewCtrlNameStr[] = "dataviewCtrl"; @@ -37,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 // --------------------------------------------------------- @@ -232,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); @@ -431,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) { @@ -586,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()); @@ -701,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 @@ -893,16 +891,6 @@ const wxDataViewModel* wxDataViewCtrlBase::GetModel() const return m_model; } -bool wxDataViewCtrlBase::EnableDragSource( const wxDataFormat &WXUNUSED(format) ) -{ - return false; -} - -bool wxDataViewCtrlBase::EnableDropTarget( const wxDataFormat &WXUNUSED(format) ) -{ - return false; -} - void wxDataViewCtrlBase::ExpandAncestors( const wxDataViewItem & item ) { if (!m_model) return; @@ -1219,27 +1207,28 @@ wxDataViewCtrlBase::InsertColumn( unsigned int WXUNUSED(pos), wxDataViewColumn * IMPLEMENT_DYNAMIC_CLASS(wxDataViewEvent,wxNotifyEvent) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING, wxDataViewEvent ) -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_EDITING_DONE, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING, wxDataViewEvent ); +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 ); -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE, wxDataViewEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_DROP, wxDataViewEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE, wxDataViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_DATAVIEW_ITEM_DROP, wxDataViewEvent ); // ------------------------------------- // wxDataViewSpinRenderer @@ -1309,7 +1298,7 @@ bool wxDataViewSpinRenderer::GetValue( wxVariant &value ) const // wxDataViewChoiceRenderer // ------------------------------------- -#if defined(wxHAS_GENERIC_DATAVIEWCTRL) || defined(__WXMAC__) +#if defined(wxHAS_GENERIC_DATAVIEWCTRL) || defined(__WXOSX_CARBON__) wxDataViewChoiceRenderer::wxDataViewChoiceRenderer( const wxArrayString& choices, wxDataViewCellMode mode, int alignment ) : wxDataViewCustomRenderer(wxT("string"), mode, alignment ) @@ -1424,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; @@ -1433,7 +1423,7 @@ void wxDataViewListStore::InsertItem( unsigned int row, const wxVector::iterator it = m_data.begin() + row; m_data.erase( it ); @@ -1450,6 +1440,8 @@ void wxDataViewListStore::DeleteAllItems() delete line; } + m_data.clear(); + Reset( 0 ); } @@ -1944,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 );