X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/276f3938c4ae6420a05ad2a7667fdf79261c33d6..a9ed8caa09bc542a2ad9f752c0a6ca63c7119747:/src/generic/treelist.cpp?ds=sidebyside diff --git a/src/generic/treelist.cpp b/src/generic/treelist.cpp index 8672b6e611..18cb193d18 100644 --- a/src/generic/treelist.cpp +++ b/src/generic/treelist.cpp @@ -549,23 +549,17 @@ public: } // Event handlers toggling the items checkbox if it was clicked. - virtual bool Activate(const wxRect& WXUNUSED(cell), - wxDataViewModel* model, - const wxDataViewItem& item, - unsigned int WXUNUSED(col)) + virtual bool ActivateCell(const wxRect& WXUNUSED(cell), + wxDataViewModel *model, + const wxDataViewItem & item, + unsigned int WXUNUSED(col), + const wxMouseEvent *mouseEvent) { - static_cast(model)->ToggleItem(item); - return true; - } - - virtual bool LeftClick(const wxPoint& pos, - const wxRect& WXUNUSED(cell), - wxDataViewModel* model, - const wxDataViewItem& item, - unsigned int WXUNUSED(col)) - { - if ( !wxRect(GetCheckSize()).Contains(pos) ) - return false; + if ( mouseEvent ) + { + if ( !wxRect(GetCheckSize()).Contains(mouseEvent->GetPosition()) ) + return false; + } static_cast(model)->ToggleItem(item); return true; @@ -764,7 +758,12 @@ const wxString& wxTreeListModel::GetItemText(Node* item, unsigned col) const // empty string we can return reference to. wxCHECK_MSG( item, m_root->m_text, "Invalid item" ); - return col == 0 ? item->m_text : item->GetColumnText(col); + // Notice that asking for the text of a column of an item that doesn't have + // any column texts is not an error so we simply return an empty string in + // this case. + return col == 0 ? item->m_text + : item->HasColumnsTexts() ? item->GetColumnText(col) + : m_root->m_text; } void wxTreeListModel::SetItemText(Node* item, unsigned col, const wxString& text) @@ -1660,7 +1659,7 @@ wxWindow* wxTreeListCtrl::GetView() const // wxTreeListEvent implementation // ============================================================================ -wxIMPLEMENT_ABSTRACT_CLASS(wxTreeListEvent, wxNotifyEvent) +wxIMPLEMENT_DYNAMIC_CLASS(wxTreeListEvent, wxNotifyEvent) #define wxDEFINE_TREELIST_EVENT(name) \ wxDEFINE_EVENT(wxEVT_COMMAND_TREELIST_##name, wxTreeListEvent)